tuneoの日記: USBメモリからDebianのインストーラを起動する
光学ドライブ無しのLatitude D400にLinuxを入れたのだが、USBメモリにDebianをインストール→USBメモリから起動して中身をハードディスクにそっくりコピー、という手順は何となく「負けた感じ」が漂う(時間もかかる)ので、USBメモリからDebian Installerを起動してDVD-ROMからインストールできるようにしてみた。Debianのインストールガイドには「柔軟」なインストール用USBメモリを拵える方法が書いてあるんだけど、その通りにやってもうまくいかないので、インストールガイドは参考程度に片目で見つつ試行錯誤の末に何とか動作にこぎつけた。以下はその覚え書き。今回試したアーキテクチャはi386なので、amd64でも使えるか後日調査する予定。つーか、暇つぶしに15分チャレンジしてみたら、あっさり成功。386と同等の手順でUSBメモリ(というか64MBの骨董SDカード)にインストーラを書き込み、起動デバイス選択で「USB ZIP」を選んだらふつーに起動してDVDからインストールコンポーネントを読んでくれた。これで64bitマシンでDVDからブートしなくても逃げる手がわかって一安心。もっとも、USBメモリの用意とか面倒臭いので極力御遠慮被りたいけど。
1.下準備
用意するもの:
・USBフラッシュメモリ(32MB以上のSLCタイプのものを推奨)
・Debian GNU/Linux 「最小のUSBメモリ」用インストールイメージ
・Debian GNU/Linux binary DVD #1
2.USBメモリにFATファイルシステムを作成する
ここでインストールガイドの「柔軟な方法」通りにパーティションを切るとうまくいかないので(余所じゃうまくいくのかも知れないがLatitude D400ではダメでした)、パーティションを切らないでUSBメモリ全体を直に使う。ちなみに、私が使ったUSBメモリは8GBだったので全領域使うつもりでFAT32で試してみた。USBメモリのデバイス名を/dev/sdaとすると
# /sbin/mkdosfs -F 32 -I /dev/sda
でUSBメモリにファイルシステムを作成できる。もちろん作業の際にはdosfstoolsが必要なので事前にインストールしておく。
3.syslinuxをUSBメモリにインストール
今度はmtoolsとsyslinuxが必要になるので適宜インストールする。両方ともインストールしたら
# syslinux /dev/sda
でsyslinuxをUSBメモリにインストールする。
4.イメージファイルのマウント
2.でダウンロードした「最小のUSBメモリ」用のイメージファイルはgzipで圧縮されているので、伸張してループバックマウントする。gzip圧縮されたイメージファイルって直接ループバックマウントできないよねぇ?
# gzip -d -c boot.img.gz > boot.img
# mount -o loop boot.img /mnt1
5.インストーラのファイルをUSBメモリにコピー
USBメモリをマウントしてイメージファイルから各種ファイルをコピーする。このときinitrd.gzとinitrdg.gz, vmlinuz, そしてldlinux.sysはコピーする必要がないので注意すること。
# mount -t msdos /dev/sda /media/usb0
# find /mnt1 -not \( -name initrd\*.gz -or -name ldlinux.sys -or -name vmlinuz \) | xargs -i cp -pd {} /media/usb0
6.インストールCD/DVDからinitrd*.gzやvmlinuzをコピー
i386の場合はインストールCD/DVDのinstall.386にinitrd.gzとvmlinuz、install.386/gtkにinitrd.gzがあるのでUSBメモリにコピーする。gtk/initrd.gzはinitrdg.gzにリネームすることを忘れないこと。実はvmlinuzはUSBメモリ版を使っても動くのだが、気分の問題でCD/DVDからコピーする。
# mount /dev/cdrom0 /media/cdrom0
# cp /media/cdrom0/install.386/initrd.gz /media/cdrom0/install.386/vmlinuz /media/usb0
# cp /media/cdrom0/install.386/gtk/initrd.gz /media/usb0/initrd<strong>g</strong>.gz
7.再起動してUSBメモリからインストーラを起動
再起動してF12で起動デバイス選択のメニューを表示し、USB Storage Deviceを選んでUSBメモリのインストーラを起動し、CD/DVDからインストールを行う。これでexpertguiだろうがrescueだろうが自由自在。CD-ROM/DVD-ROMからインストールするUSBメモリのできあがり。
※おまけ:CDのISOイメージファイルをUSBメモリに入れるには
USBメモリにゆとりがあり、CD/DVD-ROMドライブが無いか、あっても使わずにインストールしたい場合、5.でUSBメモリ用イメージファイルの中身を全部コピーした後、6.と7.をスキップし、さらに(最小/名刺サイズ/完全いずれかの)インストールCDのISOイメージファイルをコピーしておくと、インストーラがイメージファイルを読み込んでインストールしてくれる。なお、FAT32でもファイルサイズは最大4GBまでなので、DVDのイメージファイルはコピーすらできないorz。手を入れていじくれば、FAT以外のファイルシステムに置いたISOイメージファイルを読んでくれるインストーラを作れるかもわからんけど。
USBメモリからDebianのインストーラを起動する More ログイン