お客様が私にカスタムカーネルを提供し、以下を使用してビルドするように依頼しました。
make
sudo su
make modules_install
make install
ターゲットコンピュータが遅すぎるため、ホストコンピュータでこれを行う必要があります。ターゲットのハードドライブ(外付けハードドライブ)にルートを移動し、最初の3つのコマンドはスムーズに実行されましたが、最後のステップ「make install」は機能しませんでした。次のメッセージが表示されます。
grub-probe: error: cannot find a device for / (is /dev mounted?)
ターゲットコンピュータに戻り、最後のコマンドを完了して問題を解決しました。エラーメッセージの意味と、私のデスクトップでこれを行うことができない理由を誰かが説明できますか?
答え1
これを行うには、make install
grub ブートローダの更新を試みます。これを行うには、/boot
およびを見つける必要があります/dev
。 chroot環境でこれを実行しているため、このディレクトリ(外付けハードドライブ)には、およびはありません/boot
。/dev
したがって、エラーメッセージとインストールに失敗します。
答え2
Linuxカーネルで実行すると、make install
ブートローダ(この場合はGrub)が最新のカーネルイメージの場所に更新されます。
これはchroot環境にあるため、に必要なブートファイルがmake
見つかりません。 /boot
/dev
安全のために実行する前にchroot環境でマウントする必要があります/dev
。/boot
/proc
make install