《树莓派学习指南(基于Linux)》——1.4 将Raspbian烧录到SD卡

本节书摘来异步社区《树莓派学习指南(基于Linux)》一书中的第1章,第1.4节,作者:【英】Peter Membrey ,【澳】David Hows ,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.4 将Raspbian烧录到SD卡

树莓派学习指南(基于Linux)
将Raspbian烧录到SD卡与简单的文件复制稍有不同。我们下载的镜像文件是一份完整的SD卡内容克隆。为了完成烧录的工作,我们需要使用前面提到的一些工具。

注意 你所下载的SD卡镜像文件被打包在一个zip压缩包里。在Windows 7下,双击即可以文件夹的形式打开zip压缩包。将SD卡镜像文件复制到自己的文件夹下以备使用。在Mac OS X下,双击zip压缩包后SD卡镜像文件将会自动被解压缩到“下载”(Downloads)目录中。

使用Image Writer进行烧录(Windows)
在Windows下推荐使用Image Writer这一工具进行烧录,你可以在树莓派下载页上找到它的链接,我们需要的是如图1-7所示的zip压缩包。

ab312d7c221c7dc6fe156a27b4cd89ab0e144eeb

将zip压缩包解压到任意文件夹,双击其中的Win32DiskImager,你会看到如图1-8所示的警告信息。

1.单击Extract All(提取所有文件),在弹出的对话框中记得勾选“Show Extracted Files When Complete”(完成时显示提取的文件)。

2.单击Extract(提取),稍等片刻后你就会看到解压后的文件夹了。

3.双击Win32DiskImager程序,你会看到如图1-8所示的警告信息。

9c1dbfbe44f3e632cf286a36a4d51357c4dd8765

4.这是由于Image Writer需要申请一些系统权限来实现诸如磁盘擦写等操作,单击Yes(是)继续。

5.你有可能看到如图1-9所示的出错提示信息。别担心,在我们的测试中,这并不影响正常使用。单击OK继续。

6997d7fe5cdd8f4e44543b9fef4c3a505bf03daf

注意 Image Writer只会在程序启动时尝试检测SD卡,所以我们必须在启动程序前将SD连接到电脑上。否则,即便你再插入SD卡,程序也无法检测到它。

6.在Device(驱动器)下拉菜单中选择SD卡相应的盘符(比如G:)。如果下拉菜单是空的,可以尝试关闭Image Writer后再重新打开。在选择盘符时请尽量谨慎,万一错选成了相机的SD卡,你数年积累的照片可能会毁于一旦。

7.选择正确的驱动器(不确定的话,再打开“我的电脑”检查一次吧)和正确的磁盘镜像文件,单击Write(写入)按钮。烧录需要几分钟时间,喝杯咖啡休息一下吧。图1-10是运行中的Image Writer截图,可以看到写入的是写作本书时最新的Raspbian。

e6408fa344b1799edf255161e891a47694c94f58

8.烧录完成后,将SD卡安装到树莓派上。

万事俱备了,快翻到“首次启动”部分开始折腾吧!

注意 细看图1-10可以发现,我们烧录的镜像文件后缀为.img。很多初学者忘记将镜像(.img)文件从zip压缩包中解压出来再烧录。如果再启动树莓派时再次遭遇黑屏,不妨再检查一下是否烧录了正确的文件。

在Mac系统上使用dd命令
我们很想为Mac用户介绍一种简单的方法,把Raspbian镜像写入到SD卡上,但很可惜,实在没法做到像在Windows系统上使用Disk Imager那么简单。Mac系统上有Disk Utility工具,它很强大,却无法处理我们的Raspbian镜像文件。我们试图将镜像转换成.dmg文件1,但还是不起作用。我们也尝试在网络上寻找一些工具来解决这个问题,但是最终我们发现,没有工具能明显地让这件事变得简单。

我们还是不得不使用命令行来解决问题。不过我们不准备在本章详细地解释将要执行的命令,后面的章节还会有介绍,所以先依葫芦画瓢吧。

打开终端(Terminal)
接下来的每个步骤,我们都会一边介绍,一边操作,最后会有一个完整的步骤列表。整个过程还是比较简单的,步骤也不是很多。

第一步,我们在应用程序(Applications)的实用工具(Utilities)目录中打开终端(Terminal)。打开终端后,我们需要使用sudo命令取得root用户权限,相当于Windows系统的Administrator用户。

