ubldr.bin on sheevaplug (11-STABLE)

Ian Lepore ian at freebsd.org
Sun Mar 12 14:54:29 UTC 2017


On Sun, 2017-03-12 at 09:52 +0100, Ronald Klop wrote:
> Hello,
> 
> I just build a new 11-STABLE for my Sheevaplug. (BTW, it feels a lot
> more  
> stable the last two or three months. I can still create UFS
> corruption on  
> my usb-stick, but it does not crash that often anymore.)
> 
> Back to the subject. I just tried ubldr.bin again. Previous attempts
> gave  
> no output and just hang. But now I get an error.
> 
> This  is what I did:
> ----------------------------------------------------------- START
> # 09:40:06 root at sheeva2 [/boot]
> nandtool erase dev=/dev/gnand0s.fbsd-boot
> 
> # 09:40:15 root at sheeva2 [/boot]
> dd if=ubldr.bin of=/dev/gnand0s.fbsd-boot bs=2k conv=sync
> 120+1 records in
> 121+0 records out
> 247808 bytes transferred in 0.251712 secs (984489 bytes/sec)
> 
> # 09:40:43 root at sheeva2 [/boot]
> shutdown -r now
> <... snip ...>
> Rebooting...
> þ
>           __  __                      _ _
>          |  \/  | __ _ _ ____   _____| | |
>          | |\/| |/ _` | '__\ \ / / _ \ | |
>          | |  | | (_| | |   \ V /  __/ | |
>          |_|  |_|\__,_|_|    \_/ \___|_|_|
>   _   _     ____              _
> > 
> > > 
> > > > 
> > > > > 
> > > > >   | __ )  ___   ___ | |_
> > > > > ___|  _ \ / _ \ / _ \| __|
> > > _| |___| |_) | (_) | (_) | |_
>   \___/    |____/ \___/ \___/ \__|
>   ** MARVELL BOARD: SHEEVA PLUG LE
> 
> U-Boot 1.1.4 (Jul 19 2009 - 16:03:28) Marvell version: 3.4.19
> 
> U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CFB00
> 
> Soc: 88F6281 A0 (DDR2)
> CPU running @ 1200Mhz L2 running @ 400Mhz
> SysClock = 400Mhz , TClock = 200Mhz
> 
> DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
> DRAM CS[0] base 0x00000000   size 256MB
> DRAM CS[1] base 0x10000000   size 256MB
> DRAM Total size 512MB  16bit width
> Addresses 8M - 0M are saved for the U-Boot usage.
> Mem malloc Initialization (8M - 7M): Done
> NAND:512 MB
> Flash:  0 kB
> 
> CPU : Marvell Feroceon (Rev 1)
> 
> Streaming disabled
> Write allocate disabled
> 
> 
> USB 0: host mode
> PEX 0: interface detected no Link.
> Net:   egiga0 [PRIME], egiga1
> Hit any key to stop autoboot:  0
> 
> NAND read: device 0 offset 0x200000, size 0x600000
>   6291456 bytes read: OK
> ## Starting application at 0x00900000 ...
> data abort
> pc : [<0092a0c0>]	   lr : [<00919fe4>]
> sp : 005fe43c  ip : 0093a950	 fp : 005fe454
> r10: 00000000  r9 : 0093de48	 r8 : 00938ce8
> r7 : 01badab1  r6 : 00938ceb	 r5 : 00938ce8  r4 : 00000000

The clue to why this doesn't work is in the above line:  01badab1...
read that as "01 bad abi", ubldr failed on the first check of whether
u-boot provided the interface needed to do console and disk IO.

The only way to fix this is to use a custom-built u-boot that has the
CONFIG_API option set.  I've never tried that on an armv4/5 system, but
it should work.

-- Ian

> r3 : 00000000  r2 : 00938ce8	 r1 : 00000001  r0 : 0093bfb8
> Flags: Nzcv  IRQs off  FIQs off  Mode SVC_32
> Resetting CPU ...
> 
> ----------------------------------------------------------- END
> 
> The commands are the same as when I install kernel.bin. I only
> substituted  
> the if= value of dd with ubldr.bin.
> 
> Any ideas?
> Can I provide more information?
> 
> Regards,
> Ronald.



More information about the freebsd-arm mailing list