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

Tizen Developer Phone (5) - Tizen 2.0 alpha (起動失敗 ...orz)

https://download.tizen.org/snapshots/2.0alpha/common/tizen-2.0_20120921.19/images/TRATS-2.0A/

/etc/fstabやinittab辺りを見ると、DevPhoneでも起動できる設定になっていて
xorg(/usr/etc/X11にマップされ直してるけど。。。)の設定をみても、ハードを使う
設定が有効になっているので、コレはと言う事で、上記からバイナリを落としてきてlthorしてみました。

結果から書くと、何故か起動しません。
想像しているのは、uImage, modules.imgなどが同梱されていないので
kernelに以降する辺りで止まっているのではないかと。(bootloaderは起動してTIZENロゴが出て止まる)

やること自体は簡単で、ファイルシステムを落としてきてlthorで指定するだけです。*1
ログも簡単で

moguriso@tizen-build:~$ ./lthor TRATS-2.0A-tizen-2.0_20120921.19.tar 

Linux Thor downloader, version 0.1 (b56595a) built Thu Jun  7 19:47:18 KST 2012
Authors: YoungJin Lee <yj0701.lee@samsung.com>, Wonil Choi <wonil22.choi@samsung.com>

USB port is detected : /dev/ttyACM0

TRATS-2.0A-tizen-2.0_20120921.19.tar :
[ums.img]   117628k
[platform.img]  694732k
[data.img]  198540k
-------------------------
    total : 987.21MB


Download files from TRATS-2.0A-tizen-2.0_20120921.19.tar

[ums.img]       - sending 117628k/117628k 100% block 115    [avg 8.21 MB/s]
[platform.img]  \ sending 694732k/694732k 100% block 679    [avg 8.99 MB/s]
[data.img]      | sending 198540k/198540k 100% block 194    [avg 9.92 MB/s]

TRATS-2.0A-tizen-2.0_20120921.19.tar completed

request target reboot : success

リブートしてくれますが、起動しません。

1.0が起動しないと困るので、一応焼き直しました。

moguriso@tizen-build:~$ sudo ./tizen-download -u https://secured-download.tizen.org/references/1.0/ \
>    s-boot-mmc.bin u-boot-mmc.bin uImage modules.img platform.img data.img ums.img

tizen-downloader (version:2.01)

USB port is detected : /dev/ttyACM0

s-boot-mmc.bin : 83488
u-boot-mmc.bin : 524288
uImage : 4499976
modules.img : 2281472
platform.img : 417316864
data.img : 239484928
ums.img : 21741568
-------------------------
    total : 654.16MB

[s-boot-mmc.bin]
 getting remote file 100.00 % (83504 / 83504)
                | sending     81k/    81k 100% block 1      [0.66 MB/s]
[u-boot-mmc.bin]
 getting remote file 100.00 % (524304 / 524304)
                \ sending    512k/   512k 100% block 1      [1.40 MB/s]
[uImage]
 getting remote file 100.00 % (4500000 / 4500000)
                | sending   4394k/  4394k 100% block 5      [2.00 MB/s]
[modules.img]
 getting remote file 100.00 % (2281488 / 2281488)
                | sending   2228k/  2228k 100% block 3      [1.60 MB/s]
[platform.img]
 getting remote file 100.00 % (417316880 / 417316880)
                / sending 228352k/407536k  56% block 223

一瞬ラグがあって多少焦りましたが無事起動しました。

実はtizen-downloadコマンドは /tmp/tizen-binaryに一時ファイルを置くので
ここにアルうちにコピーできないかと思ったのですが、1ファイルずつ転送しつつ
ストリーミングよろしく実機に転送し、完了時点で削除されるので完全な形で
ファイルをコピーするのは人間にはおそらく不可能です。。
思いついたのは、tizen-download側を逆汗してファイル削除部分をバイナリパッチで
潰す方法ですが、そっちに労力掛けるよりは、実機に焼かれたイメージをddするほうが
速いような気がします、、

その他やってみたことは

  • Tizen 1.0状態で、2.0aのファイルシステムを圧縮してsdb push、tar -Cで/にコピー
    • lib辺りが上書きされた時点で動作不安定になって挙動不審に陥る→NG

あと思いついたのは、uImageは自作してmodules.imgを実機から抜き出し、httpsサーバを
立ててplatform.img, data.imgを2.0a相当のものに差し替えてtizen-downloadで焼く方法ですが
いろいろ手間なのと、気づいたらam3:00になろうとしているので、今日(というか昨日)は
諦めました。。。orz


うーん、、、実はSGS2で動かないのもこの辺がいろいろあるんだろうか、、、
多分、mmcblk0p11の11GB割り当たってるrecoveryパティションにrootfsを展開して
zImageかuboot.bin経由でuImageを起動→mmcblk0p11にrootを以降してやれば行けると
思うんですけど*2

*1:tarをgzipで展開してから焼いています

*2:けど、できてません...orz