在OSX上模拟Raspberry Pi

时间:2016-04-15 07:41:50

标签: macos raspberry-pi emulation qemu ext4

在寻找解决方案之后,我意识到这只能通过使用QEMU来完成。

  • 我下载了内核:

https://codeload.github.com/dhruvvyas90/qemu-rpi-kernel/zip/master

  • 和Raspbian图片:

https://www.raspberrypi.org/downloads/raspbian/

  • 安装依赖项后安装QEMU

然后使用以下参数运行qemu

 qemu-system-arm \
  -cpu arm1176 \
  -m 256 \
  -M versatilepb \
  -no-reboot \
  -serial stdio \
  -append "root=/dev/sda2 panic=1 rootfstype=ext2 rw init=/bin/bash earlyprintk loglevel=8 console=ttyAMA0,115200" \
  -kernel /kernel/kernel-qemu-4.1.13-jessie \
  -drive file=/img/raspbian.img,index=0,media=disk,format=raw

我收到以下错误

EXT4-fs (sda2): bad geometry: block count 944128 exceeds size of device (944127 blocks)
EXT4-fs (sda2): bad geometry: block count 944128 exceeds size of device (944127 blocks)
List of all partitions:
0100            4096 ram0  (driver?)
0101            4096 ram1  (driver?)
0102            4096 ram2  (driver?)
0103            4096 ram3  (driver?)
0104            4096 ram4  (driver?)
0105            4096 ram5  (driver?)
0106            4096 ram6  (driver?)
0107            4096 ram7  (driver?)
0108            4096 ram8  (driver?)
0109            4096 ram9  (driver?)
010a            4096 ram10  (driver?)
010b            4096 ram11  (driver?)
010c            4096 ram12  (driver?)
010d            4096 ram13  (driver?)
010e            4096 ram14  (driver?)
010f            4096 ram15  (driver?)
0800         3842047 sda  driver: sd
  0801           61440 sda1 ea0e7380-01
  0802         3776511 sda2 ea0e7380-02
0b00         1048575 sr0  driver: sr
1f00           65536 mtdblock0  (driver?)
No filesystem could mount root, tried:  ext4
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2)

我搜索了一下这个问题,似乎没有人关心,甚至没有给出解决方案,因为OSX似乎无法使用ext4分区。

2 个答案:

答案 0 :(得分:1)

要在Mac OS X(或简称MacOS)上访问ExtFS分区,您需要其他软件。 我个人使用Paragon Software的版本(https://www.paragon-software.com/home/extfs-mac/),但很可能有一些免费版本。

您需要启动到安全模式,修改系统并重新启动到正常模式。

答案 1 :(得分:0)

我找到了免费安装ExtFS分区/驱动器(可能还有NTFS)的免费方法。

OSXFuse或MacFuse是一个开源项目,为几乎所有的mac(10.5+)提供文件系统支持。它最后更新于2016年。 网站https://osxfuse.github.io/

您可能需要禁用SIP,这样做只需在启动时按住COMMAND + R.出现一个恢复菜单,从“工具”菜单中选择“终端”。在终端窗口中,键入“csrutil disable”。从Apple菜单重新启动,并安装您想要的任何程序。 禁用SIP有可能是危险的,所以我不建议这样做。但是,有些例外情况需要它。