途中で詰まって投げたけど、途中経過。
chrooted 環境で apt-get しまくっていたら、chrooted 内で勝手に daemon を立ち上げたり、外の daemon を kill したりと干渉しまくって大変なことに。ひとまず /tftp/sbin/start-stop-daemon を /tftp/bin/true への symlink にしてしのぐ。だが、これが後々の惨事を招く。
/tftp/etc/init.d/bootmisc.sh と /tftp/etc/init.d/rmnologin の動作を食い止めるには、/tftp/etc/default/rcS で
DELAYLOGIN=no EDITMOTD=no
を指定。
/tftp/etc/init.d/checkfs.sh の動作を止めるには、/tftp/fastboot を置いておく。このファイルの存在により check はスキップされる。スクリプトは最後にこのファイルを消そうとするが、read-only なので消せない。最初にファイルを置いておけばあとは放置で OK。完璧な作戦と自画自賛。
/tftp/etc/init.d/mount*.sh の bootclean をコメントアウト。どうせ ramdisk だし clean する必要がない。
このあたりからはまり始め。portmap が起動してるのに一向に NFS mount ができない。そのままほっとくと、login prompt すら出てこない。おかしいと思いつつ、boot script 中に ps auxwww とか仕込んでみると、daemon が一切立ち上がっていない。Done. って出てるのに。ああそうか、start-stop-daemon が起動してないようにしてた。chmod +x っと。これでも駄目だ。あれ? chmod する相手間違えたかな? ls -l してみると
/sbin/start-stop-daemon -> ../bin/true
あー、忘れてた。本物に戻して reboot。平和になった。
次は最難関になるであろう /var を rw で NFS mount する方法を考えるが、徹夜明けなんで無理。rpc.statd と /var/lib/nfs とか、各種 daemon と /var/run とか、sysklogd を始めとするこれまた各種 daemon と /var/log がそれぞれにわとりたまごになっている。ramdisk をうまいこと活用すれば切り抜けられそうだけど...。前述の理由により明日に延期。
前 | 2004年 3月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
[amd64 | audacious | comp | debian | gkrelluim | kip | misc | movie | research | rime | unicon | vdr | work | えふえふ]
書いてる人: dai
パッチ等(無保証)