600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > linux镜像烧录工具 树莓派操作系统镜像烧录方法指南

linux镜像烧录工具 树莓派操作系统镜像烧录方法指南

时间:2019-07-12 09:54:03

相关推荐

linux镜像烧录工具 树莓派操作系统镜像烧录方法指南

树莓派是一个微型计算机硬件平台,为使其正常工作还需要安装操作系统。通常将树莓派操作系统烧录到SD卡上,再将SD卡插到树莓派上。加电启动后,树莓派就会从SD卡引导启动操作系统,开始工作。这里SD卡就相当于普通计算机的硬盘。下面记录在Debian Linux下烧录树莓派操作系统到SD卡的方法。

镜像烧录工具

Etcher

Etcher是树莓派官方推荐的镜像烧录工具。它采用图形界面,支持Windows、Linux、Mac,使用简单方便,推荐普通用户使用。

dd

Linux的dd命令用于复制文件并对原文件的内容进行转换和格式化处理。dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果。用的比较多的还是用dd来备份裸设备。同样也可用dd命令烧录系统镜像。

使用dd命令必须非常小心,如果输出指定了错误分区,将摧毁该分区的所有数据。

Linux下镜像烧录过程

使用Etcher烧录镜像比较简单,重点介绍使用dd命令烧录镜像的方法。

查找sd卡设备

可使用lsblk或者fdisk命令查找sd卡存储设备。需要注意的是:

块设备以/dev/sdX命名,其中X是小写字母,例如/dev/sda。

测试时发现当计算机只有usb3.0接口时,将不识别usb2.0的sd读卡器。

烧录镜像到sd卡

将镜像烧录到sd卡

使用如下dd命令将树莓派镜像少量到sd卡:

1dd bs=4M if=-10-09-raspbian-stretch.img of=/dev/sdX conv=fsync

其中:

if=文件名:输入文件名,缺省为标准输入。即指定源文件。

of=文件名:输出文件名,缺省为标准输出。即指定目的文件。

bs=bytes:同时设置读入/输出的块大小为bytes个字节。

conv=conversion:用指定的参数转换文件。

将压缩镜像烧录到sd卡

当文件系统不支持大于4GB的文件时,可使用利用管道技术烧录镜像,命令如下:

1unzip -p -10-09-raspbian-stretch.zip | sudo dd of=/dev/sdX bs=4M conv=fsync

检查烧录进度

默认情况下dd命令不给出烧录进度信息,最新的dd提供status=progress选项给出进度信息,命令如下:

1dd bs=4M if=-10-09-raspbian-stretch.img of=/dev/sdX status=progress conv=fsync

或者可使用dcfldd命令替换dd进行烧录操作。

检查镜像是否正确的烧录到sd卡

先使用dd命令将sd卡中内容复制到硬盘,在使用diff或者md5sum检查镜像文件与sd卡内容镜像之间的一致性。

之前dd命令烧录镜像到sd卡完成后会在shell中输出如下结果:

1

2

3xxx+0 records in

yyy+0 records out

yyyyyyyyyy bytes (yyy kB, yyy KiB) copied, 0.00144744 s, 283 MB/s

xxx是我们需要的,表示读取xxx块记录烧录到sd卡,xxx乘以bs=4M应该等于原始镜像的大小。

使用如下命令复制sd卡内容到硬盘上:

1

2# 经测试count命令没有其作用,该命令将整个sd内容复制到了硬盘,但我们期望只复制之前烧录到sd卡内容

dd bs=4M if=/dev/sdX of=from-sd-card.img count=xxx

如果from-sd-card.img文件大于原始镜像文件,那么先使用truncate命令将from-sd-card.img缩小到原始镜像文件的大小,命令如下:

1truncate --reference -10-09-raspbian-stretch.img from-sd-card.img

使用diff命令比较两者直接的一致性,如果不一致,可能烧录过程中有错误。

1diff -s from-sd-card.img -10-09-raspbian-stretch.img

使用sync命令强制将缓存写入硬盘,然后umount sd卡文件系统,最后移除sd卡。

参考文献

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。