"make install"이 내 대상 컴퓨터에서만 완료되는 이유는 무엇입니까?

"make install"이 내 대상 컴퓨터에서만 완료되는 이유는 무엇입니까?

고객이 나에게 사용자 정의 커널을 제공하고 다음을 사용하여 빌드하도록 요청했습니다.

make
sudo su
make modules_install
make install

대상 컴퓨터가 너무 느리기 때문에 내 호스트 컴퓨터에서 이 작업을 수행해야 합니다. 대상의 하드 드라이브(외장 하드 드라이브)로 루트를 옮겼고 처음 세 명령은 원활하게 실행되었지만 마지막 단계인 "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

관련 정보