Make F18 omap uImage and Using menuconfig

Hi all,

I recently download a new f18 kernel file from http://arm.koji.fedoraproject.org/koji/buildinfo?buildID=102410
the file name: kernel-omap-3.6.7-5.fc18.armv7hl.rpm

In this case, I want to updatekernel on BeagleBone.

Boot up BeagleBone with my release 0.2-version 1.  before login, go to uboot mode, change the env of mmc_root  from ro to rw
the command:
U-Boot# setenv mmc_root /dev/mmcblk0p2 rw
U-Boot# saveenv
U-Boot# boot

when log in as root:

# rpm -Uvh kernel-omap-3.6.7-5.fc18.armv7hl.rpm
# cd /boot/

you will find some new files there.

# file *                              to see the file format( run this on BB or host(copy file to host) is kind of different.Run in host has better result)
you will see the file “vmlinuz-3.6.7-5.fc18.armv7hl.omap” is executable zImage file. Which means we can create uImage file base on this file.

[root@Fedora17 Backup-P2-Bootfile]# file vmlinuz-3.6.7-5.fc18.armv7hl.omap
vmlinuz-3.6.7-5.fc18.armv7hl.omap: Linux kernel ARM boot executable zImage (little-endian)
{
[root@Fedora17 Backup-P2-Bootfile]# file *
config-3.6.7-5.fc18.armv7hl.omap:        ASCII text
initramfs-3.6.7-5.fc18.armv7hl.omap.img: gzip compressed data, from Unix, last modified: Fri Dec 31 20:03:14 1999, max compression
System.map-3.6.7-5.fc18.armv7hl.omap:    ASCII text
uImage:                                  u-boot legacy uImage, Angstrom/3.2/beaglebone, Linux/ARM, OS Kernel Image (Not compressed), 3179880 bytes, Tue May  8 02:46:13 2012, Load Address: 0x80008000, Entry Point: 0x80008000, Header CRC: 0xC3138F6B, Data CRC: 0x33B5CFFE
vmlinuz-3.6.7-5.fc18.armv7hl.omap:       Linux kernel ARM boot executable zImage (little-endian)
}

For make the uImage, I did some preparation:
#yum install uboot-tools
#man mkimage

Now let’s Make uImage:

[root@Fedora17 Backup-P2-Bootfile]# mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n “Linux Kernel” -d vmlinuz-3.6.7-5.fc18.armv7hl.omap uImage
Image Name:   Linux Kernel
Created:      Wed Dec  5 18:57:34 2012
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    3760616 Bytes = 3672.48 kB = 3.59 MB
Load Address: 80008000
Entry Point:  80008000
[root@Fedora17 Backup-P2-Bootfile]# ls
config-3.6.7-5.fc18.armv7hl.omap         uImage
initramfs-3.6.7-5.fc18.armv7hl.omap.img  vmlinuz-3.6.7-5.fc18.armv7hl.omap
System.map-3.6.7-5.fc18.armv7hl.omap
[root@Fedora17 Backup-P2-Bootfile]# ll
total 16804
-rw-r–r–. 1 root root  102287 Dec  5 17:18 config-3.6.7-5.fc18.armv7hl.omap
-rw-r–r–. 1 root root 7924129 Dec  5 17:18 initramfs-3.6.7-5.fc18.armv7hl.omap.img
-rw——-. 1 root root 1649126 Dec  5 17:18 System.map-3.6.7-5.fc18.armv7hl.omap
-rw-r–r–. 1 root root 3760680 Dec  5 18:57 uImage
-rwxr-xr-x. 1 root root 3760616 Dec  5 17:18 vmlinuz-3.6.7-5.fc18.armv7hl.omap
[root@Fedora17 Backup-P2-Bootfile]# file uImage
uImage: u-boot legacy uImage, Linux Kernel, Linux/ARM, OS Kernel Image (Not compressed), 3760616 bytes, Wed Dec  5 18:57:34 2012, Load Address: 0x80008000, Entry Point: 0x80008000, Header CRC: 0x98D3A8D2, Data CRC: 0xEDA678B2

replace the Ang uImage

[root@Fedora17 jcqiu]# mount /dev/sdb2 /mnt/f17Rootfs/
[root@Fedora17 jcqiu]# cd Documents/
[root@Fedora17 Documents]# cd Backup-P2-Bootfile/
[root@Fedora17 Backup-P2-Bootfile]# ll
total 16804
-rw-r–r–. 1 root root  102287 Dec  5 17:18 config-3.6.7-5.fc18.armv7hl.omap
-rw-r–r–. 1 root root 7924129 Dec  5 17:18 initramfs-3.6.7-5.fc18.armv7hl.omap.img
-rw——-. 1 root root 1649126 Dec  5 17:18 System.map-3.6.7-5.fc18.armv7hl.omap
-rw-r–r–. 1 root root 3760680 Dec  5 18:57 uImage
-rwxr-xr-x. 1 root root 3760616 Dec  5 17:18 vmlinuz-3.6.7-5.fc18.armv7hl.omap
[root@Fedora17 Backup-P2-Bootfile]# ll /mnt/f17Rootfs/boot/uImage
-rw-r–r–. 1 root root 3179944 Dec  4 17:15 /mnt/f17Rootfs/boot/uImage
[root@Fedora17 Backup-P2-Bootfile]# cp uImage /mnt/f17Rootfs/boot/
cp: overwrite `/mnt/f17Rootfs/boot/uImage’? y
[root@Fedora17 Backup-P2-Bootfile]# umount /dev/sdb2
[root@Fedora17 Backup-P2-Bootfile]# eject /dev/sdb

}

Compare the kernel config files:

I went to IRC #fedora-arm channel to ask people how to use the menuconf

and here is the way to use it:

# cd /usr/src/kernel/3.6.3-1.fc17.86×64
# make menuconfig
The GUI interface is coming out!!

That’s it for the day!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s