読者です 読者をやめる 読者になる 読者になる

Image Creator - MICの環境構築 on Ubuntu 12.04 (1)

MICのインストール

OSイメージのビルドがしたいのでMICを入れます。

Ubuntu moguris@geozero:~$ sudo apt-get install mic

インストール自体はコレだけで完了です。


Tizen OS Imageの作成

基本的な手順は

  1. https://download.tizen.org/snapshots/から*.ksファイルをダウンロード
  2. 適当な所に置いてmic createコマンドを実行

になります。

取りあえず、ksファイルをダウンロードしてきました。
このファイルはlocal repoを参照するようになっているので、一部書き直します。

 31 #repo --name=Tizen-main --baseurl=file:///srv/snapshots/trunk/tizen_20120617.2/repos/main/armv7l/packages/ --save  --ssl_verify=no
 32 #repo --name=Tizen-base --baseurl=file:///srv/snapshots/trunk/tizen_20120617.2/repos/base/armv7l/packages/ --ssl_verify=no
 33 repo --name=Tizen-main --baseurl=https://download.tizen.org/snapshots/trunk/latest/repos/main/armv7l/packages/ --save  --ssl_verify=no
 34 repo --name=Tizen-base --baseurl=https://download.tizen.org/snapshots/trunk/latest/repos/base/armv7l/packages/ --ssl_verify=no

file:///srv/snapshots/は手元には無いので、https://download.tizen.org/snapshots/を直接参照するようにしました。
この状態で下記コマンドを実行します。

Ubuntu moguris@geozero:~$ sudo mic create loop lb-tizen_20120617.2.ks -o .

どうも、loopback deviceのmountに失敗するというエラーで止まってしまいました。kickstartがimage作成時に一時的に/var/hogehogeに/dev/loopや/sys、/procをmountしてchrootするようです。(が、Fedora16->Ubuntuchrootしている性で失敗する模様)
ここで作ったubuntu chroot用のスクリプトで"mount ほげほげ --make-unbindable"とかやってるのが良くないみたいです。それらしく修正して再度トライした所上手く行きました。

mic loopでcreateすると下記のファイルが出来ました。

  • lb-tizen_20120617.2.xml
  • data.img
  • platform.img
  • ums.img

platform.imgがOSの実体のはずで、mic chroot platform.imgすればchroot出来るはずです。*1

mic fsでcreateすると生のファイルシステム用ディレクトリが生成されました。

$ ls -al
total 76
dr-xr-xr-x 19 root root 4096 Jun 24 07:24 .
drwxr-xr-x  3 root root 4096 Jun 24 07:43 ..
dr-xr-xr-x  2 root root 4096 Jun 24 07:24 bin
dr-xr-xr-x  2 root root 4096 Jun 11 07:16 boot
drwxr-xr-x  3 root root 4096 Jun 24 07:25 dev
drwxr-xr-x 39 root root 4096 Jun 24 07:24 etc
dr-xr-xr-x 10 root root 4096 Jun 24 07:23 lib
drwxr-xr-x  2 root root 4096 Jun 11 07:16 media
drwxr-xr-x  6 root root 4096 Jun 11 07:16 mnt
drwxr-xr-x 14 root root 4096 Jun 24 07:21 opt
drwxr-xr-x  2 root root 4096 Jun 24 07:17 proc
drwxr-xr-x  2 root root 4096 Jun 11 07:16 run
dr-xr-xr-x  2 root root 4096 Jun 24 07:24 sbin
lrwxrwxrwx  1 root root    7 Jun 24 07:18 sdcard -> mnt/mmc
drwxr-xr-x  2 root root 4096 Jun 24 07:22 smack
drwxr-xr-x  2 root root 4096 Jun 11 07:16 srv
drwxr-xr-x  2 root root 4096 Jun 24 07:17 sys
drwxr-xr-x  2 root root 4096 Jun 24 07:25 tmp
drwxr-xr-x 14 root root 4096 Jun 24 07:24 usr
drwxr-xr-x 15 root root 4096 Jun 24 07:18 var

mic rawだと、生パーティションをddしたのと同じ感じなraw dataが生成されるようです。

  • lb-tizen_20120617.2-mmcblk0p.raw

カスタムパッケージの追加とか、img->isoやlivecd/liveusbへのコンバートなども出来るみたいなので、Qtパッケージが入った版とか日本語対応版とか作りたいですね。。。

*1:が、/dev/loop12のmount errorとかで失敗しました