[U-Boot] Trouble "booting using board info"

Detlev Zundel dzu at denx.de
Thu Jun 25 13:40:43 CEST 2009


Hi Mikhail,

> I'm trying to load Linux from U-Boot. I'm pretty new at this so there 
> may be some obvious things wrong with what I'm doing.
> I am using ELDK 4.2 and U-Boot 2009.03 on an EP88xC rev1.1 board (MPC885 
> cpu) and the linux kernel sources obtained from instructions at 
> "http://www.denx.de/wiki/view/DULG/LinuxConfiguration#Section_6.1.".
>
> Below is my output as it currently stands (with lots of debug output):

Please disable unneccessary debug output the next time - this makes it
hard to see the salient things - thanks.

>
>
> U-Boot 2009.03-svn8591 (Jun 24 2009 - 10:24:20)
>
> CPU:   MPC885ZPnn at 100 MHz [40.0...133.0 MHz]

[...]

> => setenv ethaddr 00-e0-86-0c-84-fd
> eth_set_enetaddr(num=0, addr=00-e0-86-0c-84-fd)

Wow, our parser groks '-' as delimiters?  Didn't know that ;)

> Setting new HW address on FEC ETHERNET
> New Address is             00:E0:86:0C:84:FD
> eth_set_enetaddr(num=0, addr=00-e0-86-0c-84-fd)
> Setting new HW address on FEC ETHERNET
> New Address is             00:E0:86:0C:84:FD
> => tftp 400000 ep88x_uimage
> Trying FEC ETHERNET
> Using FEC ETHERNET device
> TFTP from server 10.0.54.129; our IP address is 10.0.54.150
> Filename 'ep88x_uimage'.
> Load address: 0x400000
> Loading: #################################################################
>           ########
> done
> Bytes transferred = 1057401 (102279 hex)
> => bootm 400000
> ## Current stack ends at 0x03f70d60
> *  kernel: cmdline image address = 0x00400000
> ## Booting kernel from Legacy Image at 00400000 ...
>     Image Name:   Linux-2.6.30-rc2-01402-gd4e2f68
>     Image Type:   PowerPC Linux Kernel Image (gzip compressed)
>     Data Size:    1057337 Bytes =  1 MB
>     Load Address: 00000000
>     Entry Point:  00000000
>     Verifying Checksum ... OK
>     kernel data at 0x00400040, len = 0x00102239 (1057337)

Ok, 2.6.30 so you definitely need a fdt for the kernel.  Either pass it
through U-Boot or use a cuImage wrapper in the Linux kernel.

> ## No init Ramdisk
>     ramdisk start = 0x00000000, ramdisk end = 0x00000000
>     Uncompressing Kernel Image ... OK
>     kernel loaded at 0x00000000, end = 0x0022421c
> ## cmdline at 0x007fff00 ... 0x007fff36
> ## kernel board info at 0x007ffec0
> bd address  = 0x03F70FC4
> memstart    = 0x00000000
> memsize     = 0x00000000
> flashstart  = 0xFC000000
> flashsize   = 0x02000000
> flashoffset = 0x00029000
> sramstart   = 0x00000000
> sramsize    = 0x00000000
> immr_base   = 0xF0000000
> bootflags   = 0x00000001
> intfreq     =    100 MHz
> busfreq     =     50 MHz
> ethaddr     = 00:E0:86:0C:84:FD
> IP addr     = 10.0.54.150
> baudrate    =   9600 bps
> ## initrd_high = 0xffffffff, copy_to_ram = 1
>     ramdisk load start = 0x00000000, ramdisk load end = 0x00000000
> ## Transferring control to Linux (at address 00000000) ...
>     Booting using board info...
>
>
> Nothing happens after this. I know I still have to make a ramdisk image 
> to use as the root filesystem. My questions for now are:
>
> 1. Should I be getting any more console output given what I have so far? 
> Or is something wrong?

You should see more output indeed - the missing rootfilesystem stops the
process only after all of the kernel is initialized.

> 2. I am concerned that "memsize = 0x00000000", is this normal?

Actually it looks suspicious - although I just checked on a tqm5200 and
its zero there as well - so I'd postpone debugging this.

> 3. I tried creating and using a FDT using instructions on 
> "http://www.denx.de/wiki/view/DULG/LinuxFDTBlob", loading it at 
> 0x00650000 and using "bootm 400000 - 650000", but the resulting output 
> was pretty much identical. Is that normal?

Judiging from include/configs/EP88x.h you do not have FDT support
enabled in your U-Boot at all (-> CONFIG_OF_LIBFDT).  That the output
stays the same also hints in this direction, as otherwise you'll see
something like this:

## Flattened Device Tree blob at 00600000
   Booting using the fdt blob at 0x600000
   Uncompressing Kernel Image ... OK

So with your current U-Boot you would need to use the Linux wrappers.  I
would suggest that you update the configuration to include this.

As I perceive it, your biggest task however will be to come up with a
correct FDT for Linux.  This is out of scope of this ML and better
carried to the linuxppc ML.

Cheers
  Detlev

-- 
Q:  What does FAQ stand for?
A:  We are Frequently Asked this Question, and we have no idea.
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de


More information about the U-Boot mailing list