[机派X] Day2 - 树莓派碰上 Ubuntu

引言

今天是机派X系列文章的第二天,这篇文章终於要进入正题了!
首先,我们要在树莓派上安装 Linux 以便日後使用。

本篇大纲:

  • 引言
  • 什麽是 Linux?
  • 树莓派简介
  • 在树莓派上安装 Ubuntu
  • 关於本文章系列

什麽是 Linux?

什麽是 Linux,能吃吗?
Answer:不能吃

Linux 就跟 Windows 还有 Mac OS 一样,都是作业系统(Operating System , OS),大家比较熟悉的作业系统可能是 Windows,不过如果你是惯用苹果(Apple)电脑的人,你的电脑作业系统通常会是 Mac OS。然而,凡事都会有个 BUT!例如:我也有同学坚持在 Mac 上灌 Windows 10 啦!

Linux 是一种作业系统,由於其开放原始码(Open Source)的特性,因此很多公司相继发展出具有自己特色的 Linux 作业系统。而这些各具特色的版本称为发行版(Distribution , Distro)。其中常见的包含 Ubuntu、Debian、红帽(Red Hat)、Cent OS 等。Ubuntu 常常被推荐给 Linux 的初学者,本系列文章也会以 Ubuntu 为例子,带领大家进入 Linux 的世界。

首先,当然是要带大家安装 Ubuntu 罗!由於大家当前的电脑中已经有个霸主了(Windows 或 Mac OS),因此若要尝试安装 Linux 有几种比较经济的选择:

  1. 留着当前既有的霸主,并同时安装 Ubuntu
  2. 再拿一台电脑安装 Ubuntu
  3. 将 Ubuntu 安装至虚拟机(Virtual Machine , VM)中

当然有比较经济的选择,也就会有比较勇敢的选择:

  1. 驱逐当前电脑中的霸主,直接装 Ubuntu

如果你选择了 4,我会给你一个赞,很有勇气!不过有勇无谋不是好事,记得先备份相关软件及设定、甚至是硬碟中的个人资料!!别忘记了资料是无价的啊!这边的话我比较保守,采用的是方法 2。不过另一台电脑哪来呢?就是是我们的树莓派!!

树莓派简介

来人,上主角 - 树 莓 派
海绵宝宝 - 派耶
图源传送门

喔,不对,是这张才对。
树莓派官方介绍图
图源传送门

你会发现,电脑的基本组成要件,这片树莓派也都有,因为树莓派本身也可以被视为一台小型电脑,看看下面图片的说明你就会明白了。
树莓派vs一般电脑
图源传送门 (已将原图加工)

恩,有点不太对 ......。说谎!!上面没看到硬碟啊!?
冷静~冷静~ 让我们把树莓派翻到背面看看:
树莓派背面

树莓派大约只有一个名片的大小,因此如果要在上面直接接上硬碟,似乎大小比例不太对,重量也会瞬间变重。因此,树莓派的硬碟改以记忆卡(micro SD)取代。树莓派背面边缘有个小插槽,就是拿来塞记忆卡用的。记忆卡会取代硬碟的功能,用来储存作业系统、个人资料等。记忆卡体积小便於嵌入式系统使用,但却也有许多缺点、终究有其限制,因此可以将一般硬碟透过 USB 与树莓派连接,充当外接硬碟使用。
树莓派背面(有记忆卡)

由於这边没有帮树莓派业配,因此就不附上购买连结了,有需要的邦友可自行购买。由於树莓派的硬体设计图是公开的(Open Design),因此有很多厂商投入生产、购入树莓派的管道也很多。目前树莓派的硬体设计已经到了第四版(Raspberry Pi 4 , RPi4),其搭载的硬体效能相对於第三版有显着提昇,因此本系列文章会以第四版的树莓派为主角来介绍。

在树莓派上安装 Ubuntu

如何在树莓派上安装 Ubuntu 呢? 跟一般电脑安装 OS 一样啦!
其实有点不一样,恩 ...... 坦白一点好了:差很多。
树莓派安装作业系统的方式比较简单,官方会依照不同作业系统提供不同的映像档,映像档中其实是已经划分好的磁区(disk partition),磁区中包含已经安装好的作业系统。因此,我们只需要将映像档复制到记忆卡中就完成作业系统的安装了。这样的安装过程虽然简单,但是却也失去了安装作业系统的乐趣。例如平常安装作业系统时,使用者可以根据需求自己划分磁区,也可在安装程序的指引下客制化要安装的系统元件。

以下就来动手操作吧。

Step 0. 准备器材

安装前,需要准备几个东西:

项目名称 数量
已安装作业系统的电脑 1 台
micro SD 读卡机 1 个
micro SD 记忆卡 (至少 8 GB) 1 张
树莓派 1 片
树莓派电源供应套件 1 个
电脑萤幕 1 台
micro HDMI 影像传输线 (另外一端依照电脑萤幕上的接头来选) 1 条

注意:
虽然本系列文章使用树莓派4当作范例,但是如果你使用其他版本的树莓派(例如:树莓派3),大多数的功能还是会正常运作。

