RPi Zero 系统镜像的准备
好久没写博客了,除了上次上传个文件外(还因为换了个马甲版权审核不通过),基本没来 CSDN。这次借新入手的一个树莓派 Zero 起笔,总结一下踩过的坑。
预计为一系列文章,涵盖 RPi Zero 最基本的装配、启动、环境更新、系统及网络配置等内容。
因个人需求,只对单板的树莓派 (不含显示器、摄像头等外设,此 Zero 版本也不含无线模块) 及各种基本系统配置进行叙述。
一、准备工作
1. 工具/材料
- 树莓派 Zero(单板,不带无线模块)
- 4G 以上 TF 卡(即手机内存卡)
- 能联网的电脑,Linux 系统(没错,Windows 暂且不在我们的讨论范围内)
2. 安装必备工具
kpartx
用于挂载多分区磁盘映像p7zip
用于解压下载的镜像文件(可用zip
代替)
$ sudo apt install --no-install-recommends -y \
kpartx p7zip
3. 下载 Raspberry Pi OS 系统镜像
可从树莓派系统镜像下载处寻找合适的系统镜像,本系列文章以Raspberry Pi OS(原名 Raspbian)为例,下载最新版的 lite 简化版镜像。
在 linux bash 中输入命令下载文件
$ wget https://downloads.raspberrypi.org/raspios_lite_armhf_latest
或者使用 axel 多线程下载
$ axel -a https://downloads.raspberrypi.org/raspios_lite_armhf_latest
下载的文件为一个 Zip 文件,用 unzip
命令(zip
工具包)或者 7z
命令(p7zip
工具包)来解压
$ unzip raspios_lite_armhf_latest # 使用 unzip 释放
$ 7z x raspios_lite_armhf_latest # 或者使用 7z 释放
针对我所下的版本,我得到文件 2020-08-20-raspios-buster-armhf-lite.img
。这就是此树莓派系统镜像,或者准确说,是磁盘映像。接下来,我们将利用此映像文件去写 TF 卡内容。
二、烧写镜像
不同于网上动辄写整个映像内容的方法,作者更倾向仅复制文件而非用烧录工具,以避免空白数据及垃圾数据的反复写入。因此本系列文章尽可能避免 dd
命令的使用,也不会使用 TF 卡烧写工具。
手动修改虽然费劲,但可以加深对树莓派系统的理解。若不想费劲,可直接跳至“其他文件修改”部分。
1. 创建分区结构
我们仿照官方磁盘映像,在 TF 卡上创建对应的分区。
首先查看官方映像分区,记住,linux 上万物皆文件,磁盘映像文件和磁盘的操作没多大区别
$ fdisk -l 2020-08-20-raspios-buster-armhf-lite.img
...... # 这里省略部分显示内容
Device Boot Start End Sectors Size Id Type
2020-08-20-raspios-buster-armhf-lite.img1 8192 532479 524288 256M c W95 FAT32 (LBA)
2020-08-20-raspios-buster-armhf-lite.img2 532480 3604479 3072000 1.5G 83 Linux
树莓派的官方磁盘映像包括 /boot 和 / 两个独立的分区,可见,映像文件中包含一个 FAT32 分区和一个 ext4 分区。
使用读卡器将内存卡插入电脑。我们在 TF 卡上也创建这两个分区,分区大小适当调整下。这里,我的 TF 卡设备路径为 /dev/sdb
。
新建 MBR 分区表
$ sudo fdisk /dev/sdb
Command (m for help): o # 输入“o”以清空现有分区同时建立新分区表
Created a new DOS disklabel with di