由于直接操作底层设备是不安全的(比如,不能让病毒直接把数据写入硬盘),所以普通用户无法执行相关的命令。而我们需要将Raspbian镜像直接写入SD卡,必须能够直接操作硬件。root用户对系统拥有完全的操作权限,所以我们可以使用root用户将系统镜像写入SD卡。通过下面的命令来提升为root用户。

c6ae5502bd31115d2e86b0e505bd2cb0e7e5de95

这个命令让我们可以在终端中得到root用户权限的交互环境。你也可以通过sudo(不带-i参数)直接以root用户身份执行单条命令,但是这里我们需要执行多条,所以这样做会方便一些。按下回车键后,sudo会询问密码(就是你登录时的账户密码),输入正确后,你就得到了root用户权限。

注意 得到root用户权限后,我们可以在系统上执行任意操作。但是请记住,这时除了可以将树莓派的系统镜像写入SD卡以外,我们也有可能会弄坏Mac系统。在Unix系统2中使用root用户时,你需要清楚自己在做什么,因为此时系统几乎没有任何保护。执行命令时请一定小心,仔细检查,确认没有错误再按回车键。而且在执行完命令后,请立即退出终端,以防万一。

使用终端写入镜像

OK,下面做什么?首先,我们遇到的第一个问题是确定SD卡对应的系统设备名称。为了避免一不小心抹掉主硬盘上的数据,我们需要先确定一下主硬盘的设备名称,防止误操作。

请在你的Mac上拔出SD卡,运行以下mount命令。

37f9a780c62db64f04f580b9dfb919fbfb5f50e1

你应该能看到类似上面的输出,也有可能会有所不同。我们可以忽略devfs和map这几行,因为这些挂载项是操作系统的一部分。我们需要记住的是第一行,可以看到/dev/disk0s2的挂载路径是/。这是系统盘,也就是主硬盘,一定注意不能随便写入这个设备。也许,你还会看到其他一些条目,那可能是因为你还挂载了网络驱动器或者移动硬盘。那你也应该把这些设备名称都记录下来,现在的挂载状态就是系统的基本状态,我们会和挂载了SD卡之后做对比。

接下来,在Mac上插入SD卡。你应该会在Finder边栏的设备(DEVICES)下看到刚刚插入的SD卡,如图1-11所示。

a949538b54f853d3b5264ccf6b58a56ea54e8f85

因为Mac会自动挂载插入的SD卡,所以我们可以直接回到终端再次执行mount命令,观察一下发生了什么变化。

c1eb9520e3148e0b4aacb3617be652564022d549

我们发现多了一个挂载的设备,在上面的例子中显示的是disk2s2,还能看到该设备的挂载路径是/Volumes/UNTITLED,这个设备正是接下来写入系统镜像的位置。

注意 BSD系统将磁盘划分为多个分区(slice),这个例子里挂载的文件系统位于disk2s2,也就是说文件系统位于第二个磁盘(disk2)的第二个分区(s2)。通过这个路径,可以让用户直接访问指定的分区。不过我们需要的是将数据直接写入设备,也就是磁盘,所以我们接下来将会对/dev/disk2进行操作。

在进行下面的操作之前,我们要先解决一个小问题。由于SD卡的文件系统被自动挂载了,我们无法直接向设备写入数据,而如果我们在Finder中卸载文件系统,SD卡对应的设备也会被Mac系统推出,这样的话我们还是无法直接操作设备。所以我们需要通过Mac系统的diskutil命令手工卸载文件系统,并在设备中保留SD卡。Mac系统也有UNIX标准的umount命令(这个命令在后面的章节会有详细解释),但是如果你想通过umount卸载SD卡,结果就是卸载失败并提示设备正忙。diskutil可以避免这些问题,并成功地完成任务,所以我们通过执行下面的命令来卸载SD卡的文件系统。

至此,我们在超级用户下得到了SD卡对应的设备名称,并从系统上卸载了SD卡的文件系统,这样我们就准备好向SD卡直接写入数据了。

我们将会使用一个古老的命令dd,该命令用于从一个设备读入数据,并写入另一个指定的设备。该命令不会处理文件系统,也不会关心使用的设备是硬盘还是SD卡,而是直接在两个设备上读写二进制数据。我们会在最后一章详细介绍dd命令,这里我们只说明如何将系统镜像写入SD卡。

