« きみはもう「拳意述真」を読んだか | トップページ | 八卦宗師は一見の価値あり »

2016年5月 3日 (火)

systemd 起動で /usr がルートパーティションにない場合

結論:initrd を準備する必要がある。

対処:Debian の場合は、make-kpkg に --initrd オプションを付けることでビルドできる。

観察された現象:
 systemd のバージョンアップ後、起動シーケンスが途中で止まってしまった。
 しばらくすると エラーが表示され、不完全な状態になっている。
 /usr がマウントできず、立往生しているらしい。

原因というか、解説:
 https://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken/
 に詳しい。
 要は、systemd プロセスが起動するときには、/usr がマウントされていることを前提にすることにしたと。
 
 対処としては、/usr をルートパーティションに置くか、initrd を作成して systemd が起動するよりも前に
 /usr マウントされている状態にしておくかどちらか。

 うちは、パーティション切り分けの段階で ルートパーティションをそんなに大きくしなかったので、
 後者の一択。

systemd がそんなことになっているのに気づくのに時間がかかった。
役に立ったツールとしては、debug-shell が挙げられる。

systemctl enable debug-shell.service

を実行しておくと、次回起動時に(コンソールからの場合)Alt+F9 でルートシェルに入れる。
用が済んだら、
systemctl disable debug-shell.service
で無効化しておくこと。

« きみはもう「拳意述真」を読んだか | トップページ | 八卦宗師は一見の価値あり »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: systemd 起動で /usr がルートパーティションにない場合:

« きみはもう「拳意述真」を読んだか | トップページ | 八卦宗師は一見の価値あり »

2026年7月
      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  
無料ブログはココログ