Meego Wiki
Views

SDK/Tutorials/Image Creation

From MeeGo wiki
< SDK | Tutorials
Revision as of 12:36, 3 May 2011 by Sage (Talk | contribs)
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.

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