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

Mikhail Zaturenskiy mzaturenskiy at shoppertrak.com
Wed Jun 24 19:23:58 CEST 2009


Hello,

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):


U-Boot 2009.03-svn8591 (Jun 24 2009 - 10:24:20)

CPU:   MPC885ZPnn at 100 MHz [40.0...133.0 MHz]
        8 kB I-Cache 8 kB D-Cache FEC present
clock 100000000Hz != 300000Hz
Board: EP88xC 1.1  CPLD revision 2
DRAM:  64 MB
Top of RAM usable for U-Boot at: 04000000
Reserving 187k for U-Boot at: 03fd1000
Reserving 384k for malloc() at: 03f71000
Reserving 60 Bytes for Board Info at: 03f70fc4
Reserving 56 Bytes for Global Data at: 03f70f8c
Stack Pointer at: 03f70f68
New Stack Pointer is: 03f70f68
Now running in RAM - U-Boot at: 03fd1000
FLASH: flash detect cfi
fwc addr fc000000 cmd f0 f0 8bit x 8 bit
fwc addr fc000000 cmd ff ff 8bit x 8 bit
fwc addr fc000055 cmd 98 98 8bit x 8 bit
is= cmd 51(Q) addr fc000010 is= 30 51
fwc addr fc000555 cmd 98 98 8bit x 8 bit
is= cmd 51(Q) addr fc000010 is= 30 51
fwc addr fc000000 cmd f0 f0f0 16bit x 8 bit
fwc addr fc000000 cmd ff ffff 16bit x 8 bit
fwc addr fc0000aa cmd 98 9898 16bit x 8 bit
is= cmd 51(Q) addr fc000020 is= 3234 5151
fwc addr fc000aaa cmd 98 9898 16bit x 8 bit
is= cmd 51(Q) addr fc000020 is= 3234 5151
fwc addr fc000000 cmd f0 00f0 16bit x 16 bit
fwc addr fc000000 cmd ff 00ff 16bit x 16 bit
fwc addr fc0000aa cmd 98 0098 16bit x 16 bit
is= cmd 51(Q) addr fc000020 is= 3234 0051
fwc addr fc000aaa cmd 98 0098 16bit x 16 bit
is= cmd 51(Q) addr fc000020 is= 3234 0051
fwc addr fc000000 cmd f0 f0f0f0f0 32bit x 8 bit
fwc addr fc000000 cmd ff ffffffff 32bit x 8 bit
fwc addr fc000154 cmd 98 98989898 32bit x 8 bit
is= cmd 51(Q) addr fc000040 is= 00510051 51515151
fwc addr fc001554 cmd 98 98989898 32bit x 8 bit
is= cmd 51(Q) addr fc000040 is= 00510051 51515151
fwc addr fc000000 cmd f0 00f000f0 32bit x 16 bit
fwc addr fc000000 cmd ff 00ff00ff 32bit x 16 bit
fwc addr fc000154 cmd 98 00980098 32bit x 16 bit
is= cmd 51(Q) addr fc000040 is= 00510051 00510051
is= cmd 52(R) addr fc000044 is= 00520052 00520052
is= cmd 59(Y) addr fc000048 is= 00590059 00590059
device interface is 2
found port 4 chip 2 port 32 bits chip 16 bits
00 : 51 52 59 02 00 40 00 00 00 00 00 27 36 00 00 07  QRY.. at .....'6...
10 : 07 0a 00 03 05 04 00 18 02 00 05 00 01 7f 00 00  ................
20 : 02 00 00 00 00 00 00 00 00 00 00 00 00 12 cc 27  ...............'
fwc addr fc000000 cmd f0 00f000f0 32bit x 16 bit
fwc addr fc001554 cmd aa 00aa00aa 32bit x 16 bit
fwc addr fc000aa8 cmd 55 00550055 32bit x 16 bit
fwc addr fc001554 cmd 90 00900090 32bit x 16 bit
fwc addr fc000000 cmd f0 00f000f0 32bit x 16 bit
fwc addr fc000154 cmd 98 00980098 32bit x 16 bit
manufacturer is 2
manufacturer id is 0x1
device id is 0x227e
device id2 is 0x0
cfi version is 0x3133
size_ratio 2 port 32 bits chip 16 bits
found 1 erase regions
erase region 0: 0x0200007f
erase_region_count = 128 erase_region_size = 131072
fwc addr fc000000 cmd f0 00f000f0 32bit x 16 bit
flash_protect ON: from 0xFC000000 to 0xFC028FFF
protect on 0
flash_protect ON: from 0xFC040000 to 0xFC07FFFF
protect on 1
32 MB
env_relocate[233] offset = 0x7fd1000
env_relocate[254] malloced ENV at 03f71008
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
U-Boot relocated to 03fd1000
Net:   FEC ETHERNET, FEC2 ETHERNET
### main_loop entered: bootdelay=2

### main_loop: bootcmd="bootm fc080000"
Hit any key to stop autoboot:  0
## Current stack ends at 0x03f70d50
*  kernel: cmdline image address = 0xfc080000
Wrong Image Format for bootm command
ERROR: can't get kernel image!
=> setenv ipaddr 10.0.54.150
=> setenv serverip 10.0.54.129
=> setenv ethaddr 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
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)
## 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?

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

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?

4. Anything else in that output looks funky?

I looked at 
"http://ozlabs.org/pipermail/linuxppc-embedded/2005-August/019548.html" 
and 
"http://ozlabs.org/pipermail/linuxppc-embedded/2007-August/027742.html" 
but they don't follow up on the solutions so I don't know if those 
issues have been resolved.

Any suggestions are appreciated. Thanks!

Mikhail Zaturenskiy


More information about the U-Boot mailing list