再战 OpenWrt - 树莓派 SSD 启动

598 阅读5分钟

引言

树莓派 - SSD 启动 🛫🛫🛫 一文, 介绍了树莓派如果通过 SSD 启动系统。

当时本想通过 Docker 一键部署 OpenWrt, 而 Ubuntu 则作为宿主环境, 事实上我也成功了, 但是总感觉没有原生 OpenWrt 稳定, 而且找的第三方 OpenWrt Docker 镜像也太重了, 集成一堆我并不想要的服务, 而且页面访问也没有原生的丝滑, 主要是发现 Wifi 访问速度也变慢了, 一直没找到原因! 索性就换回原生 OpenWrt 了!

而本文主要就是记录了, 树莓派安装 OpenWrt 并通过 SSD 启动的一个流程....

一、寻找固件

这里我们就不折腾了, 直接使用官方 提供的资源!

官方在 OpenWrt Firmware Selector 中其实就提供了许多常见设备的固件, 并提供了多个不同架构的版本!! 我们可以在上面寻找需要的固件!!

进入 OpenWrt Firmware Selector 直接搜索 Raspberry Pi 选择对应的树莓派型号

image

根据需要下载对应的系统镜像, 这里我下载的第一个镜像, 也就是 EXT4 格式

image

EXT4SQUASHFS 表示不同的文件系统(对应你磁盘格式类型), 下面是 gpt 的解释

  1. EXT4

  • 用途: 通用文件系统, 适用于桌面和服务器
  • 特点:
    • 支持大文件和大容量存储

    • 提供日志功能, 增强数据完整性

    • 读写性能好, 适合频繁文件操作

  1. SQUASHFS

  • 用途: 只读文件系统, 常用于嵌入式系统、Live CD
  • 特点:
    • 高度压缩, 节省存储空间

    • 只读,不能直接修改文件内容

    • 适合存储静态内容

  1. 总结

  • EXT4: 适合频繁读写操作, 功能丰富, 性能好
  • SQUASHFS: 适合高压缩率和只读特性环境, 常用于嵌入式系统

当然如果你想自己编译(折腾), 可以参考我往期文章:

二、Mac 下如果将硬盘格式化为 Ext4?

在开始前我们需要先将 SSD 格式化为 Ext4, 不幸的是 Mac 提供的磁盘工具并不支持 Ext4, 所以这里我们还需要借助第三方工具 e2fsprogs

  1. 安装工具包:
brew install e2fsprogs
  1. 安装完成, 根据提示进行设置

image

echo 'export PATH="/opt/homebrew/opt/e2fsprogs/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/e2fsprogs/sbin:$PATH"' >> ~/.zshrc
  1. 执行 diskutil 查看当前所有硬盘信息, 并根据硬盘信息找到你的硬盘挂载 目录
diskutil list

image

  1. 进行格式化

首先先推出硬盘

image

否则将会报如下错误

image

对指定挂载目录的硬盘执行格式化

sudo mkfs.ext4 -L diskName /dev/disk4

格式化完成

image

三、烧录固件

使用官方提供的 烧录工具, 根据提示将固件烧录到 SSD

image

四、前置配置

首先树莓派官方是支持从 U 盘启动系统的, 这里我在 树莓派 - SSD 启动 🛫🛫🛫 一文中已介绍并配置完成

但是呢, OpenWrt 却没有针对 U 盘启动做优化, 所以如果你想要通过 U 盘启动 OpenWrt 系统, 则需要修改 root 分区下的 cmdline.txt 文件

  1. 将烧录完的 SSD 连到电脑, 使用终端找到 /Volumes/boot 下的配置文件 cmdline.txt
cd /
cd /Volumes
ls
cd /boot
ls

image

  1. 修改配置文件 cmdline.txt
sudo vim cmdline.txt # 把 root=/dev/mmcblk0p2 改成 root=/dev/sda2 就行

image

五、启动

SSD 接入树莓派, 并使用网线将树莓派和电脑连接起来, 同时关闭 Wifi 启动树莓派, 等待片刻(等树莓派起来)

image

浏览器访问 192.168.1.1 不出意外, 应该就可以正常访问 OpenWrt 系统咯

直接登录, 没有密码, 直接点登录就行

image

进入后居然是英文的, 我天~

image

遇到的坑, 之前安装的 OpenWrt 固件默认是开启了 Wifi 所以可以直接通过连接对应的 Wifi 来连接 OpenWrt, 而这一次死活找不到该 Wifi, 一直以为安装出错了, 一顿瞎折腾! 后来通过网线连接, 发现居然可以.... 吐了 ~

六、一些基本配置

下面是一些基础的配置, 顺便做个记录

6.1 网络设置

配置入口: 原本应该是英文的, 后面才发现漏了一张图(该死), 只能截个中文的咯

image image

配置信息如下: 就先改了下 IP 和网关

image

修改 DNS: 随机加一个公共的 DNS 服务就行(后面改成了 223.5.5.5)

image

应用配置

image image image

配置完成, 就可以将树莓派和路由器用网线连起来了, 然后电脑重新连上 Wifi 后, OpenWrt 和电脑就处于一个网络环境, 就可以通过我们设置好的 IP 地址访问到了

image

6.2 安全配置

其实就是设置 root 用户的密码, 默认情况下 root 是没有密码的

image

image

修改成功, 下次登录则需要输入密码才能登录咯

image

6.3 汉化

进入: 系统 -> 软件包

image

更新依赖包列表

image image

如果更新成功, 下面就会出现一堆软件列表

image

搜索 luci-i18n-base-zh-cn, 找到对应的软件包, 进行安装即可

image

安装完成, 关闭弹窗

image

刷新页面, 即可生效

image

6.4 扩容

具体内容参考我往期写的一片文章 爆了爆了!!不出意外我的 OpenWrt 空间爆了!!! 这里就不展开咯~

6.5 安装 docker

ssh 登录 OpenWrt, 执行下面命令安装进行安装(Web 页面其实也可直接安装, 就是不知道为啥老是报错了, 但实际上安装上了, 所以干脆直接 SSH 上去用终端来安装)

opkg update
opkg install dockerd
opkg install docker
opkg install docker-compose

测试: 看下 Docker 命令是否可执行

image

七、遇到的问题

记录遇到的一些问题:

7.1 无法访问域名

最开始没设置 DNS 更新软件包列表失败, SSH 登录 OpenWrtping www.baidu.com 发现没有反应, 但是 ping 220.181.38.148 确是可以

image

才确定是 DNS 配置问题, 就需要再 网络 -> 接口 那边添加一个 DNS

image

7.2 国内站点访问很慢

问题如题, 最终发现是 IPV6 功能没有关闭, 同时记得关闭 DHCP 服务

image image

八、参考

大家好, 我是墨渊君, 如果您喜欢我的文章可以: