「make install」が私のターゲットコンピュータでのみ完了するのはなぜですか?

「make install」が私のターゲットコンピュータでのみ完了するのはなぜですか?

お客様が私にカスタムカーネルを提供し、以下を使用してビルドするように依頼しました。

make
sudo su
make modules_install
make install

ターゲットコンピュータが遅すぎるため、ホストコンピュータでこれを行う必要があります。ターゲットのハードドライブ(外付けハードドライブ)にルートを移動し、最初の3つのコマンドはスムーズに実行されましたが、最後のステップ「make install」は機能しませんでした。次のメッセージが表示されます。

grub-probe: error: cannot find a device for / (is /dev mounted?)

ターゲットコンピュータに戻り、最後のコマンドを完了して問題を解決しました。エラーメッセージの意味と、私のデスクトップでこれを行うことができない理由を誰かが説明できますか?

答え1

これを行うには、make installgrub ブートローダの更新を試みます。これを行うには、/bootおよびを見つける必要があります/dev。 chroot環境でこれを実行しているため、このディレクトリ(外付けハードドライブ)には、およびはありません/boot/devしたがって、エラーメッセージとインストールに失敗します。

答え2

Linuxカーネルで実行すると、make installブートローダ(この場合はGrub)が最新のカーネルイメージの場所に更新されます。

これはchroot環境にあるため、に必要なブートファイルがmake見つかりません。 /boot/dev

安全のために実行する前にchroot環境でマウントする必要があります/dev/boot/procmake install

関連情報