Meego Wiki
Views

SDK/Tutorials/Image Creation

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Create the MADDE SYSROOT image)
(Create QEMU images (QEMU NAND and rootfs))
Line 35: Line 35:
=== Create the QEMU NAND image using qflasher tool ===
=== Create the QEMU NAND image using qflasher tool ===
-
* 3 components are needed: a kernel file, nolo-qemu package (provides xloader/secondary binaries) and qflasher package.
+
'''NOTE:''' This guide is based on an old version and there might be newer versions of the files available.
-
** the kernel file is available with the MeeGo images for QEMU (e.g. http://download.meego.com/trunk-daily/builds/1.1.80/trunk-daily-1.1.80.12.20101223.1/handset/images/meego-handset-armv7l-qemu/)
+
-
** nolo-qemu and qflasher packages are available from non-oss repository (e.g. http://repo.meego.com/MeeGo/builds/trunk/daily/non-oss/repos/ia32/packages/i586/)
+
-
* use the following command line to create the NAND image:
+
-
$ ./qflasher -m rx51 -x xloader-qemu.bin -s secondary-qemu.bin -k meego-handset-armv7l-qemu-daily-vmlinuz-2.6.35.3-10.3-n900 -o meego-handset-armv7l-qemu-daily-nand-n900.img -p k=3072
+
-
'''Note''': qflasher can be used on all supported Linux hosts. You can extract the rpm package using
+
3 components are needed: '''a kernel file''', '''nolo-qemu package''' (provides xloader/secondary binaries) and '''qflasher package'''.
-
$ rpm2cpio qflasher-21-1.1.i586.rpm | cpio -idmv
+
-
* use the following command line to run QEMU:
+
First get the QEMU image e.g. from http://repo.meego.com/MeeGo/builds/1.1.90/1.1.99.4.20110426.4/images/meego-handset-armv7hl-qemu/
-
  $ touch sd-empty
+
wget http://repo.meego.com/MeeGo/builds/1.1.90/1.1.99.4.20110426.4/images/meego-handset-armv7hl-qemu/meego-handset-armv7hl-qemu-1.1.99.4.20110426.4-raw.tar.bz2
-
  $ meego-sdk-qemu-system-arm -M n900 -mtdblock meego-handset-armv7l-qemu-daily-nand-n900.img -sd sd-empty -sd meego-handset-armv7l-qemu-daily-mmcblk0p.raw -serial stdio -clock unix -redir tcp:5555:10.0.2.15:22
+
 
 +
Then extract the kernel package from the tarball
 +
tar xf meego-handset-armv7hl-qemu-1.1.99.4.20110426.4-raw.tar.bz2 ./*vmlinuz*
 +
 
 +
Next get the qflasher package latest available at http://repo.meego.com/MeeGo/builds/trunk/latest/repos/non-oss/ia32/packages/i586/. '''Note''': qflasher can be used on all supported Linux hosts.
 +
wget http://repo.meego.com/MeeGo/builds/1.1.90/1.1.99.4.20110426.4/repos/non-oss/ia32/packages/i586/qflasher-21-1.1.i586.rpm
 +
 
 +
And then get the binary out of the rpm package.
 +
rpm2cpio qflasher-21-1.1.i586.rpm | cpio -idmv
 +
 
 +
Same for the nolo-qemu
 +
wget http://repo.meego.com/MeeGo/builds/1.1.90/1.1.99.4.20110426.4/repos/non-oss/ia32/packages/i586/nolo-qemu-0.20100910-1.1.i586.rpm
 +
rpm2cpio nolo-qemu-0.20100910-1.1.i586.rpm | cpio -idmv
 +
 
 +
use the following command line to create the NAND image:
 +
./qflasher -m rx51 -x xloader-qemu.bin -s secondary-qemu.bin -k meego-handset-armv7l-qemu-daily-vmlinuz-2.6.35.3-10.3-n900 -o meego-handset-armv7l-qemu-daily-nand-n900.img -p k=3072
 +
 
 +
use the following command line to run QEMU:
 +
  touch sd-empty
 +
  meego-sdk-qemu-system-arm -M n900 -mtdblock meego-handset-armv7l-qemu-daily-nand-n900.img -sd sd-empty -sd meego-handset-armv7l-qemu-daily-mmcblk0p.raw -serial stdio -clock unix -redir tcp:5555:10.0.2.15:22
=== Create the QEMU rootfs image using mic2 tool ===
=== Create the QEMU rootfs image using mic2 tool ===

Revision as of 12:36, 3 May 2011

Contents

Overview

Create sysroot image(s)

Download/Create the .ks files

First you need to install kickstarter

git clone git://gitorious.org/meego-developer-tools/kickstarter.git
cd kickstarter
make
sudo python ./setup.py install
cd ..

Then we get the image configurations:

git clone git://gitorious.org/meego-os-base/image-configurations.git
cd image-configurations
kickstarter -c configurations.yaml -r repos.yaml

After this you will have kickstart files created to a subdirectory called 1.1.99, 1.2.80 or something similar.

cd <X.X.XX>

Create the MADDE SYSROOT image

Select one of the kickstart files ending with *-madde-sysroot.ks and call following command for it to create the image.

sudo mic-image-creator --run-mode=1 --cache=mycachedir --config=${vertical}-${arch}-madde-sysroot.ks --release=${release_id}
  • ${vertical}: Is the vertical of the image, e.g., core/handset/netbook/ivi
  • ${release_id}: Check repo lines from kickstart and find one that has --name=oss from that take the start of the baseurl until the @BUILD_ID@ string and put it to your browser. Now you can see all the available release_id's for your kickstart file.

Create QEMU images (QEMU NAND and rootfs)

Create the QEMU NAND image using qflasher tool

NOTE: This guide is based on an old version and there might be newer versions of the files available.

3 components are needed: a kernel file, nolo-qemu package (provides xloader/secondary binaries) and qflasher package.

First get the QEMU image e.g. from http://repo.meego.com/MeeGo/builds/1.1.90/1.1.99.4.20110426.4/images/meego-handset-armv7hl-qemu/

wget http://repo.meego.com/MeeGo/builds/1.1.90/1.1.99.4.20110426.4/images/meego-handset-armv7hl-qemu/meego-handset-armv7hl-qemu-1.1.99.4.20110426.4-raw.tar.bz2

Then extract the kernel package from the tarball

tar xf meego-handset-armv7hl-qemu-1.1.99.4.20110426.4-raw.tar.bz2 ./*vmlinuz*

Next get the qflasher package latest available at http://repo.meego.com/MeeGo/builds/trunk/latest/repos/non-oss/ia32/packages/i586/. Note: qflasher can be used on all supported Linux hosts.

wget http://repo.meego.com/MeeGo/builds/1.1.90/1.1.99.4.20110426.4/repos/non-oss/ia32/packages/i586/qflasher-21-1.1.i586.rpm

And then get the binary out of the rpm package.

rpm2cpio qflasher-21-1.1.i586.rpm | cpio -idmv

Same for the nolo-qemu

wget http://repo.meego.com/MeeGo/builds/1.1.90/1.1.99.4.20110426.4/repos/non-oss/ia32/packages/i586/nolo-qemu-0.20100910-1.1.i586.rpm
rpm2cpio nolo-qemu-0.20100910-1.1.i586.rpm | cpio -idmv

use the following command line to create the NAND image:

./qflasher -m rx51 -x xloader-qemu.bin -s secondary-qemu.bin -k meego-handset-armv7l-qemu-daily-vmlinuz-2.6.35.3-10.3-n900 -o meego-handset-armv7l-qemu-daily-nand-n900.img -p k=3072

use the following command line to run QEMU:

touch sd-empty
meego-sdk-qemu-system-arm -M n900 -mtdblock meego-handset-armv7l-qemu-daily-nand-n900.img -sd sd-empty -sd meego-handset-armv7l-qemu-daily-mmcblk0p.raw -serial stdio -clock unix -redir tcp:5555:10.0.2.15:22

Create the QEMU rootfs image using mic2 tool

sudo mic-image-creator --run-mode=0 --cache=mycachedir --format=raw --arch=${arch} --save-kernel --config=handset-${arch}-qemu.ks --package=tar.bz2 --release
Personal tools