[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