Meego Wiki
Views

ARM/Creating ARM image using MeeGo Image Creator

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Run MeeGo Image Creator)
(Run MeeGo Image Creator)
Line 80: Line 80:
After this you can create the image with following command
After this you can create the image with following command
-
  sudo mic-image-creator --cache=mycachedir --format=raw --arch=armv5tel --config='''YOUR_KICKSTART'''  
+
  sudo mic-image-creator --run-mode=0 --cache=mycachedir --format=raw --arch=armv5tel --config='''YOUR_KICKSTART'''  
You will get a directory which ends with '''-raw''' suffix and file that includes '''vmlinuz''' in its name. The directory contains the '''*.raw''' file that is put to the memory card and vmlinuz is put to the N900 with flasher.
You will get a directory which ends with '''-raw''' suffix and file that includes '''vmlinuz''' in its name. The directory contains the '''*.raw''' file that is put to the memory card and vmlinuz is put to the N900 with flasher.

Revision as of 11:06, 20 May 2010

Under construction

If you are searching information about older page containing mic2 instructions follow the link:

ARM/Creating ARM image using MIC2

Contents

Requirements

 * Fedora 12
 * mkfs.ubifs, ubinize and meego-arm-static from meego-tools repositories (install instructions below).
 * MeeGo Image Creator from git
     * requires git-core (# yum install git-core)

Install qemu-arm-static, mkfs.ubifs and ubinize

NOTE: Fedora has its own mtd-utils package, but that does not include the required tools for ubi creation.

NOTE: You need both of the repositories below for Fedora 12 because some packages are only available in Fedora 11 currently.

Add following lines to for example /etc/yum.repos.d/meego-tools.repo

[meego-tools-f12]
name=Meego tools F12
failovermethod=priority
baseurl=http://repo.meego.com/tools/repos/fedora/12/
enabled=1
gpgcheck=0

[meego-tools-f11]
name=Meego tools F11
failovermethod=priority
baseurl=http://repo.meego.com/tools/repos/fedora/11/
enabled=1
gpgcheck=0

Install the required package:

yum install mtd-utils mtd-utils-ubi qemu-arm-static

Get and install MeeGo Image Creator code

If Git version control system or make are missing those can be installed with commands:

 yum install git
 yum install make

Git clone the Meego Image Creator sources to temporary directory and install the codes:

 git clone git://gitorious.org/meego-developer-tools/image-creator.git
 cd image-creator
 sudo tools/mic-check-alldeps
 ./autogen.sh
 ./configure
 make clean
 make
 sudo make install
 cd ..

Run MeeGo Image Creator

Create a working directory and copy your kickstart file there. Sample kickstart files can be found here. In the working directory run either of the following commands as root:

Image will be created in working directory.

Packages will be cached in mycachedir to speed up the next image creation.

If you are behind a proxy, you can set it to mic by adding

proxy=http://proxy.yourcompany.com:8080

to /etc/mic2/mic2.conf.

Ubifs image

sudo mic-image-creator --run-mode=0 --cache=mycachedir --format=ubi --arch=armv5tel --config=YOUR_KICKSTART 

Loop image

sudo mic-image-creator --run-mode=0 --cache=mycachedir --format=loop --arch=armv5tel --config=YOUR_KICKSTART 

Raw image

Raw images are ment to be put to for example external MMC card. Because we need kernel to be flashed seperately to the N900 device, you should insert following code block to the %post --nochroot section of your kickstart file. If this %post --nochroot section does not exist add it after the %post section:

KERNEL_VERSION=`ls -1 $INSTALL_ROOT/boot/vmlinuz* | tail -1 | xargs basename | cut --complement -b 1-8`
cp $INSTALL_ROOT/boot/vmlinuz-$KERNEL_VERSION $IMG_NAME-vmlinuz-$KERNEL_VERSION

After this you can create the image with following command

sudo mic-image-creator --run-mode=0 --cache=mycachedir --format=raw --arch=armv5tel --config=YOUR_KICKSTART 

You will get a directory which ends with -raw suffix and file that includes vmlinuz in its name. The directory contains the *.raw file that is put to the memory card and vmlinuz is put to the N900 with flasher.

Troubleshooting

exit status 255 error

warning: %post(libgcc-4.4.2-12.2.armv5tel) scriptlet failed, exit status 255 

This is caused by SELinux, which can be disabled with:

echo "0" > /selinux/enforce

This fix is valid until you reboot your device.

Personal tools