使用dd命令只需要知道两个参数,读取位置(if参数)和写入位置(of参数)。我们之前已经知道了写入位置是/dev/disk2,那么读取位置呢?如果你按照本章前面的步骤一步步做了,那么树莓派的系统镜像文件应该已经躺在下载(Downloads)文件夹中了,这就是我们的读取位置。首先,在终端中输入:

de4de8f752793853b8497ba9aaf4170539fb4b6e

之后在Finder中打开下载(Downloads)文件夹(或许你放在了其他文件夹中,请打开它),单击并拖动镜像文件到终端窗口。这样镜像文件的路径就会自动输入终端了,你应当会看到类似下面的显示。

ca2200b228cdc8dc322cd56209cd6f4f725d4989

这样我们就指定了读取位置,我们还需要为dd指定写入位置。在之前的操作中,我们已经得到了SD卡的设备名称:/dev/disk2。我们还要加上bs=512这个参数,让dd以较大的数据块写入SD卡(这样可以让写入过程快一些,否则可能需要等上4个小时)。最终整个命令是这样的:

80bb48c66e1305fd6fac8a573a0100d4964586e7

按回车键执行命令,dd需要一些时间来完成整个操作(可能还是需要1、2个小时)。由于系统镜像有2GB大,而SD卡的写入速度并不是很快,所以我们的MacBook Pro也花了接近2个小时才完成整个镜像的写入。你可以出去逛一圈,回来之后应该能看到dd完成了写入,终端回到了命令提示符状态。

在Mac上写入镜像确实比在Windows系统上麻烦许多,不过仔细观察一下这些命令,你会发现通过命令执行操作更简单,更准确,第3章我们还会详细介绍命令行的其他优点。

我们将前面所有的操作步骤整理了一下。如果对于之前的介绍还有什么问题,或者你还有什么不太明白的,可以参考下面的内容。

c4552843641a8486b7259218861b26733476b3a6

到这里,我们准备好了SD卡,让我们来准备启动树莓派吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python单向链表和双向链表的图示代码说明

图示说明: 单向链表: insert、 remove、 update、pop方法 class Node:def __init__(self, data):self.data dataself.next Nonedef __str__(self):return str(self.data)# 通过单链表构建一个list的结构: 添加 删除 插入 查找 获取长…

AIML知识库数据匹配原理解析

目录:前言:1、AIML系统工作流程2、AIML的核心推理机制3、推理举例4、匹配规则及实践中遇到的一些问题的解释总结: 目录: 前言: 参考:《Alice机理分析与应用研究》 关于AIML库这里就不介绍了&#xff0c…

【Python】模拟面试技术面试题答

一、 python语法 1. 请说一下你对迭代器和生成器的区别? 2. 什么是线程安全? 3. 你所遵循的代码规范是什么?请举例说明其要求? 4. Python中怎么简单的实现列表去重? 5. python 中 yield 的用法…

Win7 U盘安装Ubuntu16.04 双系统

Win7系统下安装Ubuntu系统,主要分为三步: 第1步:制作U盘启动盘 第2步:安装Ubuntu系统 第3步:创建启动系统引导 第1步:制作U盘启动盘 1.下载Ubuntu16.04安装镜像,官网地址:http://www…

Word2VecDoc2Vec总结

转自:http://www.cnblogs.com/maybe2030/p/5427148.html 目录:1、词向量2、Distributed representation词向量表示3、word2vec算法思想4、doc2vec算法思想5、Doc2Vec主要参数详解总结: 目录: 1、词向量 自然语言理解的问题要转…

《游戏视频主播手册》——2.2 哪些人适合做游戏主播

本节书摘来自异步社区《游戏视频主播手册》一书中的第2章,第2.2节,作者 王岩,更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.2 哪些人适合做游戏主播 据不完全统计,目前国内有超过26000名活跃的游戏主播。所谓“活跃的…

干货分享!DevExpressv16.2最新版演示示例等你来收!(上)

2019独角兽企业重金招聘Python工程师标准>>> 为解决大家找资源难的问题,EVGET联合DevExpress控件中文网盘点热门的DevExpress资讯、Demo示例、版本升级及下载,以及各种教程推荐等。更多下载及资讯也可以在DevExpress控件中文网中找到&#xf…

