Qemu를 사용하여 Buildroot Linux 이미지를 실행하는 방법은 무엇입니까?

Qemu를 사용하여 Buildroot Linux 이미지를 실행하는 방법은 무엇입니까?

i386용 Buildroot를 사용하여 임베디드 Linux를 컴파일했습니다. 너무 많이 수정하지는 않았고 기본값만 사용했습니다. 이제 qemu에서 실행하고 싶습니다. 하지만 내가 보는 유일한 것은 다음과 같습니다. 여기에 이미지 설명을 입력하세요.

다음 옵션으로 qemu를 실행하고 있습니다.

qemu-system-i386 -kernel vmlinux -hda rootfs.ext2 -m 256

왜 이런 일이 발생합니까? buildroot 문서의 예와 같이 컴파일했습니다.

답변1

유효한 명령

제대로 작동하는지 확인하기 위해 Buildroot에서 QEMU를 빌드하도록 하고 Buildroot에서 제공하는 정확한 QEMU CLI를 사용할 수 있습니다.https://github.com/buildroot/buildroot/blob/2019.05/board/qemu/x86_64/readme.txt

git clone https://github.com/buildroot/buildroot
cd buildroot
git checkout 2019.05
make qemu_x86_64_defconfig
printf '
BR2_CCACHE=y
BR2_PACKAGE_HOST_QEMU=y
BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE=n
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
BR2_PACKAGE_HOST_QEMU_VDE2=y
' >> .config
make olddefconfig
time make BR2_JLEVEL="$(nproc)" HOST_QEMU_OPTS='--enable-sdl --with-sdlabi=2.0'
./output/host/bin/qemu-system-x86_64 \
  -M pc \
  -kernel output/images/bzImage \
  -drive file=output/images/rootfs.ext2,if=virtio,format=raw \
  -append "rootwait root=/dev/vda" \
  -net nic,model=virtio \
  -net user \
;

이제 셸에 있으며 root사용자 이름(비밀번호 없음)을 사용하여 로그인할 수 있습니다.

여기에 이미지 설명을 입력하세요.

그러나 기본 Buildroot 버전에는 기본적으로 X11과 같은 흥미로운 GUI가 없습니다. 이는 프로젝트의 가장 일반적인 사용 사례가 아니기 때문입니다. 나는 이것을 다음에서 다루었습니다.내 Linux Buildroot 시스템에 X11을 어떻게 설치합니까?

그러나 Buildroot는 내 요구 사항의 실행 부분(더 많은 자동화, 더 많은 시작 유형, GDB 단계 디버깅)에 충분히 집중하지 않았기 때문에 이 프로젝트에서 몇 가지 추가 스크립트를 사용하여 이를 확장했습니다.https://github.com/cirosantilli/linux-kernel-module-cheat

다음에 언급된 기타 ISA:https://cirosantilli.com/linux-kernel-module-cheat/#buildroot-hello-world

Buildroot 2019.08 QEMU 3.1.1 버전의 x86_64 빌드가 손상되어 QEMU 빌드가 실패합니다...QEMU 3.1.1 빌드 실패

우분투 19.04에서 테스트되었습니다.

관련 정보