HomeLab尝试 —— 树莓派4b宿舍路由器(1)—— 入门

前言

树莓派 4b 作为理财产品现在溢价非常多,以现在的价格来评论树莓派的性价比确实不太合理。但不可否认的是,它的性能直到今天应付 HomeLab 还是绰绰有余的呢。另外树莓派也非常适合新手入门 Linux 系统,唯一不太友好的或许是 ARM 架构产生的小问题吧。在这里我用树莓派 4b 作为宿舍路由器和 HomeLab 核心设备,并将用几篇文章来讲解整个搭建过程。然后咧,我希望读者能将这几篇文章当作我的随笔来看待,因为作为教程,需要足够系统以及详细的讲解,这里可能都没有。

阅读该教程需要一定的 Linux 基础,包括但不限于对systemdapt包管理Linux账户系统swapiptables四表五链路由表等方面的了解。

准备分成以下几篇文章来记录这个过程:

  • 与树莓派相关的一些介绍和讲解
  • 在树莓派上部署和使用 pve 虚拟化
  • Linux 路由和 xray 透明代理
  • FortiGate-VM 防火墙的相关介绍
  • 使用 oled12864 作为路由器的指示器

该教程仅限交流、学习使用,请遵守当地法律法规,合法使用

树莓派 4b 硬件

  1. CPU:博通的 BCM2711,4 核 64 位 ARM Cortex-A72 架构,1MB 的 L2。性能接近于 apple 的 A8,是远远比不上骁龙 865 等高端手机 cpu 的

  2. 内存:LPDDR4-2400MHz,有 3 种大小的,我的是 4G 的

  3. 5V 3A 的供电

  4. 2 个 USB 2.0 和 2 个 USB 3.0

  5. 一个千兆网口

  6. 支持 2.4G 和 5G 的 IEEE 802.11ac 垃圾小 wlan 网卡

  7. 蓝牙 5.0

  8. ……

GPIO 介绍

GPIO

树莓派的 GPIO 如上图所示,整个过程将会用到其中不少的接口。

Raspberry Pi OS 的安装和配置

安装 Raspberry Pi OS

根据官网教程下载并安装Raspberry Pi Imager,启动后选择对应的储存卡并安装Raspberry Pi OS Lite (64bit)系统,等待完成提示。

config.txt配置文件

在将 TF 卡插入树莓派之前,可以修改一下这个神奇的文件,直接用资源管理器打开刚刚安装完系统的储存卡,可以见到config.txt这个文件,下面我将对这个文件进行修改。官网有关于config.txt的详细介绍,见Raspberry Pi Documentation - The config.txt file。这里具体讲讲我都修改了哪些选项,以及为啥需要修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 树莓派超频设置
arm_freq=2200
over_voltage=7
temp_limit=100
temp_soft_limit=100
arm_boost=1
# 启用树莓派i2c功能
dtparam=i2c_arm=on
dtparam=i2c_baudrate=1000000
# 启用树莓派uart功能
enable_uart=1
# 使用64位
arm_64bit=1

在这里我修改了树莓派的超频选项,并将频率拉到 2200MHz,多次尝试发现,over_voltage参数设置到 7 运行比较稳定。启用树莓派的 i2c 功能是为了后续我们可以使用 I2C 来连接 oled 屏幕。启用 uart 功能是为了实现串口调试。

使用 uart 连接树莓派

如果没有显示器和键盘,那么用串口调试树莓派不失为一不错的解决。后面的教程中将会涉及到非常多网络配置,更改网络和路由设置可能会导致 ssh 断连,所以使用串口调试可以有效避免这些问题。

首先咧,需要一张 usb 转串口通信模块,它长这样子。然后再对应上面那张 GPIO 的图,分别将通信模块的TXD RXD GND连接到树莓派的RXD TXD GND,这里需交叉连接TXDRXD,以确保信号上下行能正常进行。然后用电脑连接串口模块,常用的串口软件有puttyxshellsecureCRT等。设置波特率115200,数据位8,停止位1,奇偶校验选,流控制选XON/XOFF即可通过串口连接树莓派。

基本配置

WLAN 设置

首先我们来看树莓派自带的 wifi 模块设置,可以通过systemd来管理

1
2
3
4
5
systemctl status hostapd
● hostapd.service - Access point and authentication server for Wi-Fi and Ethernet
Loaded: loaded (/lib/systemd/system/hostapd.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:hostapd(8)

该模块的配置文件为/etc/hostapd/hostapd.conf(可能需要新建),

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
country_code=CN
interface=wlan0
# wifi桥接模式,指定网桥
bridge=vmbr2
ssid=FortiAP
# IEEE 802.11标准选择
hw_mode=a
# 信道
channel=48
macaddr_acl=0
auth_algs=1
# 是否开启ssid发现
ignore_broadcast_ssid=0
# wifi安全性设置
wpa=2
wpa_passphrase=guanshuwen731008
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

I2C 设置

常用命令raspi-config对树莓派进行简单配置,这里我们使用该命令开启I2C功能以方便我们连接 oled 设备,当然您也可以从官网阅读有关spi的相关配置,考虑到I2C设备连接更简单,且可以并联,所以我选择了I2C连接的 oled12864。

输入上述命令进入树莓派设置清单,选择3 Interface Options接口配置,选中I2C设置。

出现以下提示后选择 yes 并重启树莓派。

树莓派扩容

默认安装后的树莓派不会占满 TF 卡,我们可以通过使用自带的扩容工具完成扩容。

同样是运行raspi-config,这次我们选择6 Advanced Options

然后选择A1 Expand Filesystem,重启后即可完成扩容操作。

更改 swap 大小

树莓派默认的 swap 非常小,这对于后续运行虚拟机来说,容易出现内存溢出的错误,可以通过编辑/etc/dphys-swapfile文件来修改 swap 大小,这里我改为 4G。

1
vim /etc/dphys-swapfile

基础网络配置

Raspberry Pi OS基于 debian 构建因此网络配置也可以通过修改/etc/network/interfaces文件完成,具体见该教程下一篇。


HomeLab尝试 —— 树莓派4b宿舍路由器(1)—— 入门
https://shevon.is-a.dev/树莓派-入门/
作者
Shevon
发布于
2022年8月4日
许可协议