boot uncompressed uImage
hello,all
i builded compressed image using montavista's tools :
1./bin/sh /usr/src/linux-2.4.20_mvlcee31/scripts/mkuboot.sh -A arm -O linux -T kernel \
-C none -a 0x10008000 -e 0x10008000 \
-n 'Linux-2.4.20_mvlcee31-omap730_gsm_gprs' \
-d /usr/src/linux-2.4.20_mvlcee31/arch/arm/boot/zImage uImage
2.
tftp 0x10000000 uImage
(i used u-boot-1.1.2, 0x10000000 is physical address)
3.
bootm
and kernel could boot successfully.
but i want to install uncompressed image, so i do:
1./bin/sh /usr/src/linux-2.4.20_mvlcee31/scripts/mkuboot.sh -A arm -O linux -T kernel \
-C none -a 0x10008000 -e 0x10008000 \
-n 'Linux-2.4.20_mvlcee31-omap730_gsm_gprs' \
-d /usr/src/linux-2.4.20_mvlcee31/vmlinux uImage
2.
tftp 0x10000000 uImage
3.
bootm
but kernel booting failed, and u-boot rebooted!
shall i change 0x10008000 to sth. and do something else?
thanks!
Review
Quoted 8 lines · ??
but i want to install uncompressed image, so i do:
1.
/bin/sh/usr/src/linux-2.4.20_mvlcee31/scripts/mkuboot.sh-A arm -O linux -T kernel \(quoted diff) +0
-3-C none -a 0x10008000 -e 0x10008000 \ -n 'Linux-2.4.20_mvlcee31-omap730_gsm_gprs' \ -d /usr/src/linux-2.4.20_mvlcee31/vmlinux uImage
I'm gonna risk making a fool out of myself since I've never actually worked with ARM, but...
vmlinux is (for all other platforms I've used) an ELF image, not a raw binary. In order to be usable for u-boot, you need to run
<path-to-your-cross>objcopy -S -O binary vmlinux vmlinux.bin
and then use the resulting vmlinux.bin instead.
/
Leif
Quoted 10 lines
I'm gonna risk making a fool out of myself since I've never actually worked with ARM, but...
vmlinux is (for all other platforms I've used) an ELF image, not a raw binary. In order to be usable for u-boot, you need to run
<path-to-your-cross>objcopy -S -O binary vmlinux vmlinux.bin
and then use the resulting vmlinux.bin instead.
ok, i do it successfully! thanks!
Quoted 2 lines · In message <1114593987.6981.25.camel@localhost> you wrote:
i builded compressed image using montavista's tools :
Well, actually you should ask MV support for help, then.
Review
Quoted 5 lines
/bin/sh/usr/src/linux-2.4.20_mvlcee31/scripts/mkuboot.sh-A arm -O linux -T kernel \(quoted diff) +0
-3-C none -a 0x10008000 -e 0x10008000 \ -n 'Linux-2.4.20_mvlcee31-omap730_gsm_gprs' \ -d /usr/src/linux-2.4.20_mvlcee31/arch/arm/boot/zImage uImage
Normally the build command should look something like this:
...
arm-linux-ld -p -X -T arch/arm/vmlinux.lds arch/arm/kernel/head-armv.o arch/arm/kernel/init_task.o init/main.o init/version.o init/do_mounts.o \
--start-group \
arch/arm/kernel/kernel.o arch/arm/mm/mm.o arch/arm/mach-s3c2400/s3c2400.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o \
drivers/serial/serial.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/scsi/scsidrv.o drivers/mtd/mtdlink.o drivers/i2c/i2c.o drivers/usb/usbdrv.o drivers/media/media.o \
net/network.o \
arch/arm/nwfpe/math-emu.o arch/arm/lib/lib.a /work/TRAB/lib/lib.a \
--end-group \
-o vmlinux...
arm-linux-objcopy -O binary -R .note -R .comment -S /work/TRAB/vmlinux piggy gzip -9 < piggy > piggy.gz
...
mkimage -A arm -O linux -T kernel -C gzip -a 0x0c008000\
-e 0x0c008000 -n 'ARM Linux-2.4.27' \
-d compressed/piggy.gz uImage
I'm not sure if your "zImage" is equivalent to our "piggy.gz", Normally this is NOT the case. What you have might work, but it is not the "correct" way to build an ARM image.
Quoted 1 line
tftp
0x10000000uImage
This is dangerous - The "bootm" command will copy your image from the downlaod address (0x10000000) tpo the load address (0x10008000). Given the size of the kernel image this is an overlapping area. The behaviour is undefined.
Review
Quoted 8 lines
but i want to install uncompressed image, so i do:
1.
/bin/sh/usr/src/linux-2.4.20_mvlcee31/scripts/mkuboot.sh-A arm -O linux -T kernel \(quoted diff) +0
-3-C none -a 0x10008000 -e 0x10008000 \ -n 'Linux-2.4.20_mvlcee31-omap730_gsm_gprs' \ -d /usr/src/linux-2.4.20_mvlcee31/vmlinux uImage
This is definitely wrong, as "vmlinux" is an ELF file, while you need the raw binary image.
Best regards,
Wolfgang Denk
Signature · 4 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de While money can't buy happiness, it certainly lets you choose your own form of misery.