QEMU는 Linux에서 SD 카드를 에뮬레이트할 수 있지만 OSX에서는 에뮬레이션할 수 없습니다.

QEMU는 Linux에서 SD 카드를 에뮬레이트할 수 있지만 OSX에서는 에뮬레이션할 수 없습니다.

간결한 버전

SD 카드에서 직접 RaspberryPi를 에뮬레이션하려고 합니다(제공된 것과 동일한 명령을 사용).여기MacOSX에서. QEMU를 사용하고 있습니다.

하지만,내 SD 카드의 파티션이 올바르게 인식되지 않습니다.: QEMU는 *.img 파일을 사용할 때 파티션을 감지합니다. 하지만 SD 카드를 사용할 때는 그렇지 않습니다. MacOSX는 기본적으로 ext4를 설치할 수 없기 때문에 osxfuse와 퓨즈-ext2를 설치해 보았습니다. 이제 다음 명령을 사용하면 문제 없이 ext4 파일 시스템을 마운트할 수 있습니다.

$ mount -t fuse-ext2 /dev/disk2s5 /mnt/sda5

QEMU를 실행하면서 지정된 파일 시스템을 사용해 보았 rootfstype=fuse-ext2으나 QEMU가 여전히 파티션을 감지하지 못했습니다. 실제로 이 필드에 무엇을 입력하더라도 rootfstype동일한 오류가 발생합니다.

VFS: Cannot open root device "sda5" or unknown-block(8,5): error -6
Please append a correct "root=" boot option; here are the available partitions:
0b00         1048575 sr0  driver: sr
1f00           65536 mtdblock0  (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,5)
CPU: 0 PID: 1 Comm: swapper Not tainted 3.10.26+ #2

자세한 내용은

*.img다음 명령을 사용하여 Pi 이미지를 성공적으로 시뮬레이션 할 수 있습니다 .아키텍처Linux그리고로부터운영 체제:

$ qemu-system-arm -커널 경로/to/kernel-qemu -cpu arm1176 -m 256 -MVersatilepb -no-reboot -serial stdio -append "console=ttyAMA0 루트=/dev/sda5 rootfstype=ext4 rw" -hda/path/to/ArchLinuxARM-2014.06-rpi.img

QEMU를 실행하면 SD 카드에서 Pi 시스템을 에뮬레이션할 수 있습니다.아키텍처Linux(에서 언급했듯이이 링크):

$ qemu-system-arm -kernel /path/to/kernel-qemu -cpu arm1176 -m 256 -MVersatilepb -no-reboot -serial stdio -append "console=ttyAMA0 root=/dev/sda5 rootfstype=ext4 rw" -hada/dev/sdd

어디/dev/sdd내 SD 카드가 Arch Linux에서 인식됩니다. 그런 다음 나는운영 체제, 다음과 같습니다:

$ qemu-system-arm -커널 경로/to/kernel-qemu -cpu arm1176 -m 256 -MVersatilepb -no-reboot -serial stdio -append "console=ttyAMA0 루트=/dev/sda5 rootfstype=퓨즈-ext2읽고 쓰다”-hda/dev/disk2

(저는 MacOSX에서 타사인 "fuse-ext2"를 사용했습니다.)

이번에는 파티션이 감지되지 않았으며 위에 복사된 오류가 발생했습니다.

*.imgSD 카드 대신 파일을 실행하면 세 개의 파티션이 감지됩니다: sda1, sda2, sda5.

답변1

이 오류는 SD 카드가 전혀 보이지 않거나 올바르게 표시되지 않음을 나타냅니다.분할질문.

sdcard 인스턴스에 대한 QEMU 명령을 확인하고 다시 시도하세요.

답변2

나도 OS X에서 QEMU를 사용하여 SD 카드에서 시스템을 에뮬레이션하는 것과 같은 계획을 가지고 있습니다. 또한 나는 당신과 같은 문제를 겪었고 같은 상황에 갇혔습니다.

이걸 발견하기 전까지문서. 3.6.6.3 Mac OS X에는 하드 디스크 옵션이 없습니다.

'/dev/cdrom'은 첫 번째 CDROM의 별칭입니다.

현재 이동식 미디어를 처리하는 전용 코드가 없으므로 미디어를 변경하거나 꺼내려면 모니터 변경 또는 꺼내기 명령을 사용하는 것이 가장 좋습니다.

이것이 SD 카드의 시스템 에뮬레이션이 항상 실패하는 이유인 것 같습니다.

관련 정보