Date
1 - 2 of 2
uimage instead of zImage
Edward Vidal <vidal.develone@...>
Hello, Still struggling with zImage not booting on my beagleboard. Any help with this issue will be appreciated. With a zImage the follow was the error I was getting. VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0): error -19 Please append a correct "root=" boot option; here are the available partitions: VFS: Unable to mount root fs on unknown-block(0,0) User configuration error - no valid root filesystem found Kernel panic - not syncing: Invalid configuration from end user prevents continu ing I did a Search for Image zImage uImage http://chaitutechbits.blogspot.com/2010/12/what-is-difference-between-zimage-bz.html the difference between bz image and z image is in compression mode not only compression mode there are many differnces A uImage file is a kernel with a modified header for u-boot. A tool called mkimage is used to convert a zImage (regular kernel compressed image) to a uImage file. And No, zImage files, as they are, are not compatible with U-Boot. You must convert them make zImage - Creates a gzip’d kernel image that must be installed manually. make bzImage - Creates a bzip2’d kernel image that must be installed manual fdisk /dev/sdb Welcome to fdisk (util-linux 2.22.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sdb: 3904 MB, 3904897024 bytes, 7626752 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0008bd36 Device Boot Start End Blocks Id System /dev/sdb1 * 2048 63487 30720 c W95 FAT32 (LBA) /dev/sdb2 63488 7626751 3781632 83 Linux mkfs.vfat -F 16 -n "boot" /dev/sdb1 mke2fs -j -L "rootfs" /dev/sdb2 Go to location where zImage is located. cd /home/vidal/img_beagleboard102113/beagleboard I found this by doing a grep on my build that had a uImage. mkimage -A arm -O linux -T kernel -C gzip -a 80200000 -e 80200000 -n myuImage -d zImage uImage Image Name: myuImage Created: Wed Oct 23 09:31:11 2013 Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 4642760 Bytes = 4533.95 kB = 4.43 MB Load Address: 80200000 Entry Point: 80200000 Transfer files to DOS partition. cp /home/vidal/img_beagleboard102113/beagleboard/MLO /run/media/vidal/BOOT/ cp /home/vidal/img_beagleboard102113/beagleboard/u-boot.img /run/media/vidal/BOOT/ cp /home/vidal/img_beagleboard102113/beagleboard/uImage /run/media/vidal/BOOT/ uEnv.txt mpurate=auto bootcmd="mmc rescan 0; fatload mmc 0:1 0x80200000 uImage; bootm 0x80200000" dvimode="hd720 omapfb.vram=0:8M,1:4M,2:4M" vram=16M optargs="consoleblank=0" console="ttyO2 console=tty0,115200n8" cp /home/vidal/img_beagleboard102113/uEnv.txt /run/media/vidal/BOOT/uEnv.txt ls -la /run/media/vidal/BOOT/ total 4942 drwx------. 2 vidal users 16384 Dec 31 1969 . drwxr-x---+ 3 root root 60 Oct 23 09:40 .. -rw-r--r--. 1 vidal users 47932 Oct 23 06:35 MLO -rw-r--r--. 1 vidal users 346220 Oct 23 06:36 u-boot.img -rw-r--r--. 1 vidal users 206 Oct 23 09:26 uEnv.txt -rw-r--r--. 1 vidal users 4642824 Oct 23 09:33 uImage cd ../rootfs/ Extract rootfs on Linux partition. tar jxvf /home/vidal/img_beagleboard102113/beagleboard/core-image-sato-sdk-ex-beagleboard-20131021212900.rootfs.tar.bz2 Hit any key to stop autoboot: 3 2 1 0 mmc0 is current device gpio: pin 173 (gpio 173) value is 0 gpio: pin 4 (gpio 4) value is 0 SD/MMC found on device 0 reading uEnv.txt 206 bytes read in 3 ms (66.4 KiB/s) Loaded environment from uEnv.txt Importing environment from mmc ... 4642824 bytes read in 315 ms (14.1 MiB/s) Booting from mmc ... ## Booting kernel from Legacy Image at 80200000 ... Image Name: myuImage Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 4642760 Bytes = 4.4 MiB Load Address: 80200000 Entry Point: 80200000 Verifying Checksum ... OK Uncompressing Kernel Image ... Error: Bad gzipped data GUNZIP: uncompress, out-of-mem or overwrite error - must RESET board to recover resetting ... |
|
Wolfgang Denk <wd@...>
Dear Edward,
In message <CANwz6nzQq8a1RnqL3Ety2tJ-CkTOnOObQtiEVXu6+TOhve5LAA@...> you wrote: No header gets modified. Instead, a new header gets prepended. mkimage is used to convert a zImage (regular kernel compressed image) to aActually it's pretty stupid to use a zImage inside an uImage. It is much better to use normal (uncompressed) kernel image, compress it using just gzip, and use this as poayload for mkimage. This way U-Boot does the uncompresiong instead of including yet another uncompressor with each kernel image. uImage file. And No, zImage files, as they are, are not compatible withYou can boot zImage files directly with U-Boot. That's what the "bootz" command is for. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@... Hacking's just another word for nothing left to kludge. |
|