Meego Wiki
Views

SDK/Tutorials/Image Creation

From MeeGo wiki
< SDK | Tutorials
Revision as of 13:11, 3 May 2011 by Sage (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.

Lets first make a dir for us for this all:

mkdir qemu-nand
cd qemu-nand

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 xvf meego-handset-armv7hl-qemu-1.1.99.4.20110426.4-raw.tar.bz2

Next get the qflasher and nolo-qemu packages and extract the binaries. (Latest: http://repo.meego.com/MeeGo/builds/trunk/latest/repos/non-oss/ia32/packages/i586/). Note: qflasher/nolo-qemu packages 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
rpm2cpio qflasher-21-1.1.i586.rpm | cpio -idmv
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:

KERNEL=meego-handset-armv7hl-qemu-1.1.99.4.20110426.4-raw/meego-handset-armv7hl-qemu-1.1.99.4.20110426.4-vmlinuz-2.6.37-10.1-adaptation-n900
./usr/bin/qflasher -m rx51 -x ./boot/xloader-qemu.bin -s ./boot/secondary-qemu.bin -k ${KERNEL} -o meego-handset-armv7l-qemu-daily-nand-n900.img -p k=3072

Use the following command line to run QEMU:

touch sd-empty
ROOTFS=meego-handset-armv7hl-qemu-1.1.99.4.20110426.4-raw/meego-handset-armv7hl-qemu-1.1.99.4.20110426.4-mmcblk0p.raw
meego-sdk-qemu-system-arm -M n900 -mtdblock meego-handset-armv7l-qemu-daily-nand-n900.img -sd sd-empty -sd ${ROOTFS} -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