Step 1. 下载映像档

请用电脑打开网页浏览器。
首先要到 树莓派官网 下载 Ubuntu 的映像档。
树莓派官网截图

在上方选单中选择 Software(软件),再选择 Raspberry Pi OS。
树莓派官网的选单截图

滚到页面下方的 Third-party software,会看到有三个 Ubuntu 相关的选项。
树莓派官网的选单截图

这三个选项可以这样理解:

选项名称 用途简述 详细说明
Ubuntu Desktop 一般使用者 如果你想把树莓派当作一般电脑使用,那请选这个版本。这个版本包含图形化使用者界面(Graphic User Interface , GUI),还有一些常用的软件都已经帮你安装好了。
Ubuntu Server 用於服务器 如果你的树莓派要当作服务器使用(例如:档案服务器、网页服务器等),请选择这个版本。通常你会透过 ssh 或是其他远端存取工具来管理树莓派,所以这个版本没有图形化使用者界面,不过许多服务器会用到的软件或设定会事先帮你装好。
Ubuntu Core 用於嵌入式系统 如果你要把树莓派当作嵌入式系统、结合其他工具来使用,请选择这个版本。这个版本中预装的程序最少,因为每个人的应用不同,需要安装的东西也大不同。另外,因为是当作嵌入式系统来使用,会希望系统的资源能够有效运用,所以不会安装太多多余的东西,大部分的东西要使用者依据需求手动安装或设定。此版本仅能从远端透过 ssh 连线,没有 local shell 或图形化使用者界面可用。

虽然 Ubuntu 根据使用情况分成很多种版本,其中预装的软件与设定也不尽相同,但是这些都只是为了给使用者方便而做的设计,其实 Ubuntu Server 也可以透过事後设定、安装图形化使用者界面或其他软件,让它变得跟 Ubuntu Desktop 一样,反之亦然。

我们要将树莓派与无人机结合,所以原本应该选 Ubuntu Core,不过 Ubuntu Core 运作方式较特殊,与一般 Linux 的设定与使用较不相同,因此我们会使用 Ubuntu Server。

按下 Ubuntu Server 旁的下载後,会被导引到版本选择的页面。
可以自由选择左边的 20.04.2 LTS 或是右边的 21.04。
Ubuntu Server 版本选择页面截图

备注:
有加 LTS(Long Term Support)的版本表示该版本的支援时间较长。
软件的厂商为了维护其发售的软件品质,通常会定期发布软件更新,但是为了新软件的开发以及淘汰过旧的软件,所以厂商仅会为旧的软件持续发布更新数年,之後便不再提供任何更新或技术支援。有加 LTS 的版本号代表厂商会给予该版本较长的支援时间,以 Ubuntu 来说,没有 LTS 的版本号 Ubuntu 会提供 2 年的支援,有 LTS 的版本号 Ubuntu 会提供 5 年的支援。追求稳定为目标的服务器等应用通常会使用有 LTS 的版本号,以寻求较长期稳定的技术支援;但是像追求最新功能的软件开发者,使用没有 LTS 的版本号就较为适合。更详细的说明可以参考 Ubuntu 对於 LTS 的官方说明

我选择左边的 20.04.2 LTS 下载 64-bit 版本。
Ubuntu Server 20.04.2 下载页面截图

此时档案应该会开始下载了,档名理论上会长这样:ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz 。
为什麽说理论上呢?因为你下载的版本可能跟我不一样。

Step 2. 烧录映像档至记忆卡

因为 Ubuntu 还没安装,所以以下示范如何以 Windows 将刚刚下载的映像档烧至记忆卡中。

首先,请将 micro SD 记忆卡插入至读卡机中,并将读卡机插至电脑 USB 插槽。
读卡机与 micro SD 记忆卡

备注:
记忆卡容量至少要有 8 GB,否则之後安装软件时可能会遇到储存空间不够用的问题。如果树莓派上要安装较多的程序,记忆卡甚至可以选择 32 GB 或 64 GB 的型号。更详细的记忆卡选购准则,可以参考 官方文件 的说明。

接着,我们要处理刚刚下载下来的映像档。
观察档案 ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz 的副档名为 .xz。
xz 是一种压缩档的格式(就像 zip 及 rar 那样的压缩格式),因此要先用解压缩软件做解压缩的动作。如果不清楚具体如何操作,你可以 下载 7-zip 这套解压缩软件来用,详细使用说明可以参考 重灌狂人的文章 或自行查询。

备注:
xz 跟 gz 这两个副档名在 Linux 中会常常看到,这两种都是档案压缩格式,能够将原有的档案压缩、减少档案大小,用以方便网路传输。
另外在 Linux 中,xz 跟 gz 的压缩档前常常会看到 tar 的副档名,例如:.tar.xz 或是 .tar.gz 。tar 是一种封装格式,可以将多个档案或资料夹制作成单一一个档案(我称这个过程叫封装),在这个过程中,档案总大小不会变,所以通常 tar 封装後,会再使用 xz 或 gz 压缩来减少档案大小。

