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 ...