[U-Boot-Users] Kernel hangs after decompressing.

DavidHo at nanometrics.ca DavidHo at nanometrics.ca
Fri Sep 12 16:32:38 CEST 2003


Hi Wolfgang,

>> I copied the bd_info structure from u-boot.h to rpxclassic.h in the
kernel

> This is wrong. You should include ppcboot.h in rpxclassic.h.

Okay, I originally copied the structure from u-boot.h to ppcboot.h.  But
seeing that another bd_t structure was declared in rpxclassic.h, I decided
to replace the structure in rpxclassic.h.  Your approach is definitely more
elegant.  Made the change to rpxclassic.h.

> This cannot work. The powerpc kernel requires load address  ==  entry
> point = 0x0000.

Correct me if I'm wrong, I thought the kernel can be booted from any
location in memory, the startup code in the i386 tree can boot the kernel
from low and high memory.  I should've been more faithful to the
documentation.  =)

I set the kenrel load address back to 0x0000.  I had to move the tftp load
address to 0x400000 so that it had enough space to decompress the kernel to
low memory.  That was the problem I had before because by default tftp
loads uImage to 0x100000.  But I'm back to the same problem again that as
soon as u-boot passes control to the kernel, it hangs without spitting a
single meaningful message to the console.

I really need someone to tell me what could possibly go wrong here. =)
I switched on the debug messages in hope you might spot something
interesting there.

>> I made the uImage from vmlinux in the top level directory and the
>> vmlinux.gz from arch/ppc but they hanged at the same point.

> Did you read the README? You should.

I used the very first method shown in the README to build the uImage from
vmlinux.  I converted the it to a binary file, gzipped it and used mkimage
to build the final image file.

I then used the typical way of building the image that makes use of the
vmlinux.gz in arch/ppc/boot/images and run mkimage directly on it.  The
only thing I haven't tried is building one from an uncompressed image.

Regards,
David Ho



U-Boot 0.4.0 (Sep 11 2003 - 14:44:53)

CPU:   XPC860xxZPnnD4 at 50 MHz: 16 kB I-Cache 8 kB D-Cache FEC present
Board: EP860
I2C:   ready
DRAM:  16 MB
Top of RAM usable for U-Boot at: 01000000
Reserving 130k for U-Boot at: 00fdf000
Reserving 132k for malloc() at: 00fbe000
Reserving 64 Bytes for Board Info at: 00fbdfc0
Reserving 44 Bytes for Global Data at: 00fbdf94
Stack Pointer at: 00fbdf78
New Stack Pointer is: 00fbdf78
Now running in RAM - U-Boot at: 00fdf000
FLASH: 16 MB
In:    serial
Out:   serial
Err:   serial
U-Boot relocated to 00fdf000
Net:   FEC ETHERNET
### main_loop entered: bootdelay=5

### main_loop: bootcmd="tftpboot; setenv bootargs root=/dev/nfs rw nfsroot
=$(ser
verip):$(rootpath) ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):
$(hostname):
:off; bootm"
Hit any key to stop autoboot:  0
=> tftp
Trying FEC ETHERNET
TFTP from server 199.71.138.8; our IP address is 199.71.138.25
Filename 'uImage'.
Load address: 0x400000
Loading: #################################################################
         #################################################################
         ###########################################
done
Bytes transferred = 883653 (d7bc5 hex)
=> bootm
## Booting image at 00400000 ...
   Image Name:   Linux Kernel Image
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    883589 Bytes = 862.9 kB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Current stack ends at 0x00FBDBF0 => set upper limit to 0x00800000
## cmdline at 0x007FFF00 ... 0x007FFF61
bd address  = 0x00FBDFC0
memstart    = 0x00000000
memsize     = 0x01000000
flashstart  = 0xFC000000
flashsize   = 0x01000000
flashoffset = 0x00000000
sramstart   = 0x00000000
sramsize    = 0x00000000
immr_base   = 0xFA200000
bootflags   = 0x00000001
intfreq     =     50 MHz
busfreq     =     50 MHz
ethaddr     = 00:10:EC:80:3B:49
IP addr     = 199.71.138.25
baudrate    =   9600 bps
No initrd
## Transferring control to Linux (at address 00000000) ...







More information about the U-Boot mailing list