2005年4月25日

[debian-users:43501] Re: USBメモリで Debian Installer(RC3)

えとーです。ずいぶん放置してましたが、
本日発破をかけられてやってみました。

なんとなく、スクリプトに落すのもできそう
な感じでした。そのうちやりたくなったら
やろうと思います。

grub をインストールする時間が結構長かったのですが
lilo とかにするとさくさくだったりするのでしょうか。

cfdisk などで /dev/sda1 を作成 bootableにしておく

ext2でフォーマット
# /sbin/mkfs.ext2 /dev/sda1
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
64000 inodes, 255500 blocks
12775 blocks (5.00%) reserved for the super user
First data block=1
32 block groups
8192 blocks per group, 8192 fragments per group
2000 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

usbメモリーをマウント
# mount -t ext2 /dev/sda1 /mnt

grub をインストール
# grub-install --root-directory=/mnt/ /dev/sda1
Probing devices to guess BIOS drives. This may take a long time.
(ほんとうに時間かかります、、、)
Due to a bug in xfs_freeze, the following command might produce a segmentation
fault when /mnt//boot/grub is not in an XFS filesystem. This error is harmless and
can be ignored.
xfs_freeze: specified file ["/mnt//boot/grub"] is not on an XFS filesystem
Installation finished. No error reported.
This is the contents of the device map /mnt//boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0) /dev/fd0
(hd0) /dev/hda
(hd1) /dev/sda
(作業マシンがXFSだったため文句言われていますが、問題ありませんでした)

grubのmenu.lstを作成
<--!ここから
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
default 0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 5

# Pretty colours
color cyan/blue white/blue

title Debian installer kernel 2.4
root (hd0,0)
kernel /linux ramdisk_size=9650 root=/dev/rd/0 init=/sbin/init devfs=mount,dall rw
initrd /initrd.gz
boot

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
ここまで --!>

debian installer http://www.debian.org/devel/debian-installer/) の hd-media の中から、
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
だと思います。

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

念のためにmbrをインストール
# /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ならなんでも
使えると思います。
すでにやってる方もいらっしゃるのでしょうが、
参考までに、記録を ML に投げさせていただきたいと思います。
本当は公式で配布しているものでできるのがベストなんですけどね。

最後にレスを下さった方々ありがとうございました。
特に 宮下さん 蛭名さん 助かりました。

投稿者 xml-rpc : 2005年4月25日 03:13
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/16596
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。