カスタムカーネルを起動できません

カスタムカーネルを起動できません

Ubuntu 11.04を使用しています

カスタム2.6.36.4カーネルソースコード(例linux_src:)があります。

Didはmake mrproper 私の現在の設定を/bootDid 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を除いて同じでなければなりません。

おすすめ記事