Mac环境SD卡刷入Android Things系统

2017/07/13 android things

本文首发于《简书》,转载请保留链接 : )

在Mac OS上,您可以选择命令行dd工具或使用图形工具ImageWriter将图像写入SD卡。

图形界面

  • 将SD读卡器与SD卡连接。 注意,它必须格式化为FAT32。
  • 从Apple菜单中,选择“关于本机”,然后单击“更多信息…”; 如果您使用的是Mac OS X 10.8.x Mountain Lion或更高版本,请点击“系统报告”。
  • 单击“USB”(或“读卡器”,如果使用内置的SD卡读卡器),然后在窗口的右上部分搜索您的SD卡。 单击它,然后在右下部分中搜索BSD名称; 它将看起来像diskn,其中n是一个数字(例如,disk4)。 请务必记下此号码。
  • 卸载分区,以便允许您覆盖磁盘。 为此,打开磁盘实用程序并卸载它; 但不要弹出它,否则你将不得不重新以上操作。 请注意,在Mac OS X 10.8.x Mountain Lion上,“验证磁盘”(卸载前)将显示BSD名称为/dev/disk1s1或类似,允许您跳过前两个步骤。
  • 从终端运行以下命令:
    sudo dd bs=1m if=path_of_your_image.img of=/dev/rdiskn
    

    请记住将n替换为您之前注明的数字!

  • 如果此命令失败,请尝试使用disk替换rdisk:
    sudo dd bs=1m if=path_of_your_image.img of=/dev/diskn
    

命令行

  • 如果您习惯用命令行,可以通过命令后将镜像写入SD卡,而无需任何其他软件。 打开终端,然后运行:
diskutil list
  • 确定SD卡的磁盘(而非分区),例如 disk4,而不是disk4s1。
  • 使用磁盘标识符卸载SD卡,以准备将数据复制到其中:
diskutil unmountDisk /dev/disk<disk# from diskutil>

其中disk是您的BSD名称,例如 diskutil unmountDisk/dev/disk4

  • 将数据复制到SD卡:
sudo dd bs=1m if=image.img of=/dev/rdisk<disk# from diskutil>

其中disk是您的BSD名称,例如 sudo dd bs=1m if=2016-11-25-raspbian-jessie.img of=/dev/rdisk4

  • 如果你安装了GNU coreutils,这可能导致 dd: invalid number '1m'。 在这种情况下,您需要在bs =节中使用1M的块大小,如下所示:
sudo dd bs=1M if=image.img of=/dev/rdisk<disk# from diskutil>

这将需要几分钟,具体取决于图像文件大小。 您可以通过发送SIGINFO信号来检查进度(按Ctrl + T)。

  • 如果此命令仍然失败,请尝试使用disk替换rdisk,例如:
sudo dd bs=1m if=2016-11-25-raspbian-jessie.img of=/dev/disk4
//or
sudo dd bs=1M if=2016-11-25-raspbian-jessie.img of=/dev/disk4

替代方法

注意:有些用户报告了使用此方法创建SD卡的问题。 这些命令和操作需要从具有管理员权限的帐户执行。

  • 从终端运行df -h
  • 将SD读卡器与SD卡连接。
  • 再次运行df -h并查找上次未列出的新设备。 记录文件系统分区的设备名称,例如/dev/disk3s1
  • 卸载分区,以便允许您覆盖磁盘:
sudo diskutil unmount /dev/disk3s1

或者,打开磁盘实用程序并卸载SD卡的分区; 但不要弹出它,否则你将不得不重新连接它。

  • 使用分区的设备名称,通过省略最后的s1并用rdisk替换disk来计算整个磁盘的原始设备名称这是非常重要的,因为如果提供错误的设备名称,您将丢失硬盘驱动器上的所有数据 。确保设备名称是整个SD卡的名称,如上所述,而不只是它的一个分区 - 例如,rdisk3,而不是rdisk3s1。类似地,您可能有另一个SD驱动器名称/编号,如rdisk2rdisk4; 您可以在将SD读卡器插入Mac之前和之后使用df -h命令再次检查。 例如,/dev/disk3s1变为/dev/rdisk3

  • 在终端中,使用此命令,使用上面的原始设备名称将镜像写入卡。 请仔细阅读上述步骤,以确保您在此处使用正确的rdisk号:

sudo dd bs=1m if=2016-11-25-raspbian-jessie.img of=/dev/rdisk3

如果上述命令报告错误dd: bs: illegal numeric value,请将块大小bs=1m更改为bs=1M。 如果上述命令报告错误dd: /dev/rdisk3: Permission denied,则表示SD卡的分区表正在受到保护,防止被Mac OS覆盖。 使用此命令擦除SD卡的分区表:

sudo diskutil partitionDisk /dev/disk3 1 MBR "Free Space" "%noformat%" 100%

该命令还将设置设备上的权限以允许写入。 现在再次尝试dd命令。 请注意,dd不会提供任何屏幕上的信息,直到有错误或完成; 当完成时,将显示信息,磁盘将重新安装。 如果你想查看进度,可以使用Ctrl-T; 这将生成SIGINFO,终端的状态参数,并将显示有关进程的信息。

  • dd命令完成后,弹出卡:
sudo diskutil eject /dev/rdisk3

或者,打开磁盘实用程序,然后使用此按钮弹出SD卡。


本文使用eLinux wiki页面RPi_Easy_SD_Card_Setup中的内容,该页面是根据Creative Commons Attribution-ShareAlike 3.0 Unported许可共享的


参考文献 https://www.raspberrypi.org/documentation/installation/installing-images/mac.md

搜索