档案解压缩後会得到档名为 ubuntu-20.04.2-preinstalled-server-arm64+raspi.img 的档案,观察其副档名 .img 可得知它是个映像档(Image File / ISO File),里面存着磁碟分区(Disk Partition)资讯,以及每个磁区中的资料(当然包含我们的作业系统 Ubuntu Server),至於实际分区及资料内容,我们之後会再说明。

这个有机会以後给大家讲一下
图源传送门

最後一步,使用工具 Rufus 把映像档烧录至记忆卡中。
点击连结并下载 Rufus,为了方便使用可以选择免安装版(Portable)下载。
下载後理论上会得到执行档 rufus-3.15p.exe 。
Rufus 官方网页截图

请执行该执行档。
Rufus 执行截图

首先选择要写入到哪个磁碟中。(请选择刚刚插入电脑中的 micro SD 记忆卡)
再选择要烧录的映像档。
其他设定维持预设即可,
确认设定无误後,请点选最下方的 START 开始烧录。
Rufus 设定截图

Rufus 会提醒你,执行烧录後,记忆卡中原有的资料会被映像档中的内容覆盖。
此时请选择 OK。
Rufus 确定写入截图

烧录过程会需要一点时间,大约几分钟後就会完成。
如果使用 USB 3.0 的读卡机以及写入速度较快的记忆卡可以节省一些时间。
Rufus 烧录截图

当烧录结束後,
进度条会全满、状态显示 READY、右下角的按钮会是可以按的 CLOSE。
只需要按一下 CLOSE 即可关闭 Rufus。
Rufus 烧录截图

以上,我们已经成功将映像档烧录至记忆卡中。
换言之,树莓派的作业系统 Ubuntu Server 已经完成安装。

Step 3. 让树莓派开机

现在,请将记忆卡插入至树莓派背面的记忆卡插槽中。
树莓派背面(有记忆卡)

注意:
从树莓派上插入或移除记忆卡前,建议先将树莓派的电源断开
另外,树莓派接上电源运作时,请勿将树莓派直接置於导体(例如:金属)上,因为树莓派的电路及接点可能会因此短路,进而导致树莓派毁损。我就曾经误把一片树莓派2放在铝制的散热垫上执行,结果那片树莓派一开机就短路、内部晶片烧毁。

接着,请将树莓派与萤幕用 micro HDMI 线连接。
树莓派上有两个 micro HDMI 孔可使用,请任意选一个接即可。
或者也可以同时接两个萤幕,当作双萤幕使用。
此外,萤幕别忘了要接上电源!
树莓派连接 micro HDMI

确定都没问题後,最後才将树莓派的电源供应模组接上。
树莓派连接 type-C 电源

注意:
电源供应模组可以使用官方的 AC-DC 变压电源模组,以确保供电稳定、电流足够。有些厂牌的电源供应器会有虚标的状况,也就是其最大可供应电流并未如实标示,使用虚标或有瑕疵的电源供应器可能会损毁树莓派或造成树莓派行为异常。
不同版本的树莓派其功耗不同,树莓派连接的设备数量也会影响总功耗(例如:不接萤幕时总功耗较低),各个版本的树莓派的功耗请参考 官方说明

树莓派接通电源後,板子上的 LED 灯会亮,连接到的萤幕也会有画面。
树莓派板载 LED

以下是树莓派上两个 LED 灯的状态说明:

没亮 恒亮 闪烁
没有电源 电源已接上,状态稳定 电源已接上,电压不稳、不足或电流不足
绿 记忆卡没有操作 记忆卡有频繁操作中 记忆卡操作中

恭喜,树莓派已经可以成功开机了!
树莓派开机中

关於本文章系列

如果对於文章内容有建议、纠错或图源标示不正确的问题,欢迎参考 [机派X] Day 1 尝试与文章作者联络。
想看更多本系列的文章,请连结至 [机派X] Day 1 查看大纲。


<<:  Day 2【Project 分析、Metamask】Why is Microsoft Word the best IDE for programming?

>>:  【Day 2】环境建置 - 安装 VisualStudio 2019

入门魔法 - 流程判断 if else if

前情提要 艾草:「好啦,还是有其他条件可以判断你能不能成为大魔导师的!」 「哪尼~这麽好康的事不会早...

Day-05 问题与解决

在正式撰写程序前,本期内容想汇整几个我曾碰到的问题,往後在碰到以下这些问题时,能更快找出解决方法。 ...

【DAY 26】软件拖垮效率?你有想过你需要打开多少应用程序才能完成工作吗?

哈罗大家好~~ 昨天的 Microsoft 365介绍方案告一段落,不知道大家对於Microsoft...

【C#】常见的程序面试考题

废话不多说,程序实务直接开干! 学习目标: 程序面试的实务 学习难度: ☆☆☆ Binary Sea...

[C 语言笔记--Day18] 用 linked list 实作 merge sort

题目来源 #include <stdio.h> #include <stdlib....