2009年8月26日

SD マルチブートできた

※自己責任で実施してください。当方は一切の責任は負いかねます。

SmartQ5FW4.0からSDカードを使って他OSを起動が出来る事が可能になった。
何度やっても全然出来なくて、結局SDカードの相性のせいだと思い、新しくSDカードを買い直してやったら、あっさり出来た。


使用したSDカードはadata 8gb class6

で試したOSはAndroidMer
Win CEはまだやっていない。
AndroidMer のrootツリーデータはEXT3フォーマットしたパーティションに入れるのだが、Win CEを入れ起動するとそのVfat以外のフォーマットを消してしまうらしい。
Win CEは中国語版しかないし、使えなさそうだから今はスルー。

SDカードには4つのパーティションが必要。

まずは、WindowsにてPanasonicの純正SD フォーマッターで初期化。
次に、 Linux機 (Ubuntu 9.04 Jaunty Jackalope)でSDカードを認識させてフォーマットを始める。

UbuntuではGpartedというパーティションツールを使った。
SDカードを繋いだらGpartedでSDを認識。
するとカード内の先頭(4mbぐらいだったかな)未フォーマット領域がある。
ここはFATフォーマットする際に作られるMBR (Master Boot Recode)が記録されているかららしい。良くは知らないが、今回はそこはそのままにしておいた。

確か、SmartQ5のFW更新の際にSmartQ SDupdateというのを使ってSQ5本体でもSDからFW更新の際のBootの認識をさせる為の情報を書き込むツールがあるので、そいつもたしか先頭にbootの情報を書き込んでたと思う。

で残りがFAT32になっているが、これから第一パーティションをFAT32、第二をEXT3、第三をEXT3、第四をLinux-Swapの4つに区切る。

FAT32が現在全てを占めているので、これを120mbぐらいに変更。
第二をEXT33600mbで追加。
第三をEXT33600mbで追加。
第四をLinux-Swapで残りの領域全てを追加。
最後に「適用」を押してフォーマットする。あくまでもこれは8gbの場合

第一パーティション: FAT32 (最初にbootを認識させるmenu.lstなど入れる為)
第二パーティション: EXT3 
(Merのrootツリーとhomeツリーを展開させる為)
第三パーティション: EXT3 
(Androidのrootツリーを展開させる為)
第四パーティション: Linux Swap 
(swap領域)

でSDカードのフォーマットが出来た訳です。
でMerやAndroidのSmartQ5用のイメージをゲットしてきて、それらから必要なデータを摘出して各々の領域に保存展開する。このやり方は今度説明。

でSmartQ5に全て設定したSDを差し込んで、電源入れたらようやくSDbootのメニューが表示された。で起動も確認出来た。

MerもAndroidも使ってみたけど、結局動かないアプリや、設定項目があっても設定出来ない項目などあり、現状では日常では使えない感じだった。
でもどちらも今後使えそうで面白そうな予感はします。

==================================================
追記(2009/10/05):
Ubuntuの場合にはetc/fstabのdeviceのマウントポジションを変更する。
fstabの書類を以下に変更。

proc /proc proc defaults 0 0
/dev/mmcblk1p2 / ext3 relatime 0 1
/dev/mmcblk1p3 none swap sw 0 0

<mmcblk 数字 p 数字 の意味>
mmcblk0p1 ←本体flash「0」第一パーティション「p1
mmcblk1p2←SDカード「1」第二パーティション「p2

#MerとAndroidは自動でfstab編集の必要はありません。
==================================================

YouTube: SmartQ5でAndoroidを動かしてみた。


YouTube: SmartQ5 WinCEで動画再生


YouTube: Mer on Nokia N810
※SmartQ5での起動動画ではありませんがMerがどんなOSか分かります。

0 件のコメント:

コメントを投稿