MICのインストール
OSイメージのビルドがしたいのでMICを入れます。
Ubuntu moguris@geozero:~$ sudo apt-get install mic
インストール自体はコレだけで完了です。
Tizen OS Imageの作成
基本的な手順は
- https://download.tizen.org/snapshots/から*.ksファイルをダウンロード
- 適当な所に置いて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->Ubuntuにchrootしている性で失敗する模様)
ここで作った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とかで失敗しました