引言
在 树莓派 - SSD 启动 🛫🛫🛫 一文, 介绍了树莓派如果通过 SSD
启动系统。
当时本想通过 Docker
一键部署 OpenWrt
, 而 Ubuntu
则作为宿主环境, 事实上我也成功了, 但是总感觉没有原生 OpenWrt
稳定, 而且找的第三方 OpenWrt
Docker
镜像也太重了, 集成一堆我并不想要的服务, 而且页面访问也没有原生的丝滑, 主要是发现 Wifi
访问速度也变慢了, 一直没找到原因! 索性就换回原生 OpenWrt
了!
而本文主要就是记录了, 树莓派安装 OpenWrt
并通过 SSD
启动的一个流程....
一、寻找固件
这里我们就不折腾了, 直接使用官方 提供的资源!
官方在 OpenWrt Firmware Selector 中其实就提供了许多常见设备的固件, 并提供了多个不同架构的版本!! 我们可以在上面寻找需要的固件!!
进入 OpenWrt Firmware Selector 直接搜索 Raspberry Pi
选择对应的树莓派型号
根据需要下载对应的系统镜像, 这里我下载的第一个镜像, 也就是 EXT4
格式
EXT4
、SQUASHFS
表示不同的文件系统(对应你磁盘格式类型), 下面是gpt
的解释
EXT4
- 用途: 通用文件系统, 适用于桌面和服务器
- 特点:
支持大文件和大容量存储
提供日志功能, 增强数据完整性
读写性能好, 适合频繁文件操作
SQUASHFS
- 用途: 只读文件系统, 常用于嵌入式系统、
Live CD
等- 特点:
高度压缩, 节省存储空间
只读,不能直接修改文件内容
适合存储静态内容
总结
EXT4
: 适合频繁读写操作, 功能丰富, 性能好SQUASHFS
: 适合高压缩率和只读特性环境, 常用于嵌入式系统
当然如果你想自己编译(折腾), 可以参考我往期文章:
二、Mac 下如果将硬盘格式化为 Ext4?
在开始前我们需要先将 SSD
格式化为 Ext4
, 不幸的是 Mac
提供的磁盘工具并不支持 Ext4
, 所以这里我们还需要借助第三方工具 e2fsprogs
- 安装工具包:
brew install e2fsprogs
- 安装完成, 根据提示进行设置
echo 'export PATH="/opt/homebrew/opt/e2fsprogs/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/e2fsprogs/sbin:$PATH"' >> ~/.zshrc
- 执行
diskutil
查看当前所有硬盘信息, 并根据硬盘信息找到你的硬盘挂载目录
diskutil list
- 进行格式化
首先先推出硬盘
否则将会报如下错误
对指定挂载目录的硬盘执行格式化
sudo mkfs.ext4 -L diskName /dev/disk4
格式化完成
三、烧录固件
使用官方提供的 烧录工具, 根据提示将固件烧录到 SSD
四、前置配置
首先树莓派官方是支持从 U
盘启动系统的, 这里我在 树莓派 - SSD 启动 🛫🛫🛫 一文中已介绍并配置完成
但是呢, OpenWrt
却没有针对 U
盘启动做优化, 所以如果你想要通过 U
盘启动 OpenWrt
系统, 则需要修改 root
分区下的 cmdline.txt
文件
- 将烧录完的
SSD
连到电脑, 使用终端找到/Volumes/boot
下的配置文件cmdline.txt
cd /
cd /Volumes
ls
cd /boot
ls
- 修改配置文件
cmdline.txt
sudo vim cmdline.txt # 把 root=/dev/mmcblk0p2 改成 root=/dev/sda2 就行
五、启动
将 SSD
接入树莓派, 并使用网线将树莓派和电脑连接起来, 同时关闭 Wifi
启动树莓派, 等待片刻(等树莓派起来)
浏览器访问 192.168.1.1
不出意外, 应该就可以正常访问 OpenWrt
系统咯
直接登录, 没有密码, 直接点登录就行
进入后居然是英文的, 我天~
遇到的坑, 之前安装的
OpenWrt
固件默认是开启了Wifi
所以可以直接通过连接对应的Wifi
来连接OpenWrt
, 而这一次死活找不到该Wifi
, 一直以为安装出错了, 一顿瞎折腾! 后来通过网线连接, 发现居然可以.... 吐了 ~
六、一些基本配置
下面是一些基础的配置, 顺便做个记录
6.1 网络设置
配置入口: 原本应该是英文的, 后面才发现漏了一张图(该死), 只能截个中文的咯
配置信息如下: 就先改了下 IP
和网关
修改 DNS
: 随机加一个公共的 DNS
服务就行(后面改成了 223.5.5.5
)
应用配置
配置完成, 就可以将树莓派和路由器用网线连起来了, 然后电脑重新连上 Wifi
后, OpenWrt
和电脑就处于一个网络环境, 就可以通过我们设置好的 IP
地址访问到了
6.2 安全配置
其实就是设置 root
用户的密码, 默认情况下 root
是没有密码的
修改成功, 下次登录则需要输入密码才能登录咯
6.3 汉化
进入: 系统
-> 软件包
更新依赖包列表
如果更新成功, 下面就会出现一堆软件列表
搜索 luci-i18n-base-zh-cn
, 找到对应的软件包, 进行安装即可
安装完成, 关闭弹窗
刷新页面, 即可生效
6.4 扩容
具体内容参考我往期写的一片文章 爆了爆了!!不出意外我的 OpenWrt 空间爆了!!! 这里就不展开咯~
6.5 安装 docker
ssh
登录 OpenWrt
, 执行下面命令安装进行安装(Web
页面其实也可直接安装, 就是不知道为啥老是报错了, 但实际上安装上了, 所以干脆直接 SSH
上去用终端来安装)
opkg update
opkg install dockerd
opkg install docker
opkg install docker-compose
测试: 看下 Docker
命令是否可执行
七、遇到的问题
记录遇到的一些问题:
7.1 无法访问域名
最开始没设置 DNS
更新软件包列表失败, SSH
登录 OpenWrt
后 ping www.baidu.com
发现没有反应, 但是 ping 220.181.38.148
确是可以
才确定是 DNS
配置问题, 就需要再 网络
-> 接口
那边添加一个 DNS
7.2 国内站点访问很慢
问题如题, 最终发现是 IPV6
功能没有关闭, 同时记得关闭 DHCP
服务
八、参考
大家好, 我是墨渊君, 如果您喜欢我的文章可以:
- 关注公众号: 「昆仑虚F2E」获取最新文章。
- GitHub: github.com/MoYuanJun
- 个人网站(昆仑虚, 虽然现在没啥东西): www.kunlunxu.cc