[U-Boot-Users] boot uncompressed uImage
Wolfgang Denk
wd at denx.de
Wed Apr 27 12:17:22 CEST 2005
In message <1114593987.6981.25.camel at localhost> you wrote:
>
> i builded compressed image using montavista's tools :
Well, actually you should ask MV support for help, then.
> /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
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.
> tftp 0x10000000 uImage
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.
> 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
This is definitely wrong, as "vmlinux" is an ELF file, while you need
the raw binary image.
Best regards,
Wolfgang Denk
--
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.
More information about the U-Boot
mailing list