Ubuntu 11.04を使用しています
カスタム2.6.36.4カーネルソースコード(例linux_src
:)があります。
Didはmake mrproper
私の現在の設定を/boot
Did linux_src/.config
aにコピーしてmake menuconfig
設定ファイルをロードするように指示しました.config
。一般設定では、rr
カーネルのバージョン番号に文字列を追加します。構成を終了します。
スーパーユーザーになりますmake && make modules_install && make install
。これにより、/boot に vmlinuz-2.6.36.4rr イメージが作成され、/lib/modules に対応するディレクトリが作成されます。 System.mapは/bootにありますが、initrdイメージにはありません。
だから、次のコマンドを実行しました。
cd /boot && sudo mkinitramfs -k -o initrd.img-2.6.36.4rr
ついに私は走ったsudo update-grub
。 Grubは私の新しいLinuxイメージと新しいinitrdイメージを見つけました。
起動時に新しくインストールされたカーネルが[マイブート]オプションに一覧表示されます。それを選択しましたが、画面が消えました(しかしそうではありませんでした)。ブラック、一部のデフォルトのUbuntuテーマ色の空の画面のみが表示され、そこで停止します。
私はmakeinitramfsプロセスが犯人だと思います。
一方、以下をmake-kpkg
使用して同じdpkg
カーネルをインストールした場合いいえこのようにカーネルをインストールしたい)
助けてください。
編集:少し進歩がありました
使用する代わりに:
cd /boot && sudo mkinitramfs -k -o initrd.img-2.6.36.4rr
使った
cd /boot && sudo mkinitramfs -k -o initrd.img-2.6.36.4rr 2.6.36.4rr
私はこれがmkinitramfsを使用する正しい方法だと思います。
ただし、起動プロセスは「Abandoned wait for root device」とinitramfsプロンプトで終了します。
ベストアンサー1
説明を読んでみると、構成フェーズで重要な操作を実行していないようです。make oldconfig
ファイルをコピーして.config
実行する前ですmake menuconfig
(ただし、構成が.config
ソースディレクトリのファイルに保存されている場合は、次の作業を行う必要はありません)。明示的にロードします。これは基本的に行われます。これは、新しいカーネルバージョンが元のカーネルバージョンと少しでも異なる場合はすべての場合に必要です.config
。
あなたのinitramfsを生成する方法はよくわかりません。私が使用した唯一の方法はですgenkernel
。ただし、initramfsが犯人であることを確認するには、単に古いinitramfsファイル(で使用されているファイル)を指すようにgrubエントリを変更するだけです。現在のシステム)。システムが起動したら、通常キーを押して起動メッセージを表示することができます(まず、ブートローダメニュー項目からその項目を削除する必要があるかもしれませんF1)。quiet
編集する:
考えてみましょう:grubメニュー項目(/boot/grub/grub.cfg
またはで見つかった/boot/grub/grub.conf
)に問題がある可能性があります。前のメニュー項目と新しいメニュー項目を比較してみてください。カーネルパラメータが間違っている可能性があります(例:bug real_root
)。簡単に言えば、次の行はkernel
カーネルの場所とinitrdを除いて同じでなければなりません。