次のページ
前のページ
目次へ
ブートディスクを作ろうとする場合,最初の何回かが失敗するのはよくあるこ
とです.ルートディスクを作成する際によく用いられる方針は,手持ちのシス
テムから部品を取り出してフロッピーベースのシステムに詰め込み,コンソー
ルにメッセージが出るまで試行錯誤を繰り返すことです.メッセージさえ出れ
ば半分勝ったも同然です.後はシステムが文句を言わなくなるまで,一つ一つ
問題を解決していけばよいのです.システムが何のメッセージも出さずにハン
グする場合は,その理由を調べるのは大変です.何とか表示が出る段階に達す
るには,いくつかの部品がちゃんと揃っていて,正しく設定されている必要が
あるのです.システムが何も言ってくれないような問題を見つけるためのお勧
めの手順を以下に示します:
以上のような一般的な点が確認できたら,次に示すようなファイルをチェック
してみましょう:
init が /sbin/init または
/bin/init として存在しており,実行可能になっていることを
確認する.
ldd init を実行して, init の使うライブラリを確認してく
ださい.通常は libc.so だけでしょうが,それでもチェックしてください.
必要なライブラリやローダがディスクに入っていることも確認します.
使っているライブラリに合ったローダがあることを確認します.
a.out 形式ならば ld.so ですし,ELF 形式ならば ld-linux.so で
す.
- ブートディスクの /etc/inittab を見て,
getty
(あるいは agetty , mgetty , getty_ps 等の
getty と同等のプログラム) の呼び出し方を調べてください.
これらの記述をハードディスクの inittab
と念入りに比べてください.ちゃんと意味を持った記述になっているか,お使
いのプログラムのマニュアルページも参照してください.inittab はお
そらく最も難しい部分です.なぜなら文法や内容が,使っている init
プログラムやシステムの作りによって変わってしまうからです.inittab
を正しく書くための手段はただ一つ,init と inittab のマニュア
ルページを読んで,現在のシステムがブート時にやっていることを解き明かす
ことです. /etc/inittab を見て,そこにシステムの初期化を
行っているエントリがあることを確認してください.このファイルにはシステ
ム初期化のために実行するスクリプトが書かれているはずです.ここで指定さ
れているファイルは存在していなければなりません.
init に行ったのと同じように, getty に対して
も ldd を実行し,必要なライブラリを表示させます.そしてそのライブ
ラリのファイルとローダがルートファイルシステムに入っていることを確認し
ます.
- rc スクリプトを全て実行できるシェルプログラム(例:
bash や
ash )があることを確認します.
- レスキューディスクに /etc/ld.so.chace がすでに存在して
いるようでしたら,作り直してください.
init が起動しても次のようなメッセージが出力されることがあります:
Id xxx respawning too fast: disabled for 5 minutes
これは init が出すもので,お使いの getty または login
が起動してすぐに異常終了したことを示しています.
getty や login の実行ファイル,そしてそれらが依存しているラ
イブラリをチェックしてください. また,/etc/inittab から
の呼び出し方が正しいかどうかも調べてください. getty がおかしなメッ
セージを出力する場合は,おそらく /etc/inittab からの呼び
出し方が間違っています.getty のオプションはプログラムによって違
います.また agetty ではバージョンによって互換性がない場合さえあ
るそうです.
ログインプロンプトが現われ,正しいログイン名を入力したのに,即座に次の
ログインプロンプトをシステムが出す場合には,PAM か NSS に問題があると
思われます.
PAM と NSS の節をご覧ください.シャ
ドウパスワードを使っているのに /etc/shadow をブートディス
クにコピーしていない場合にも,この問題が出ることがあります.
何かの実行ファイル(例えば df )をレスキューディスクから起動したとき
に, df: not found のようなメッセージが出る場合には,次の 2 点を
確認してください: (1) バイナリがあるディレクトリが PATH に含まれているか.
(2) プログラムが必要とするライブラリ(とローダ)があるか.
次のページ
前のページ
目次へ
|