用安卓手机当应急 tf 读卡器刷入树莓派镜像
- 作者: FreeBlues
- 修订版本: 1.00
- 最新链接:
最近看了几篇树莓派的技术文章, 发现几个很有意思的系统, 于是上网买了 3 张 16G
的 tf
卡, 准备拿来刷树莓派系统.
卡到手了, 树莓派镜像也下载回来了, 正要开搞, 发现居然漏掉了 tf
读卡器, 记得以前家里有好几个, 可是正想用的时候却一个也找不着, 怎么办?
忽然想到似乎可以试试拿安卓手机来充当读卡器, 为了防止误操作让手机变砖, 于是把多年前买的一款旧 HTC G7
拿来试验, 用 USB
线连接到电脑的 USB
口, 这时手机界面上提示是否作为 USB
存储, 选择 是
, 这时电脑上的文件浏览器左侧栏里就出现了盘符, 到终端下看看, 命令如下:
Air:code-staff admin$ df -hFilesystem Size Used Avail Capacity iused ifree %iused Mounted on/dev/disk1 233Gi 231Gi 1.8Gi 100% 60515522 476093 99% /devfs 192Ki 192Ki 0Bi 100% 664 0 100% /devmap -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /netmap auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home/dev/disk2s1 6.2Gi 3.3Gi 2.9Gi 53% 0 0 100% /Volumes/SDDATAAir:code-staff admin$
在最后一行显示出了 tf
卡的信息, 看来可行, 于是把新卡换进去, 重复上述操作, 显示如下:
Air:code-staff admin$ df -hFilesystem Size Used Avail Capacity iused ifree %iused Mounted on/dev/disk1 233Gi 231Gi 1.8Gi 100% 60514333 477282 99% /devfs 191Ki 191Ki 0Bi 100% 660 0 100% /devmap -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /netmap auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home/dev/disk2s1 15Gi 2.7Mi 15Gi 1% 0 0 100% /Volumes/NO NAMEAir:code-staff admin$
继续成功显示出了未格式化过的新盘的信息, 接下来就是进入到存放树莓派镜像的目录下
Air:code-staff admin$ pwd/Users/admin/code-staffAir:code-staff admin$ cd ~/Downloads/thunder/Air:thunder admin$ lsBC405FBF4EEA01A0B028A6CDFF0FB1CC8E24189E.tmp.cfg [科技制作大观园].风格.扫描版.pdf raspbx-28-01-2017.imgLuaStudio.app blender-2.77-OSX_10.6-x86_64 raspbx-28-01-2017.zipLuaStudio_v1_0_3_Mac.zip blender-2.77-OSX_10.6-x86_64.zip sbcl-1.3.19-x86-64-darwin-binary.tar.bz2Air:thunder admin$
然后按照教程提示, 先执行 diskutil list
查询下更详细的硬件信息, 如下:
Air:thunder admin$ diskutil list/dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *251.0 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_CoreStorage Macintosh HD 250.1 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3/dev/disk1 (internal, virtual): #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Macintosh HD +249.8 GB disk1 Logical Volume on disk0s2 40611223-18D4-4E50-81CD-6AD48C6D99AE Unlocked Encrypted/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.9 GB disk2 1: Windows_FAT_32 NO NAME 15.9 GB disk2s1Air:thunder admin$
再执行 diskutil unmount /dev/disk2s1
把 tf
卡卸载掉, 如下:
Air:thunder admin$ diskutil unmount /dev/disk2s1Volume NO NAME on disk2s1 unmountedAir:thunder admin$ diskutil list/dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *251.0 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_CoreStorage Macintosh HD 250.1 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3/dev/disk1 (internal, virtual): #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Macintosh HD +249.8 GB disk1 Logical Volume on disk0s2 40611223-18D4-4E50-81CD-6AD48C6D99AE Unlocked Encrypted/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.9 GB disk2 1: Windows_FAT_32 NO NAME 15.9 GB disk2s1Air:thunder admin$
最后再执行 dd bs=4m if=raspbx-28-01-2017.img of=/dev/rdisk2
来向 tf
卡内写入树莓派镜像 raspbx-28-01-2017.img
, 这里需要 root
权限, 然后就是等待了:
Air:thunder admin$ dd bs=4m if=raspbx-28-01-2017.img of=/dev/rdisk2dd: /dev/rdisk2: Permission deniedAir:thunder admin$ sudo dd bs=4m if=raspbx-28-01-2017.img of=/dev/rdisk2Password:
不过这种方法貌似是一个坑, 因为这条命令已经执行快半个小时了, 还没有结束, 看教程上说大概几分钟的样子就跑完了.
不过我决定等下去, 因为镜像大小差不多有 3.9 G
, 即使拷贝也要花点时间, 看看今晚能不能搞定.
就在我打出上述文字的时候, 返回去看了下终端窗口, 发现居然完成了!
Air:thunder admin$ sudo dd bs=4m if=raspbx-28-01-2017.img of=/dev/rdisk2Password:931+0 records in931+0 records out3904897024 bytes transferred in 2702.006399 secs (1445184 bytes/sec)Air:thunder admin$
接着继续查看磁盘信息:
Air:thunder admin$ diskutil list/dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *251.0 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_CoreStorage Macintosh HD 250.1 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3/dev/disk1 (internal, virtual): #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Macintosh HD +249.8 GB disk1 Logical Volume on disk0s2 40611223-18D4-4E50-81CD-6AD48C6D99AE Unlocked Encrypted/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.9 GB disk2 1: Windows_FAT_32 NO NAME 78.6 MB disk2s1 2: Linux 3.8 GB disk2s2Air:thunder admin$
看看最后一行的信息, 显示我们已经刷进去一个 3.8 G
的 Linux
系统.
最后不要忘记先把 tf
卡卸载掉, 再去取卡
Air:thunder admin$ diskutil unmountDisk /dev/disk2Unmount of all volumes on disk2 was successfulAir:thunder admin$
所以, 这是一种经过验证的方法, 大家手头缺乏 tf
读卡器的时候可以用你的安卓备用机来应应急!