[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