diskless boot on debian

始めは「PXEを使ってPCもディスクレスにしよう」と全く同じ.
ただ,bpbatchを取ってくるのがほんのちょっと違う.
とりあえず,いまはここの一番上にある.

BpBatch distribution directory
http://cui.unige.ch/info/pc/remote-boot/soft/

英語だけどドキュメントもある.

Linux Remote-Boot mini-HOWTO
Configuring Remote-Boot Workstations with Linux, DOS, Windows 95/98 and Windows NT:http://cui.unige.ch/info/pc/remote-boot/howto.html


で,bpbatchを取ってきたら,apt-get でnfs-kernel-server,tftpd,tftp,dhcpを取ってくる.
# 多分これで事足りると思うけど.(すでにいくつか入ってるから分からんw


で,/etc/dhcpd.conf, /etc/inetd.conf を設定とbpbatchをtftpからダウンロードできるようにする.ま,このあたりは本家を参照にw


カーネル再構築.これが少々厄介.たぶんデフォルト設定のままだとカーネルが大きすぎて,

invalid compressed format (err=2)

とかいわれる可能性がある.まあ使わないものとか,
起動時に必要じゃないものを,はずしたりモジュール化したりする必要がある.
このサイズなら,自分の環境ではOK

-rw-r--r--    1 root     root       956633 Feb 27 06:52 /var/lib/tftpd/vmlinuz-2.4.29

でも,

-rw-r--r--    1 root     root      1288979 Feb 27 03:56 /var/lib/tftpd/vmlinuz-nfs

はアウト.たぶんデフォルトで入っているカーネルサイズもこれぐらいだから,少しダイエットしないと動いてくれない.


で,ダイエットに成功するとw

set CacheNever = "ON"
linuxboot "vmlinuz-2.4.29" "root=/dev/nfs ip=dhcp"

で,起動できるはず.ただしカーネルのみ.
# 始めcacheneverを付け忘れて,はまりかけたw
# だって,dosの解説読み飛ばしちゃったんだもん.


で,とりあえず,てっとりばやく起動を確認したい人は,ash.staticの代わりに

 $ apt-get source bash
 $ cd bash-2.05a
 $ ./configure --enable-static-link
 $ make
 $ cp bash /diskless/linux/sbin/init

とすれば,bashが起動してくれる.


次に環境構築だけど,まあ,コピーしてもいいんだけど,debootstrapってのを使って環境構築をしようと企んでる.

 $ debootstrap --arch i386 woody /diskless/linux http://ring.asahi-net.or.jp/pub/linux/debian/

とかすれば,いけるけどその結果はまたあとで