처음부터 Linux 커널을 구축하려고 합니다. 현재 시스템에는 Ubuntu 20.04.3 LTS에서 Linux 5.4.0-050400 일반 커널을 실행하는 Intel Xeon Gold 6242 CPU가 있습니다.
커널을 빌드하기 위해 수행한 단계는 다음과 같습니다.
cd /path/to/new/kernel/source
(다운로드 후 소스코드는 수정되지 않았습니다)cp -v /boot/config-5.4.0-050400-generic ./.config
make menuconfig
, 복사된 내용을 로드하고 저장합니다.config file
(.config
내용은 실제로 변경되지 않지만 줄 순서는 변경됩니다).make -j32
make modules_install install
마침내 재부팅할 때까지 모든 것이 오류 없이 잘 실행되고 있었지만, 부팅하기 위해 새 커널을 선택했을 때 다음 메시지와 함께 실패했습니다.
내가 작동시키려고 시도한 몇 가지 다른 옵션은 다음과 같습니다.
- 소스에서 Linux 5.18.0 빌드(Ubuntu 20.04.3 LTS는 Linux 5.4를 기본 커널로 사용하므로 이전 버전이 작동하지 않을 수 있다고 생각했습니다):같은 오류 메시지와 함께 실패합니다
.config
이미 사용 중인 파일을 복사할 필요 없이새.config
파일 만들기기존 파일에서 로드/저장 여부 에 관계make menuconfig
없이 :.config
같은 오류 메시지와 함께 실패합니다- 소스에서 커널을 빌드하는 대신 Ubuntu 메인라인 커널에서 직접 새 커널을 설치해 보십시오.잘 작동합니다(리눅스 5.15.0)
나는 다음과 같은 비슷한 질문을 확인했습니다.Linux 커널을 컴파일하고 UEFI로 부팅,동기화되지 않음: VFS: 알 수 없는 블록(0,0)에 루트 파일 시스템을 마운트할 수 없습니다., 그리고자체 구축 커널을 사용하여 부팅할 수 없습니다.하지만 행운은 없습니다.
마지막으로 한 가지: 이것은며칠 전에 게시한 Reddit의 중복된 질문입니다., 하지만 아쉽게도 거기에서 많은 도움을 얻지 못했기 때문에 여기에 다시 게시합니다.
어떤 조언이라도 대단히 감사하겠습니다. 감사해요!
답변1
R640에서도 같은 문제가 발생했습니다. 내가 한 수정은 실행 후에 수행 한 다음 실행 make -j "$(nproc)" bindeb-pkg
하는 대신 패키지를 설치하는 것이었습니다.make
.deb
dpkg
make modules_install install
문제의 진짜 근본 원인이 무엇인지 누가 압니까?