2009年7月8日水曜日

SmartQ5 Ver.4 でのマルチブート環境構築

以前、報告したver4でのマルチブート環境の続報。実際にマルチブート環境を構築してみた。

ポイントは23つのみ。
1. SDカードにVFAT(FAT,FAT32)の領域をSDカードの第一パーティションに作成すること。
2. VFAT領域にbootフォルダを作成し、ブートに必要なファイルはサブフォルダに入れない。
追記)2009.09.23 11:40
3. menu.lstの改行コードをCR+LFではなくLFにする。<--普段、Linux上で編集していたんで気付きませんでした。Windows上で編集する場合は改行コードを変更できるエディタを利用してください。

#導入するときFATにしなければならないことが分からず、苦労した。そこでzhongzfさんに直接質問して解決。zhongzfさん本当にThanksです。



写真一番左はSmartQ本体から起動するためのアイコン。それ以外は追加設定したアイコン。

で、実際の導入方法。MerをSDカードの第2パーティションに導入する場合を例にとって紹介。

1. SDカードにVFAT領域を確保。

2. SDカードの残りの領域にEXT3とSWAP領域を確保

3. http://wiki.maemo.org/Mer/からゲットしてきたSmartQ5ファームを展開し、rootfs.tar.gzとhome.tar.gzをSDカードのEXT3領域に展開。
#root.tar.gzはEXT3の/に・・home.tar.gzはEXT3のhomeで展開する。

4. SDカードのVFAT領域のbootフォルダにMerのzimageをmerimageとかにしてコピーし、initramfs.igzをmerinitramfs.igzとかに変更。
#べつにSmartQ5OSとかのマルチブートにしようという場合じゃなければ変更しなくても良い。

5. 同bootフォルダにmenu.lstファイルを作成して、以下のように記述
#基本grubに似せてあるようだ。
#必要なロゴを入れられる。無い場合は?アイコンが出現する。
下記logoの部分の記述方法で良い。
尚あらかじめbitmapを作成して、mer.bmpなどとしてコピーしておく。

===  
title mer
kernel /boot/merimage
init /boot/merinitramfs.igz
param root=/dev/mmcblk1p2 rootwait splash
logo /boot/mer.bmp
===

6. 以上の手続きで終了で通常どおり電源ONのみでブート選択画面が出現する。

追記)2009.7.21 21:15
WinCEのマルチブート作成には、まず他の環境の入っていないSDが必要なので注意。
#WinCEをインストールするとインストール時に見事にvfatじゃない領域を削除してくれる。
以下に解決方法を紹介
 この問題の解決法はhttp://bbs.zhiqi.com.cn/viewthread.php?tid=5783にあるようにインストール後に母艦につないで、
*HKEY_LOCAL_MACHINE\System\StorageManager
をレジストリエディタで全削除すれば以後は領域削除しなくなる。そのあとにマルチブート環境に用意したSmartQOSやMer、Androidを各々の領域に展開、bootフォルダにzimage、initをコピー。最後にmenu.lstを編集すれば完了。

0 コメント: