USBブート・メモリーの作成
USBメモリーをブート可能にするために,パーティションの作成やフォーマットを行います。まず,fdiskを使用してパーティションを作成します。
$ sudo fdisk /dev/sdb コマンド (m でヘルプ): w |
続いてUSBメモリーをext3ファイル・システム(Linuxで一般的なファイル・システム)でフォーマットします。
$ sudo mkfs.ext3 /dev/sdb1 |
以下のようにコマンドを実行して,USBメモリーにルート・ファイル・システムを構築します。ソフトウエア・キーボード機能を提供する「SoftKeyboard.apk」は2009年2月16日現在はまだ不安定なため,削除しています。
$ sudo mount -t ext3 /dev/sdb1 /mnt/usb |
起動スクリプトをUSBブート環境用に設定します。デフォルトではルート(/)とsystemおよびdataで異なるパーティションを使用するようになっていますが,本記事のUSBブート環境では,それらを一つのパーティションにまとめて使用しているので,それに合わせてスクリプトを変更します。以下のようにコマンドを実行してファイルを開き,
$ sudo vi /mnt/usb/init.rc |
リスト1のように,該当する行の先頭に「#」を付けてコメント・アウトします。
ここまで来ればあと少しです。続いては,ネットワーク設定を行うために,設定用のシェル・スクリプトを作成します。以下の設定は,イーサネット・インタフェース「eth0」をDHCP経由でIPアドレスを取得し,利用するための設定です。
$ sudo vi /mnt/usb/system/etc/init.usb.sh ##以下のようにスクリプトを記述して保存する## #!/system/bin/sh netcfg eth0 dhcp |
作成したスクリプトに実行権限を付加しておきます。
$ sudo chmod a+x /mnt/usb/system/etc/init.usb.sh |
ブート・ローダー「GRUB」の設定ファイルを作成します。注意点として,画面の解像度(vga)の指定は「788」(800x600)にする必要があります。
$ sudo mkdir /mnt/usb/boot/grub ##以下のように設定を記述して保存する## default 0 title Android |
最後にGRUBのインストールを行います。間違えてビルド環境(つまりUbuntuパソコン)にインストールしないように注意してください。インストール先はUSBメモリーです。
$ sudo grub-install --root-directory=/mnt/usb --no-floppy /dev/sdb |
以上で,Androidが起動するUSBメモリーが構築できました。では早速遊んでみましょう。作成したUSBメモリーを挿入し,パソコンをUSBメモリーからブートするようにBIOS設定を行い起動します。初回起動はしばらく時間がかかるので起動するまで気長に待ちましょう。もし起動しない場合は,以下の項目を確認してください。
・BIOSの起動優先順位設定
USBメモリーを最上位に設定してください。
・USBメモリーと内蔵ディスクの認識順序
内蔵HDDが認識されていないため,USBメモリーのデバイス名が/dev/sdaと認識されている可能性があります。その場合は,GRUBの設定ファイルで「root=/dev/sdb1」と設定している部分を「root=/dev/sda1」に変更してみてください。
Androidが正常に起動すると,(写真1)のデスクトップ画面が表示されます。メニューをSettings --> Locale & text --> Select locale --> Japanese で日本語環境に変更することができます(写真2)。もちろんWebブラウザも普通に使用できます(写真3および写真4)。他にも工夫次第で色々できるので,実機で動くAndroidでぜひ遊んでみてください。
なお,今回作成したAndroidのUSBブート・イメージを弊社のWebページからダウンロードできるように手配しました。作業用のUbuntuパソコンを用意できない人でもUSBメモリーさえ用意すればすぐに試すことができますので,ぜひダウンロードして動かしてみてください。
ミラクル・リナックス