用安卓手机当应急 tf 读卡器刷入树莓派镜像
- 作者: FreeBlues
- 修订版本: 1.00
- 最新链接: https://my.oschina.net/freeblues/blog/1439212
最近看了几篇树莓派的技术文章, 发现几个很有意思的系统, 于是上网买了 3 张 16G
的 tf
卡, 准备拿来刷树莓派系统.
卡到手了, 树莓派镜像也下载回来了, 正要开搞, 发现居然漏掉了 tf
读卡器, 记得以前家里有好几个, 可是正想用的时候却一个也找不着, 怎么办?
忽然想到似乎可以试试拿安卓手机来充当读卡器, 为了防止误操作让手机变砖, 于是把多年前买的一款旧 HTC G7
拿来试验, 用 USB
线连接到电脑的 USB
口, 这时手机界面上提示是否作为 USB
存储, 选择 是
, 这时电脑上的文件浏览器左侧栏里就出现了盘符, 到终端下看看, 命令如下:
Air:code-staff admin$ df -h
Filesystem 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% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
/dev/disk2s1 6.2Gi 3.3Gi 2.9Gi 53% 0 0 100% /Volumes/SDDATA
Air:code-staff admin$
在最后一行显示出了 tf
卡的信息, 看来可行, 于是把新卡换进去, 重复上述操作, 显示如下:
Air:code-staff admin$ df -h
Filesystem 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% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
/dev/disk2s1 15Gi 2.7Mi 15Gi 1% 0 0 100% /Volumes/NO NAME
Air:code-staff admin$
继续成功显示出了未格式化过的新盘的信息, 接下来就是进入到存放树莓派镜像的目录下
Air:code-staff admin$ pwd
/Users/admin/code-staff
Air:code-staff admin$ cd ~/Downloads/thunder/
Air:thunder admin$ ls
BC405FBF4EEA01A0B028A6CDFF0FB1CC8E24189E.tmp.cfg [科技制作大观园].风格.扫描版.pdf raspbx-28-01-2017.img
LuaStudio.app blender-2.77-OSX_10.6-x86_64 raspbx-28-01-2017.zip
LuaStudio_v1_0_3_Mac.zip blender-2.77-OSX_10.6-x86_64.zip sbcl-1.3.19-x86-64-darwin-binary.tar.bz2
Air: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 disk2s1
Air:thunder admin$
再执行 diskutil unmount /dev/disk2s1
把 tf
卡卸载掉, 如下:
Air:thunder admin$ diskutil unmount /dev/disk2s1
Volume NO NAME on disk2s1 unmounted
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 disk2s1
Air: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/rdisk2
dd: /dev/rdisk2: Permission denied
Air:thunder admin$ sudo dd bs=4m if=raspbx-28-01-2017.img of=/dev/rdisk2
Password:
不过这种方法貌似是一个坑, 因为这条命令已经执行快半个小时了, 还没有结束, 看教程上说大概几分钟的样子就跑完了.
不过我决定等下去, 因为镜像大小差不多有 3.9 G
, 即使拷贝也要花点时间, 看看今晚能不能搞定.
就在我打出上述文字的时候, 返回去看了下终端窗口, 发现居然完成了!
Air:thunder admin$ sudo dd bs=4m if=raspbx-28-01-2017.img of=/dev/rdisk2
Password:
931+0 records in
931+0 records out
3904897024 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 disk2s2
Air:thunder admin$
看看最后一行的信息, 显示我们已经刷进去一个 3.8 G
的 Linux
系统.
最后不要忘记先把 tf
卡卸载掉, 再去取卡
Air:thunder admin$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
Air:thunder admin$
所以, 这是一种经过验证的方法, 大家手头缺乏 tf
读卡器的时候可以用你的安卓备用机来应应急!