カスタムカーネルが起動できないinitramfsを生成する - CentOS 7

カスタムカーネルが起動できないinitramfsを生成する - CentOS 7

make私は独自のカーネル(4.19.37)を構築してきましたが、ビルド()またはインストール(make install_modules+)make installに問題はありませんでした。を実行するまですべてがうまくいくようですgrub2-mkconfig -o /boot/grub2/grub.cfg。このコマンドを実行すると、grubはvmlinuz-*既存のカーネルと新しいカーネル/boot/とそのカーネルを見つけますinitramfs-*.img。ただし、この時点でシステムは無期限(>数時間)停止します。 Ctrl+C停止できないため、再起動する必要があります。この問題を調査したところ、起動可能なオペレーティングシステムで削除されたディスクを検出することが問題である可能性があることがわかりました。そのディスクを削除し、GRUB_DISABLE_OS_PROBER=true各ディスクに追加して/etc/default/grub問題を削除しました。このSEポスト。どちらも役に立ちません。

grub>再起動後にコマンドラインに達しました。それはおそらく、grub2-mkconfiggrub設定ファイルが完了せず、破損しているからです。ここでは、古いカーネルと新しいカーネルだけでなくinitramfsも問題なくロードできますが、ブートを実行するとカーネルパニックが発生します。

end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

カーネルパニックシャットダウン - 同期されていません:VFS:未知のブロック(1,0)にルートファイルシステムをマウントできません。

もちろん、私の仮定はinitramfs-4.19.37.img私のビルドプロセスに問題があるということです。実験で新しいカーネルをロードできるかどうかをテストしましたが、古いinitramfs(4.19.10)を使用して実際に起動しましたemergency mode。ただし、新しいカーネルを使用して以前のカーネルで反対の操作を実行することはできませんでした。 initramfs。だから私の新しいinitramfsイメージには何か不審な点があります。

よりスマートになり、最後の実験はmount。また、カーネルビルドの古いファイルと新しいファイルを比較しましたが、.config違いはわずかです。

その他の注意事項/観察事項:

  • 上の画像を見ると何の結果も出ていないことList of all partions:がわかりますが、ファイルシステムの種類に問題があるのか​​気になります。私のハードドライブにはxfsどのようなファイルシステムがありますかinitramfs?最高情報責任者?
  • grub>コマンドラインからls /生成します。/boot.itにはすべてのvmlinuz-*ファイルが含まれています。initramfs-*.img
  • 私のファイルシステムはxfs
  • 同じ結果で、さまざまな異なるカーネルバージョンを試しました。
  • 私は2回正常にビルドしてインストールしました。一度はアップグレードされた既存のカーネル(4.19.10)を使用し、2番目はlow-latencyプリエンプションモデルを持つ同じカーネルを使用しました。私はその時に私が何を変えたかを一生知りません。

したがって、最後の質問は -initramfsこれらのビルドの形には何の問題がありますか?整合性を確認するために何ができますか?.configファイルシステム用のカーネルを構築するときに変更する必要がありますかxfs


免責事項:したがって、これは実際には連続です。この問題しかし、問題を少し単純化しました。いくつかの背景情報が関連する可能性があります。

ベストアンサー1

おすすめ記事