다음을 사용하여 Linux Kernel v3.19(64비트 버전)을 컴파일하고 부팅하려고 합니다.
기본 구성 만들기 kvm 구성 수행 make-j8오류 없이 컴파일되지만 qemu 또는 내 호스트 내에서는 시작되지 않습니다. 저는 Linux용으로 다음 명령줄 매개변수를 사용합니다: "debug Earlyprintk loglevel=7"
이 시점에서 부츠가 걸려 있습니다 -
ROM에서 부팅... 코드에서 초기 콘솔 설정 decompress_kernel의 초기 콘솔 Linux 포장 풀기...ELF 주차...완료. 커널을 부팅합니다.
지금까지 시도한 것 -
- 흥미롭게도 (make menuconfig를 통해) 구성에서 64비트 빌드를 선택 취소하면 결과 32비트 커널이 올바르게 부팅됩니다.
- kvm이 있거나 없는 다른 CPU(호스트) +로 qemu를 실행해 보았습니다.
sudo qemu-system-x86_64 -m 4G -append 'debug Earlyprintk loglevel=7' -kernel arch/x86/boot/bzImage -cpu 호스트 -enable-kvm
루트 파일 시스템이 없기 때문에 커널에 패닉이 발생할 것이라는 것을 알고 있지만 부팅 프로세스의 매우 늦게 발생합니다. 내 기준은 32비트 버전의 커널을 부팅하는 것입니다. 이 커널은 많은 양을 인쇄한 다음 vfs_root가 없기 때문에 패닉 상태가 됩니다.
- 커널 v4.2 이상의 64비트 버전에는 이 문제가 없습니다. 즉, 올바르게 부팅된다는 의미입니다.
오류가 무엇인지에 대한 조언이 있습니까?
사용된 Linux 커널 저장소: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
내 구성: https://dl.dropboxusercontent.com/u/9020146/errors/linux_2017_05_05/config-used
QEMU 버전:QEMU 에뮬레이터 버전 2.5.0(Debian 1:2.5+dfsg-5ubuntu10.11