qemu에서 Raspberry PI 빌드루트 이미지 실행

qemu에서 Raspberry PI 빌드루트 이미지 실행

buildroot를 사용하여 raspberrypi3용 Linux 이미지를 빌드하고 이를 qemu에서 실행하려고 합니다. 제작 과정이 완료된 후 sdcard.img 파일을 SD 카드에 복사하고 실제 라즈베리파이 기기에서 아무런 문제 없이 OS를 올바르게 실행할 수 있었습니다.

하지만 동일한 이미지 파일을 사용하여 qemu에서 실행하려고 하면 부팅이 실패합니다.

1) qemu-system-aarch64 -M raspi3 -kernel zImage -dtb <generated dtb> -sd <generated .img> => qemu window opens but blank. nothing on the terminal as well.
2) qemu-system-arm -M raspi2 -kernel zImage -dtb <generated dtb> -sd <generated .img> => qemu window opens. raspberry image appears on top left corner. but in the teminal window there is a kernel panic. VFS mount failed
3) same as 1st step but with a freshly compiled qemu from source => same as 1st step. nothing on the qemu window or in the terminal.

내가 뭐 잘못 했어요?

답변1

며칠간의 인터넷 검색 끝에 내 질문에 대한 답을 찾았습니다. 터미널 명령에 사용한 buildroot make 프로세스로 빌드한 커널 이미지 zImage가 QEMU와 호환되지 않습니다. 이 문제를 해결하기 위해 QEMU 호환 Raspberry Pi 커널을 직접 컴파일해야 했습니다.

나는 내 자신의 커널을 컴파일하기 위해 이 링크를 따라갔습니다.Raspberry Pi 크로스 컴파일 커널 그러다가 QEMU를 사용하여 OS를 실행했을 때 VFS 설치에 실패했다는 또 다른 커널 패닉이 발생했습니다. 이전에 터미널 출력을 읽어보니 미디어 공간이 부족하다고 나와 있었습니다. 따라서 scraped.img 파일을 1G로 확장하고 동일한 터미널 명령을 실행하십시오.

이제 QEMU는 완벽하게 실행됩니다.

관련 정보