USL-5Pのデュアルブート化
注文していた中古マイクロドライブ1Gが届いたので、早速チャレンジ開始。
まず最初に、今日参考にした主なページを紹介。「USL-5PのCFをマイクロドライブに入れ替えて、オリジナル環境とdebian26環境のデュアルブート」を作るなら、以下のページがかなり参考になった。
まず最初にUSL-5Pの外装を分解し、内蔵CFにたどりつく。
CFをはずしてPCに接続されたUSBカードリーダーに差し込む。
Linuxマシンが無い場合、Knoppixを使うか、VMwareを使ってLinux環境を構築すれば十分。
ちなみに、Microsoft Virtual Server 2005 R2はUSBコントローラをサポートしていないので、今回のような用途には使えない。
あらかじめVMwareでFedora Core 5環境を用意していたので、バーチャルマシンにUSBコントローラを追加して、USBカードリーダをデバイスとして追加した。
Fedora Core 5を起動した時点でCFはマウント済みであったので、デスクトップから右クリックでアンマウントして、以下、コンソールで作業。
$ cat /proc/partitions
CFディスクは/dev/sda、CFのパーティションは/dev/sda1として認識されていた。
続いてddコマンドでディスクイメージの吸出し。
$ dd if=/dev/sda of=./usl5p_org_disk.dat
ddを使う場合、オリジナル環境のパーティションは64MBのまま書き戻される。
今回オリジナル環境には手をつけず、そのまま起動できるようにしたかったので、ddコマンドを使うことにした。
オリジナル環境をベースに拡張したい場合は64MBでは足りない。その場合はUSL-5P - PukiWikiで紹介されているように、tarコマンドで吸い出して、書き戻し、liloを書き込むのが良いようだ。
吸出しが完了したら、CFをUSBカードリーダーから抜いて、マイクロドライブをUSBカードリーダーに差し込む。
購入したマイクロドライブは既にFATフォーマット済みであったため、fdiskコマンドでパーティションを削除した。
先ほどオリジナルのCFから吸い出したUSL-5Pのイメージを、今度は書き戻す。
$ dd if=./usl5p_org_disk.dat of=/dev/sda
吸出しよりはずっと時間がかかる。
fdiskコマンドで確認すると、マイクロドライブ上には64MBのパーティションが作られていた。
この状態でUSBカードリーダーから抜き、USL-5Pに装着して、緊張の電源オン。
どうやら正常に動いているっぽいLEDの点滅があって、ピー!の音と共に準備完了。
緊張の一瞬。管理Webページにアクセスするとちゃんとページが表示された。ファイル共有も問題ない。第一関門突破。
USL-5Pオリジナル環境でブート成功したら、続いてそのUSL-5P上で作業するために、telnetdを組み込む。
便利なことにUSL-5Pのファーム更新機能を使ってtelnetdを導入する方法が公開されているので、それを利用して、telnetの用意もできた。
以降はUSL-5Pのオリジナル環境+telnetdを使って作業する。
fdiskコマンドを使ってswapとdebian26用のパーティションを作る。
実はlinuxを触るのは久しぶり。slackware3.xの頃に結構勉強したが、すっかり忘れてしまった。実は当時買ったオライリーのリファレンス本を片手に四苦八苦。
/dev/hda2をswapに128MB、残りの/dev/hda3、800MB程度をdebian26用に割り当てた。
mkswapコマンドと、mkfsコマンドを使ってそれぞれファイルシステムを作る。
/dev/hda3 を /mnt/hda3にマウントし、以降、このフォルダにdebian26環境を用意する。
debian26の導入 - USL-5Pで自宅サーバーを参考に、LANDISKで漕ぎいでな〜♪のKernel関連ページからbase26-sh4-20060329-etch.tgzをダウンロード。
ちなみに、http://eggplant.ddo.jp/は回線が細いらしいので、ミラーhttp://iohack.sourceforge.jp/kogiidena/debian26/base/からダウンロード推奨。
ダウロードしたファイルを/mnt/hda3以下に解凍する。
さらに/mnt/hda3/etc以下のネットワーク関連ファイルを修正。
続いてデュアルブート環境の構築
debian26のカーネルとブートローダーを/bootにコピー。
- sh-2.05b# cp /mnt/hda3/boot/vmlinuz-2.6.16-sh /boot
- sh-2.05b# cp /mnt/hda3/boot/boot.b-selk /boot
/mnt/hda3/etc/lilo-usl5p.conf
を/etcにコピーし、lilo.confにリネーム。(オリジナルのlilo.confはバックアップしておく)
とりあえず今は、デフォルトでUSL-5Pオリジナル環境をブートするよう修正した。
/mnt/hda3/sbin/lilo
を実行。
今日はUSL-5Pのオリジナル環境とdebian26環境のデュアルブートが構築できたと
ころまで。
ここまで(作業用Linux環境を用意する時間は除いて)2時間とちょっと。
ほとんど全部先人の成果に頼りっぱなしだけど、簡単なコマンドの知識があれば、特に迷うことなくここまで到達できる。
次の予定: