[U-Boot-Users] Noob question regarding uncompressed kernel image

Hi
I'm trying to make my board load an uncompressed kernel (I'm playing with boot times). I make the image like this:
mkimage -A ppc -O linux -T kernel -d vmlinux -C none -n "uImage" uImage
Unfortunately my board boots like this:
Hit any key to stop autoboot: 0 Using FEC ETHERNET device TFTP from server 192.168.1.70; our IP address is 192.168.1.75 Filename 'mpc5121/uImage'. Load address: 0x1000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################# done Bytes transferred = 4242439 (40bc07 hex) Using FEC ETHERNET device TFTP from server 192.168.1.70; our IP address is 192.168.1.75 Filename 'mpc5121/mpc5121ads.dtb'. Load address: 0x3000000 Loading: ### done Bytes transferred = 12288 (3000 hex) ## Booting image at 01000000 ... Image Name: uImage Image Type: PowerPC Linux Kernel Image (uncompressed) Data Size: 4242375 Bytes = 4 MB Load Address: 00000000 Entry Point: c000000c Verifying Checksum ... OK OK Booting using flat device tree at 0x3000000
And that was it :-(
If I make my image like this:
mkimage -A ppc -O linux -T kernel -d vmlinux.bin.gz -C gzip -n "uImage" uImage
it boots fine, so I think that my vmlinux/vmlinux.bin.gz image is fine.
Can anybody tell what I'm doing wrong?
/peter

In message 6721.193.89.194.31.1199268155.squirrel@mail.pgpoulsen.dk you wrote:
I'm trying to make my board load an uncompressed kernel (I'm playing with boot times). I make the image like this:
mkimage -A ppc -O linux -T kernel -d vmlinux -C none -n "uImage" uImage
I don't see the (required) "-a" and "-e" options in your call to mkimage...
Unfortunately my board boots like this:
Like this? What is "this"? You don't shouw us which exact boot commands you used, nor what your environment settings are.
How are we supposed to help you without all this important information?
## Booting image at 01000000 ... Image Name: uImage Image Type: PowerPC Linux Kernel Image (uncompressed) Data Size: 4242375 Bytes = 4 MB Load Address: 00000000 Entry Point: c000000c
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Where is this coming from?
Verifying Checksum ... OK OK
If boot time plays a role, you might consider turning off the checksum verification - which will take a looong time on an uncompressed kernel image. See "verify" environment variable.
And that was it :-(
No big surprise if you jump right in the middle of nowhere...
it boots fine, so I think that my vmlinux/vmlinux.bin.gz image is fine.
No, it is not.
Can anybody tell what I'm doing wrong?
See above.
Best regards,
Wolfgang Denk

Here we try again.
First the environment info: => print ramboot=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr baudrate=115200 loads_echo=1 ethaddr=00:e0:5e:00:e5:14 preboot=echo;echo Type "run nfsboot" to mount root filesystem over NFS;echo hostname=mpc5121ads loadaddr=1000000 netdev=eth0 consoledev=ttyPSC0 hostname=mpc5121ads ramargs=setenv bootargs root=/dev/ram rw addip=setenv bootargs $bootargs ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off panic=1 addtty=setenv bootargs $bootargs console=$consoledev,$baudrate flash_self=run ramargs addip addtty;bootm $kernel_addr $ramdiskaddr $fdtaddr load=tftp 100000 /tftpboot/ads5121/u-boot.bin update=protect off fff00000 fff3ffff; era fff00000 fff3ffff; cp.b 100000 fff00000 $filesize upd=run load;run update ramdiskaddr=2000000 ramdiskfile=rootfs.ext2.gz.uboot fdtaddr=3000000 ethact=FEC ETHERNET fdtflashaddr=ffec0000 kernelflashaddr=ffc40000 jffs2boot=setenv bootargs console=$consoledev,$baudrate root=/dev/mtdblock1 rw rootfstype=jffs2 $otherbootargs; bootm $kernelflashaddr - $fdtflashaddr fdtfile=mpc5121/mpc5121ads.dtb rootpath=/tftpboot/mpc5121/rootfs bootcmd=run nfsboot bootargs=root=/dev/nfs rw nfsroot=192.168.1.70:/tftpboot/mpc5121/rootfs ip=192.168.1.75:192.168.1.70:192.168.1.1:255.255.0.0:mpc5121ads:eth0:off console=ttyPSC0,115200 filesize=3000 fileaddr=3000000 gatewayip=192.168.1.1 netmask=255.255.0.0 ipaddr=192.168.1.75 serverip=192.168.1.70 bootfile=mpc5121/uImage stdin=serial stdout=serial stderr=serial
When I boot I run 'run nfsboot'.
<snip>
I make the image like this:
mkimage -A ppc -O linux -T kernel -d vmlinux -C none -n "uImage" uImage
I don't see the (required) "-a" and "-e" options in your call to mkimage...
I didn't know they were required. How do I figure out what they should be?
Unfortunately my board boots like this:
Like this? What is "this"? You don't shouw us which exact boot commands you used, nor what your environment settings are.
How are we supposed to help you without all this important information?
## Booting image at 01000000 ... Image Name: uImage Image Type: PowerPC Linux Kernel Image (uncompressed) Data Size: 4242375 Bytes = 4 MB Load Address: 00000000 Entry Point: c000000c
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Where is this coming from?
Verifying Checksum ... OK OK
If boot time plays a role, you might consider turning off the checksum verification - which will take a looong time on an uncompressed kernel image. See "verify" environment variable.
And that was it :-(
No big surprise if you jump right in the middle of nowhere...
it boots fine, so I think that my vmlinux/vmlinux.bin.gz image is fine.
No, it is not.
que? please explain.
<snip>
/peter

In message 11315.193.89.194.31.1199344520.squirrel@mail.pgpoulsen.dk you wrote:
I don't see the (required) "-a" and "-e" options in your call to mkimage...
I didn't know they were required. How do I figure out what they should be?
It certainly helps to read the documentation. For example, there is a file called README. Start there. Search for "-a".
Entry Point: c000000c
^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
And that was it :-(
No big surprise if you jump right in the middle of nowhere...
it boots fine, so I think that my vmlinux/vmlinux.bin.gz image is fine.
No, it is not.
que? please explain.
Your U-Boot image uses a bogus entry point. This cannot work.
Best regards,
Wolfgang Denk

In message 11315.193.89.194.31.1199344520.squirrel@mail.pgpoulsen.dk you wrote:
I don't see the (required) "-a" and "-e" options in your call to mkimage...
I didn't know they were required. How do I figure out what they should be?
It certainly helps to read the documentation. For example, there is a file called README. Start there. Search for "-a".
<snip>
Thanks a lot. Most of the information that I needed was in the readme file. Until now I had mainly used the homepage, where I havn't been able to find much about mkimage.
/peter
participants (2)
-
Peter Poulsen
-
Wolfgang Denk