转载

raspbian在Linux下烧录系统[翻译]

Pre

去年买的B+,玩了两天就放下了,今年双十一,买了一堆传感器和扩展板,准备重新玩起来,写一系列的文章。

本文系翻译 官网的教程 ,因为官网的教程写的太好了。

注意

dd 工具会覆盖你机器的任何分区,如果你指定了错误的设备,可能会删掉你Linux的主分区,请在下面的步骤中,慎重检查。

  • 运行 df -h 来查看当前有哪些设备被挂载了。
  • 连接你的tf/sd卡到你的电脑
  • 再次运行 df -h ,新添加的设备就是你的sd卡。在该命令的结果中,左边一栏是设备的名字,类似 /dev/mmcblk0p1 或者 /dev/sdd1 ,名字最后的 p1 (或者 1 )是分区号,而不是整个sd卡,我们后面应该把系统写到整张sd卡上。因此,你应该记录下来的是 /dev/mmcblk0/dev/sdd ,这才是你的sd卡。在最后的写系统操作完成后,重新插入sd卡,系统会自动检测出来,而且是多个分区,因为Raspberry Pi SD 的镜像有多个分区。
    [Find注:linux的命令规则sd是外置存储,一般硬盘是sda,而新添加的设备一般都从sdb开始,我的就是sdb。这里一定注意是 /dev/sdb ,而不是像命令行中显示的 /dev/sdb1 。是写入整个sd卡。如果你写错了,最简单的方法就是插入到windows系统中,系统会提示 磁盘未格式化,需要格式化才能访问 ,那就痛快的格式化,重新写一遍。]
  • 运行 umount /dev/sdd1 ,当然,此处就是在上一步的命令中显示的名字(此时不是sdd,是sdd1)。这是为了防止在运行你的copy命令的时候,sd卡有其他的文件读写事件。
  • 如果你的sd卡有多个分区,在上一步中,你应该把所有的分区都卸载(umount)掉
  • 写镜像到sd卡, if= 是你下载的镜像的文件(默认下载是zip文件,需要先解压出来)地址, of= 是你要写入的地址,就是一开始让你记录的sd卡的设备地址。一定要明确,是sd卡整个的地址,不是某个分区的地址。
dd bs=4M if=2015-09-24-raspbian-jessie.img of=/dev/sdd 
  • 块大小设置成 4M 一般没有问题,如果失败了,设置1M试试,当然会更慢。
  • 如果你不是root用户登录的,那么上面的命令需要加 sudo
  • dd 命令不会给出任何交互的信息,没有进度条,没有任何提示,如果你读卡器有指示灯,看到它在狂闪就对了。你也可以通过在另外一个命令行窗口中运行 pkill -USR1 -n -x dd (当然也需要sudo)来看到执行 dd 命令的窗口里打印一次结果。执行几次,就打印几次。
  • 你也可以用 dcfldd 代替 dd ,这个命令会给出进度。
  • 你可以通过dd命令做sd卡到镜像,然后和下载的镜像做对比(使用diff或者md5sum命令),看它们是否一致。sd卡镜像可能比原生的大,确保下面检测命令中你的参数正确,此时 if 就成了设备地址, of 是你想保存的文件名
dd bs=4M if=/dev/sdd of=from-sd-card.img truncate --reference 2015-09-24-raspbian-jessie.img from-sd-card.img diff -s from-sd-card.img 2015-09-24-raspbian-jessie.img 

[Find注:我从来没有检测过。一般是没有问题的。]

+ 最后不要忘了运行 sync ,确保cache中的数据都被写到了sd卡上。

+ 移除sd卡,插到pi是试试吧

正文到此结束
Loading...