風邪でしんどい上にスケジュールがやばいところ、実家の都合でしょっちゅうドライバー担当と肉体労働に駆り出され、夜になるとダウン中。
鼻と喉がやられて息苦しいんである。
なかなか治らんです。
ファイルサーバの実験ドライブとして使った高速USBメモリに、バックアップから元のLinux起動救急システムを書き戻し、復帰。
そのついでに現行kernelとシステムに入れ替え……たら、とたんに起動しなくなった。
自前bash式initrdの中の、chroot + /sbin/initが起動するはずのところで応答無しでなんでかストップする。
bashに落として手動で起動させてみると、
timeout opening/writing control channel /dev/initctl
と怒られてinitが起動しない。
調べてみると簡単な話、手抜きで/devの中身を稼働中のシステムから丸コピーした(のかどうかよく覚えていないが) ためか、「/dev/initctl」がchroot先に存在してしまっていたのが原因だった。
消して再起動すると無事起動。
initが自動で作るファイルなので勝手に作んな、ということのようである。
/lib64だけを古いものに戻すと起動するので「謎な挙動だなぁ」と不可思議に思っていたのだが、同じ古いlibcで作られた/dev/initctlだということでたまたま起動していただけらしい。
- C'sGallery Blogっぽく見えるシステム3.2 -
小武
(管理人) eta2@tim.hi-ho.ne.jp