新しくコンパイルされたカーネルを起動できません(通常のカーネル3.12.14)。

新しくコンパイルされたカーネルを起動できません(通常のカーネル3.12.14)。

kernel.orgからカーネルをダウンロード、設定、インストールしました。この新しいカーネルを初めて起動するとき、このエラー画面はルートデバイスがないか、間違って言及されていることを指すことがあります。しかし、明示的に言及しておらず、インストールスクリプトで言及しました。これがバグであれば、誰かを修正する方法を教えてもらえますか?

あるいは、原因が他のものである可能性がある場合は、それが何であるかを教えてください。

注:私はこのプロセスのすべてにVirtualBoxを使用しました。この実験中にラップトップを起動できないようにしたくありません。ここに画像の説明を入力してください。

メモ:

  1. Grubエントリは、このシステムで実行されている他のカーネルと同じで、他のカーネルがうまく機能するため、問題はありません。
  2. DEVTMPSは単に警告を生成します。プログラマは警告ではなくエラーにのみ興味があると思います。したがって、それが主な理由ではないことを願っています。
  3. TSCでエラーが発生したことを確認してみると、おそらくルートデバイスとは何の関係もないクロックモードでした。
  4. 繰り返しますが、動作している他のカーネル grub エントリが同じ ID を使用して正しく起動するため、UUID は問題になりません。

ベストアンサー1

ルートファイルシステムにアクセスするために必要なドライバの1つがありません。 initramfsのコードはマウントするブロックデバイスを探していますが、失敗するため、問題はそのデバイスにアクセスすることです。 initramfsのコードは自分がアクセスできるコードだけを見ることができ、問題は必要なルートデバイスにアクセスできないため、より明確なメッセージを得ることができません。

make localmodconfigカーネルソースディレクトリから実行して、現在使用中のすべてのドライバを含むカーネルを設定できます。より良い方法は、ディストリビューションのカーネルを使用するか(これを行わない唯一の一般的な理由は、ハードウェアが新すぎてサポートできないことです)、少なくともディストリビューションのカーネル構成を使用することです。 Ubuntuを使用しているので、次を見つけることができます。更新されたプリコンパイルされたカーネル必要に応じて。

独自のカーネルを設定したい場合は、ブートに含める必要があるもののチェックリストがあります。一般的な要件のみをリストしましたが、これは完全なリストではありません。

  • SCSIBLK_DEV_SD(→ scsi_modsd_mod)は、ほとんどのハードドライブおよび類似デバイス(SCSIまたはATAを含むSCSIに似たコマンドセットを含む)です。
  • ハードディスクコントローラの右側ATA_xxxまたはPATA_xxxその他(たとえば、およびIntel PCチップセットのAHCIコントローラの場合SATA_xxxSCSI_xxxata_genericlibataahci
  • MD、該当する場合はBLK_DEV_MD正しいRAIDモード(→md_modとはいraid1
  • MDBLK_DEV_DM(→ md_moddm_mod)はLVMの場合です。
  • MDBLK_DEV_DMおよびdm - DM_CRYPTcryptに必要な暗号化アルゴリズム(→ md_mod、たとえば、など)dm_moddm_cryptaes_genericsha256_genericcbc
  • EXT4_FS(→ ext4)または他のファイルシステム。

これはカーネルに組み込まれているか、モジュールにコンパイルできます。モジュールにコンパイルする場合は、initramfsにモジュールを含めることを忘れないでください。使用する場合Ubuntuのカーネルビルドインフラ、カーネルパッケージをインストールすると、すべてが自動的に行われます。

おすすめ記事