[U-Boot-Users] mpc83xx boot error

Jerry Van Baren
2008-02-28T12:36:16Z

Marc Leeman wrote:
>>> * You need to use version 17 (simply don't specify -V 0x10).
>>> * As Kim mentioned, you need -S padding to allow extra space for the
>>> /chosen node.
>>> * Since you burned the blob into flash, bootm has to relocate the blob
>>> to RAM. This is what is giving you the "fdt move failed" error in
>>> your first example, it is moving the blob to 0x007fe000 - is this
>>> a valid address (seems like it should be)? Perhaps it is simply
>>> because you didn't pad it? Perhaps we let a bug slip in?
>>>
>> Oops, I missed the -R 8 that Kim recommended (very correctly). This
>> makes more reserved map entries which is important as well as the -S
>> extra space.
>
> I don't think this fully describes it, I just came across the same error
> when porting from 1.3.1 to 1.3.2-rc2:
>
> dtc -I dts -O dtb -S 0x3000 -R 8
>
> with dtc 1.1.0
>
> still gives the following when booting u-boot-1.3.2-rc2:
>
> ## Booting image at fe700000 ...
> Image Name: Linux-2.6.24
> Created: 2008-02-25 15:38:37 UTC
> Image Type: PowerPC Linux Kernel Image (gzip compressed)
> Data Size: 930624 Bytes = 908.8 kB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> Uncompressing Kernel Image ... OK
> Booting using the fdt at 0xfefe0000
> Loading Device Tree to 007fe000, end 007ff4e1 ... OK
> WARNING: could not create /chosen FDT_ERR_NOSPACE.
> ERROR: /chosen node create failed - must RESET the board to recover.
> Resetting the board.

Hi Marc,

Hmmm, this is an interesting line:
> Loading Device Tree to 007fe000, end 007ff4e1 ... OK
I have not looked who generates this printout, but it seems to indicate
the fdt is 0x14e1 in length.

Is the "interesting line" indicating that the blob got moved *and
truncated*? If it is being truncated, that would be why it runs out of
space creating the /chosen node.

What sort of image/combination are you booting? I'm booting a separate
linux image, fdt blob, and RAM disk and my boot sequence looks
different, including not having the "Loading Device Tree..." line.

=> tftp $ramdiskaddr $ramdiskfile ; tftp $fdtaddr $fdtfile ; tftp
$loadaddr $bootfile
UEC: PHY is Marvell 88E11x1 (1410cc2)
FSL UEC0: Full Duplex
switching to rgmii 100
FSL UEC0: Speed 100BT
FSL UEC0: Link is up
Using FSL UEC0 device
TFTP from server 192.168.47.8; our IP address is 192.168.47.214
Filename 'mpc8360emds/uRamdisk'.
Load address: 0x1000000
Loading: T #################################################################
########################################
done
Bytes transferred = 1531127 (175cf7 hex)
Using FSL UEC0 device
TFTP from server 192.168.47.8; our IP address is 192.168.47.214
Filename 'mpc8360emds/mpc836x_mds.dtb'.
Load address: 0x400000
Loading: #
done
Bytes transferred = 12288 (3000 hex)
Using FSL UEC0 device
TFTP from server 192.168.47.8; our IP address is 192.168.47.214
Filename 'mpc8360emds/uImage'.
Load address: 0x200000
Loading: #################################################################
##########################
done
Bytes transferred = 1329289 (144889 hex)
=> bootm $loadaddr $ramdiskaddr $fdtaddr
## Booting image at 00200000 ...
Image Name: Linux-2.6.25-rc3-00001-g5fb74e4-
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1329225 Bytes = 1.3 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Loading RAMDisk Image at 01000000 ...
Image Name: Simple Embedded Linux Framework
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1531063 Bytes = 1.5 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using the fdt at 0x400000
Loading Ramdisk to 0fe2b000, end 0ffa0cb7 ... OK
Using MPC836x MDS machine description
Linux version 2.6.25-rc3-00001-g5fb74e4-dirty (vanbaren at dellserver) (gcc
version
4.0.0 (DENX ELDK 4.1 4.0.0)) #1 Mon Feb 25 20:38:46 EST 2008
Found initrd at 0xcfe2b000:0xcffa0cb7
console [udbg0] enabled
setup_arch: bootmem
mpc836x_mds_setup_arch()
:
[snip]
:
root:~>

Best regards,
gvb