一文看懂哈夫曼树与哈夫曼编码

转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299884.html 在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN)树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如JPEG中…

解决:未能将管道连接到虚拟机: 所有的管道范例都在使用中。

虚拟机无端出现: VMware Workstation 无法连接到虚拟机。请确保您有权限运行该程序、访问改程序使用的所有目录以及访问所有临时文件目录。未能将管道连接到虚拟机: 所有的管道范例都在使用中。 原因:Ubuntu开机慢到开不开,我就在任务管理器强制结束了…

CCF推荐各种国际学术会议和期刊目录

这是中国计算机学会推荐国际学术会议和期刊目录2015年版本的内容, 主要罗列了国际上计算机相关的各个方向的顶级学术会议和期刊目录(包含A、B、C三个等级)。 包含的方向有: 计算机体系结构/并行与分布计算/存储系统计算机网络网络…

第四次作业类测试代码+036+吴心怡

一、类图 二、代码 package application; public class Commission { /* * hp:耳机 80元 mpc:手机壳 10元 cpsp:手机贴膜 8元 */ public float calculate(String line) { int hp 0, mpc 0, cpsp 0; String[] input null; float money 0;…

LSI/LSA算法原理与实践Demo

目录:1、使用场景2、优缺点3、算法原理3.1、传统向量空间模型的缺陷3.2、Latent Semantic Analysis (Latent Semantic Indexing)3.3、算法实例 4、文档相似度的计算5、对应的实践Demo 目录: 1、使用场景 文本挖掘中,主题模型。聚类算法关注…

Linux学习134 Unit 8

Unit8 ldap网络帐号1.ldap是什么ldap目录服务认证,和windows活动目录类似,就是记录数据的一种方式2.ldap客户端所须软件yum sssd krb5-workstation -y3.如何开启ldap用户认证authconfig-tui┌────────────────┤ Authentication Configu…

FastText原理总结

目录:1、应用场景2、优缺点3、FastText的原理4、FastText词向量与word2vec对比 目录: 1、应用场景 fastText是一种Facebook AI Research在16年开源的一个文本分类器。 其特点就是fast。相对于其它文本分类模型,如SVM,Logistic …

解决 :sudo:/etc/sudoers 可被任何人写

问题: sudo:sudo /etc/sudoers is world writable sudo:no valid sudoers sources found ,quitting sudo:unable to initialize policy plugin 解决方案: 方法一: 1.开机按shift或esc进入ubantu高级模式 再进行recovery模式 2.选择root命令行模式 3.…

Doc2Bow简介与实践Demo

Doc2Bow是Gensim中封装的一个方法,主要用于实现Bow模型,下面主要介绍下Bow模型。 1、BoW模型原理 Bag-of-words model (BoW model) 最早出现在自然语言处理(Natural Language Processing)和信息检索(Information Ret…

SPOJ 694/705 后缀数组

思路&#xff1a; 论文题*n Σn-i-ht[i]1 就是结果 O(n)搞定~ //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define N 55555 int cases,n,cntA[N],cntB[N],A[N],B[N],rk[N],sa[N],tsa[N],ht[N]; char…

如何用余弦定理来进行文本相似度的度量

在做文本分析的时候&#xff0c;经常会到说将文本转化为对应的向量&#xff0c;之后利用余弦定理来计算文本之间的相似度。但是最近在面试时&#xff0c;重复上面这句话&#xff0c;却被面试官问到&#xff1a;“什么是余弦定理&#xff1f;”当时就比较懵逼&#xff0c;于是把…

Mongodb 备份和恢复

为什么80%的码农都做不了架构师&#xff1f;>>> Mongodb 备份和恢复 mongodump -h host -u "username" -p "userpass" -d dbname -o backfilename tar -cvzf backfilename.tar backfilename tar -xvzf backfilename.tar mongorestore -h…

【linux】Ubuntu 18.04 设置桌面快捷启动方式

使用Ubuntu终端进行打开&#xff1a; 方法一&#xff08;使用vim&#xff09;&#xff1a; sudo vi /usr/share/applications/pycharm.desktop 方法二&#xff08;使用gedit&#xff09;&#xff1a; sudo gedit /usr/share/applications/pycharm.desktop 然后就会弹出一个…