SmartQ5のSDマルチブート環境を構築した。FW4.0と基本は同じ。
ただし、前回忘れていた重大な事をここに記載。過去記事は実はマウントポイントが本体側になっていて、起動はSDからだけどrootツリー?等は本体を使用していたという・・・・中途半端なマルチブートだった。
今回は本体側に「Covia版Android」を導入済み。
SDカード側に「SmartQ5 FW5.0」を導入します。
尚、気になるMID --SmartQ-- さんのブログでは
SmartQ5 Linux上での作業の説明が記載されています。
気になるMID --SmartQ-- Ver.5のマルチブート環境構築方法記事:
http://fav-mid.blogspot.com/2009/09/ver5.html
SDブートの仕方は基本的にFW4.0と同じです。
FW4.0の時の記事も併せてご覧ください。
過去記事では、本体SmartQ5 FW4.0でSDから
「Mer」「Android 有志版」の導入です。
過去記事 マルチブートできた:
http://voodooman-smartq5.blogspot.com/2009/08/sd.html
=============================================================
<やり方>
準備する物:
● SDカード
(大容量2GB以上推奨 ※SDカードの種類によっては相性により起動しません。)
ここでは、adata 8gb class6を使用。
● Windows環境 (ここではXP)
● linux環境 (仮想マシンでUbuntu 8.04使用)
● SmartQ5 FW5.0のイメージを展開したもの
(zimage, initramfs.igz, rootfs.tar.gz, homefs.tar.gzが必要)
■■■ Step 1 ■■■ (Linux作業)
SDカードに3つのパーティションを作成します。
Ubuntu側にパーティションツール「Gparted」が導入されていることが前提。
1-1 SDカードを繋いだら、デスクトップにマウントされたSDをアンマウントする。
1-2 Gpartedを起動し、接続デバイスを選択。※ Linux本体をフォーマットしないよう注意。
うちの環境では/dev/sdb1
1-3 Gpartedで下記3つに区切る。区切れたら適応。
第一パーティションをFAT32 (3700mb)
第二パーティションをEXT3 (3700mb)
第三パーティションをLinux-Swap (残り全部)
終わったらここで一端SDカードを外す。(マウントされていたらアンマウントしてから。)
■■■ Step 2 ■■■ (Win作業)
SmartQ5の公式FW5.0イメージをSmartQ Extractorにて展開ファイルを用意する。
SmartQ5 FW5.0:
http://www.smartdevices.com.cn/support/download/FirmWare/SmartQ5/200909/18-796.html
SmartQ Extractor 2.6:
http://www.filefactory.com/file/aha509g/n/SmartQ5Extractor_v2_6_zip
SmartQ Extractorを起動して、FW5.0のイメージから下記ファイルを摘出
SDカードFAT32領域に保存しておく。
zimage, initramfs.igz, rootfs.tar.gz, homefs.tar.gz
■■■ Step 3 ■■■ (Linux作業)
SDカード第一パーティション(FAT32)に起動用に色々準備・展開していく。
3-1 SDを差したら、展開したFW5.0のデータ類をホームフォルダ(/home/user/)に移動しておく。
SD内のデータ類は削除しても構いません。
移動したら、デスクトップにマウントされたすべてのSDカードパーティションをアンマウントする。
3-2 FAT32領域にブートフォルダーを作成。ブートに必要な書類を配置する。
$ sudo su
# sudo mount /dev/sdb1 /mnt ←SDカードの接続先sdb1(FAT32領域)をマウント
# sudo mkdir /mnt/boot ←sdb1のrootに「boot」フォルダーを作成。
# sudo cp zimage initramfs.igz /mnt/boot
↑sdb1の「boot」フォルダーにzimageとinitramfs.igzをコピー
まだ端末は終了しない。
3-3 Ubuntuのテキストエディット(gedit)でmenu.lstを作成・保存する。
menu.lstには以下内容を表記
title ubuntu
kernel /boot/zimage
initrd /boot/initramfs.igz
param root=/dev/mmcblk1p2 rootwait
logo /boot/ubuntu.bmp4
menu.lstのフォーマットは以下でないと読みません。
テキストのエンコード:Unicode (UTF-8)
改行コード:UNIX (LF)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
追記(2009/10/05):
気になるMID --SmartQ-- さんのブログでSD BootでもBluetooth接続出来るようになったとのこと。上記param.....の表記を以下に変更。
param root=/dev/mmcblk1p2 init=/etc/init rootwait splash s3cfb.backlight=80 console=ttySAC0,115200 loglevel=6 (注意:ここまでが1行)
Ubuntu Ver.5 SDブートでのBTキーボード接続成功!:
http://fav-mid.blogspot.com/2009/10/ubuntu-ver5-sdbt.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
追記(2009/12/18):
匿名さんからの情報にてlogo, kernel, initrdのファイル名を8.3文字(名前8文字、拡張子3文字)以内での表記で問題ないそうです。
kernel /boot/ubzimage
initrd /boot/ubramfs.igz
logo /boot/ubuntu.bm4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
menu.lstをホームホルダ(/home/user/)に保存。端末で第一パーティション(FAT32)のbootフォルダーに保存。
# sudo cp menu.list /mnt/boot
3-4 ここで一端、第一パーティション(FAT32)をアンマウントする。
# sudo umount /mnt
まだ端末は終了しない。
■■■ Step 4 ■■■ (Linux作業)
SDカード第2パーティション(EXT3)にUbuntuのルートツリー等色々準備・展開していく。
4-1 端末で下記内容を行う。
# sudo mount /dev/sdb2 /mnt ←SDカードの接続先sdb2(EXT3領域)をマウント
# sudo tar xvzpf rootfs.tar.gz -C /mnt/ ←sdb2(EXT3領域)にrootfs.tar.gzを展開。
# sudo tar xvzpf homefs.tar.gz -C /mnt/home
↑sdb2(EXT3領域)のhomeフォルダーにhomefs.tar.gzを展開。
4-2 rootfs.tar.gzとhomefs.tar.gzを展開後、/mnt/etc/fstabのマウントポイントを変更する。
# sudo gedit /mnt/etc/fstab
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」
4-3 SDカード第2パーティション(EXT3)をアンマウントする。
# sudo umount /mnt
端末も終了。
以上でLinuxでの作業は終了。
■■■ Step 5 ■■■ (Win作業)
Windows上でSDブートの初期画面で表示される、背景とアイコンを作成するか
または準備されたモノをbootフォルダ内に保存する。
5-1 SDカードをマウントさせて、bootフォルダ内に
背景画像「bgbmp.bmp4」アイコン画像「ubunt.bmp4」を保存。
独自で作成するなら、Multiboot Icon Makerを使って作成する。
独自背景+アイコンの作り方は過去記事を参照。
過去記事 SD boot用アイコン+背景:
http://voodooman-smartq5.blogspot.com/2009/08/sd-boot.html
=============================================================
以上、ざっと書いてみました。間違っているかもしれませんが、これでSDカードをSmartQ5に挿入して電源入れると、SDマルチブートができるはずです。
起動時、アイコン2つが表示されます。
左のSmartQ5アイコンが本体側の起動(今回はCovia版Android)
右がSDカードのUbuntu SmartQ5 FW5.0の起動になります。
初めまして。
返信削除Linux触った事なかった者ですが、
参考にさせて頂き、記事どおりの手順で進めました。
が、Q5にSDを挿して起動させても、本体androidしか起動しませんでした。
どんな理由が考えられると思いますか?
VODさんは記事どおりの方法で手を加えず起動していますか?
マルチブートでSDを読まない問題の主として、
返信削除1. SDカードの相性が合わない。
僕は以下2つ試しましたが駄目でした。
SanDisk ExtremeIII 4GB SDHC Class6
HAGIWARA SYS-COM 8GB SDHC Class4
で結局出来たのがadata 8GB SDHC Class6
2. bootフォルダにあるmenu.listのエンコードと改行コードの問題。
テキストのエンコード:Unicode (UTF-8)
改行コード:UNIX (LF)
上記のテキストフォーマットでないと読まないみたいです。
3. menu.listの記述の問題
記事の通りにで問題ないとは思いますが・・・
もう一度、スペースやら改行やらを確認してみてください。
(4)オプション
Androidでは必要ないのですが、本家SmartQ5のFWを導入する際、SDカード(FAT32)の頭にマスターブートコード?なるFWイメージを読み込ませる為のモノを書込むツールがあります。
SD UpdateTool 1.2 英語版
http://www.jiongtang.com/blog/html/smartq5/sdupdatetool-english-version-v1-2.html
SD差したら、SD UpdateTool起動して
プルダウンメニュー一番上から
SmartQ5
SDのマウント場所(E,F,G...とか)
SDのカードタイプ(SD, SDHC)
を選択してStartボタンを押します。
これをすることによりSDを読み込んだ初回読み込んだような記憶があります。
通常はいらないのですが・・・・
あとは起動時に-,+の間にあるmoveボタンを押しながら起動とか・・・・
SDbootは慣れるまで何回か僕も試しました。
これで解決できでしょうか。
頑張ってください。僕もLinux初心者です。
勉強中ですので、適切な解決方法お知らせ出来ない場合もありますので、その辺はご了承ください。
すいません。あくまでも自己責任で実施してくださいね。色々やって壊れたなんて事になったら責任取れません。
返信削除僕はSmartQ5は別に壊れても良いと思い(Linux勉強の為)色々弄ってますから・・・・
追記:
返信削除SDの初回フォーマット時、Windows側でPanasonicの純正フォーマッタでフォーマットするのも良いかもしれません。その後、Linux上でパーティション分けしてください。それで駄目なら、Linuxでパーティション分けしたら、再度FAT32領域だけ、Windows上で右クリックのフォーマットでFAT32にフォーマットしてから作業するのが良いかもしれません。
Panasonicのフォーマッターはすべての領域を初期化するので、パーティション分けした後に実行すると、EXT3領域もSwap領域も削除されますのでご注意ください。
Panasonic SD Formatter:
http://panasonic.jp/support/sd_w/download/sd_formatter.html
うぉぉぉ。分かりました。
返信削除根本的な間違いが・・・・
ファイル名menu.listでは無くて「menu.lst」でした。
すいません。
記事修正しておきます。
しかも、Step3のLinux上での準備したデータの移動保存先も間違ってました。Ubuntuのホームホルダーが基本なんで「/home/user/」ですね。
返信削除coviaさんから直リン
返信削除おめでとう、でいいのかな?
Coviaのどこからですかね?
返信削除私もそっちからきました
返信削除http://www.covia.jp/net/bbs/viewtopic.php?f=7&t=107
ですね。
消えましたね。トピック....
返信削除あれ・・本当に消えてますね(^^;
返信削除本家版のFWのことなどすべてですか・・・
まぁ現在のフォーラムの状況からするとデュアルブート
のことまでさばききれないのかもしれませんね。
おかげさまで無事デュアルブート成功しました。
最初Ubuntuの方が起動時に固まってあせりましたが、
二度目の起動で成功しました。
パーティションの分け方ですが、
Ubuntuからだとマウントできるので、
Ubuntu向けのパーティションは小さくてもいいんですね(^^;
多めにとってしまいました
正直,Coviaさんからのリンクは嬉しいですが、ここはフォーラムじゃないので、ここがマルチブートの受付にされたりなんかしたら大変です。べつにここではサポート受け付けて無いですからね。あくまでも個人的なブログで、SmartQ5利用者の為に少しでも情報が提供できればってことなので・・・・。
返信削除何度も言いますが、僕はLinux初心者です。
今年から勉強してます。
logo, kernel, initrdのファイル名を8.3文字(名前8文字、拡張子3文字)以内に変更してマルチブートできるようになりました。
返信削除kernel /boot/ubzimage
initrd /boot/ubramfs.igz
logo /boot/ubuntu.bm4
↑ご連絡ありがとうございます。
返信削除最近SmartQ5をめっきり触らなくなりました・・・・
なので、せっかく憶えたLinuxも徐々に記憶から薄れてきてます。
貴重な情報ありがとうございました。
記事に追加しておきます。