:USBメモリでインストールの手順

ただし、実際に試したわけではないので、やってみた方、正誤についてコメント頂けるとうれしいです。
なお、ブートシーケンスに関しては、別の機会に詳しく記述したいと思います。


インストーラ作成マシンの準備

インストーラを作るには、インストールするマシンとは別に、そのメディアをマウントできる、debianがインストールされているマシンが必要です。


USBメモリの準備

最初にUSBメモリにインストールするためのイメージを作るディスクを用意しておきます。
次にcfdiskなどでUSBメモリ上にディスクイメージのパーティション(ディスクラベル:/dev/sda1など)を用意します。パーティションはbootableにしておいてください。
このパーティションext2でフォーマットします。
# /sbin/mkfs.ext2 /dev/sda1


USBメモリをマウントします。
# mount -t ext2 /dev/sda1 /mnt


grubをインストールします。
# grub-install --install-directory=/mnt/ /dev/da1
(かなり時間がかかるようです。)


grubのmenu.lstを編集
カーネルとinitrdをきちんと設定しましょう。
  title Debian installer kernel 2.6
  root (hd0,0)
  kernel /linux26 ramdisk_size=10396 root=/dev/rd/0 init=/sbin/init devfs=mount,dall rw
  initrd /initrd26.gz
  boot


イメージの作成

hd-medhiaなどからboot.img.gzをダウンロードして、解凍しループバックでマウントします。
マウントポイントは/usbbootとしました(適当なものにしてください。)。
$ gunzip boot.img.gz
# mkdir /usbboot
# mount -o loop boot.img /usbboot


次にマウントした/usbbootから必要なファイルを抜き出し、USBメモリーにコピーします。
必要なファイルは
initrd.gz initrd.list initrd26.gz linux linux26
だと思います。
カーネルがこれではうまくない場合は、linux linux26を差し替えてください。
(差し替え用カーネルの作成方法は後述します。)


最後に事前にダウンロードしておいたnetinstのisoイメージをコピーします。
# cp sarge-i386-netinst.iso /mnt/


なお、念のためにmbrをインストールします。(grubが動くので、必要ないはずですが・・・)
# /sbin/install-mbr /dev/sda


USB デバイスをumountして、できあがりです。
# umount /mnt
eject で外せるようにします。
# eject /dev/sda
書き込み禁止のロックのスイッチがついていれば禁止にしておくといいでしょう。


参考情報:USBメモリーのファイル配置
  .
  |-- boot
  | `-- grub
  | |-- device.map
  | |-- e2fs_stage1_5
  | |-- fat_stage1_5
  | |-- jfs_stage1_5
  | |-- menu.lst
  | |-- minix_stage1_5
  | |-- reiserfs_stage1_5
  | |-- stage1
  | |-- stage2
  | `-- xfs_stage1_5
  |-- initrd.gz
  |-- initrd.list
  |-- initrd26.gz
  |-- linux
  |-- linux26
  |-- lost+found
  `-- sarge-i386-netinst.iso
3 directories, 16 files


USBメモリの容量:113M


今回は netinst を利用しましたが、インストール用のisoならなんでも使えると思います。