[U-Boot-Users] Linux couldn't start up

Hi, I make a linux uImage with command "make uImage" , and linux kernel can start up after downloading it into the target board, but now I want to generate uImage by vmlinux with mkimage, not by "make uImage",so I do it as follows: 1)arm-none-linux-gnueabi-objcopy -O binary -R .note -R .comment \ -S /home/linux-2.6.12/vmlinux /home/temp/vmlinux.bin 2)gzip -9 /home/temp/vmlinux.bin 3)mkimage -A arm -O linux -T kernel -C none \ -a 00008000 -e 00008000 \ -n 'Linux-2.6.12.6-arm1' -d /home/temp/vmlinux.bin.gz /home/temp/uImage At last, I load uImage to ram to run, but the following message happens:
Marvell>> tftp 0x400000 uImage Using egiga0 device TFTP from server 192.168.0.53; our IP address is 192.168.0.54 Filename 'uImage'. Load address: 0x400000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ########## done Bytes transferred = 1710086 (1a1806 hex) Marvell>> bootm 0x400000 ## Booting image at 00400000 ... Image Name: Linux-2.6.12.6-arm1 Created: 2008-02-03 17:12:54 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1710022 Bytes = 1.6 MB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK OK
Starting kernel ... undefined instruction pc : [<ffffffff>] lr : [<00249274>] sp : 001ff16c ip : ffffffff fp : 001ff694 r10: 00000000 r9 : 002570a8 r8 : 001fffd4 r7 : 000000ff r6 : 0027ee58 r5 : 00000000 r4 : 0027ee58 r3 : 00008000 r2 : 00000100 r1 : 0000020e r0 : 00000000 Flags: NZCV IRQs off FIQs off Mode SYS_32 Resetting CPU ...
Can anybody tell me what happend? Thanks in advance!
With kind regards, Rboert

Hi Robert,
Robert wrote:
Hi, I make a linux uImage with command "make uImage" , and linux kernel can start up after downloading it into the target board, but now I want to generate uImage by vmlinux with mkimage, not by "make uImage",so I do it as follows: 1)arm-none-linux-gnueabi-objcopy -O binary -R .note -R .comment \ -S /home/linux-2.6.12/vmlinux /home/temp/vmlinux.bin 2)gzip -9 /home/temp/vmlinux.bin
you compressed the "vmlinux.bin" file here, but didn't specify the compression type later by the "-C" option of "mkimage".
3)mkimage -A arm -O linux -T kernel -C none \
^^^^^^^
-a 00008000 -e 00008000 \ -n 'Linux-2.6.12.6-arm1' -d /home/temp/vmlinux.bin.gz
/home/temp/uImage
please try it again with "-C gzip" option.
At last, I load uImage to ram to run, but the following message happens:
Marvell>> tftp 0x400000 uImage Using egiga0 device TFTP from server 192.168.0.53; our IP address is 192.168.0.54 Filename 'uImage'. Load address: 0x400000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ########## done Bytes transferred = 1710086 (1a1806 hex) Marvell>> bootm 0x400000 ## Booting image at 00400000 ... Image Name: Linux-2.6.12.6-arm1 Created: 2008-02-03 17:12:54 UTC Image Type: ARM Linux Kernel Image (uncompressed)
^^^^^^^^^^^^
Data Size: 1710022 Bytes = 1.6 MB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK OK
Starting kernel ... undefined instruction pc : [<ffffffff>] lr : [<00249274>] sp : 001ff16c ip : ffffffff fp : 001ff694 r10: 00000000 r9 : 002570a8 r8 : 001fffd4 r7 : 000000ff r6 : 0027ee58 r5 : 00000000 r4 : 0027ee58 r3 : 00008000 r2 : 00000100 r1 : 0000020e r0 : 00000000 Flags: NZCV IRQs off FIQs off Mode SYS_32 Resetting CPU ...
Can anybody tell me what happend?
The image header describes the image as uncompressed, but really it isn't. Uncompressed code can't be executed.
Best regards,
Anatolij

<snip>
Image Type: ARM Linux Kernel Image (uncompressed)
^^^^^^^^^^^^
Data Size: 1710022 Bytes = 1.6 MB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK OK
Starting kernel ... undefined instruction pc : [<ffffffff>] lr : [<00249274>] sp : 001ff16c ip : ffffffff fp : 001ff694 r10: 00000000 r9 : 002570a8 r8 : 001fffd4 r7 : 000000ff r6 : 0027ee58 r5 : 00000000 r4 : 0027ee58 r3 : 00008000 r2 : 00000100 r1 : 0000020e r0 : 00000000 Flags: NZCV IRQs off FIQs off Mode SYS_32 Resetting CPU ...
Can anybody tell me what happend?
The image header describes the image as uncompressed, but really it isn't. Uncompressed code can't be executed.
the last sentence should be "Compressed code can't be executed." of course. Sory for that.
Best regards,
Anatolij
participants (2)
-
Anatolij Gustschin
-
Robert