日記ブログ、または雑多なメモ
2010年4月13日

initrd起動時/sbin/initで止まる@Linux





 風邪でしんどい上にスケジュールがやばいところ、実家の都合でしょっちゅうドライバー担当と肉体労働に駆り出され、夜になるとダウン中。 鼻と喉がやられて息苦しいんである。 なかなか治らんです。

 ファイルサーバの実験ドライブとして使った高速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