1、检查网络
保持U盘原文件系统格式( FAT32 格式)将U盘插入路由器USB口,插入后检查一下路由器无线供网是否正常,正常的话就继续下一步。因为有一些固件功率不够,插上U盘后,带不动,这个时候可以找一个高功率的固件刷入。
2、SSH连接路由器
使用SSH客户端连接路由器,查看u盘设备是否正常读取
opkg update
opkg install fdisk blkid dosfstools
fdisk -l
#根据U盘的存储空间大小确定是否读取到,我的U盘是64G的。读取到57GB 设备为/dev/sda3、U盘分区
如果U盘是刚买来,没有使用过,插入到路由器后,会自动读取并已经有一个分区/dev/sda1 .并且已经自动挂载到/mnt/sda1
这里我先将所有分区删除,重新创建分区。
fdisk /dev/sda
#删除分区
d
#查看是否还有分区,直到所有分区都删除
p
#新建分区
n
#选择主分区
p
#回车2次
#设置分区大小,这个分区我主要用来安装软件,所以只分区6G即可
+6G
#再回车一次,最后剩下的空间,后面用来安装docker时自动分区作为docker的数据空间
#保存分区设置
w
#这里我只分一个主分区4、格式化主分区文件系统
# 查看当前磁盘分区情况
fdisk -l /dev/sda
# 将主分区格式化为 ext4 文件系统(假设主分区为 /dev/sda1)
umount /dev/sda1
mkfs.ext4 -F /dev/sda1
#Filesystem UUID: cfa0ccf7-00cc-4505-a4f4-81a0627dd975
# 或者格式化为其他文件系统,如:
# mkfs.xfs /dev/sda1 # XFS 文件系统
# mkfs.btrfs /dev/sda1 # Btrfs 文件系统5、配置开机自动挂载
# 创建挂载点目录
mkdir -p /mnt/sda1
# 手动挂载测试
mount /dev/sda1 /mnt/sda1
# 编辑 fstab 文件配置开机自动挂载
vi /etc/fstab
# 在 fstab 文件中添加以下行:
/dev/sda1 /mnt/sda1 ext4 defaults 0 06、验证配置
# 重新挂载所有在 fstab 中定义的文件系统
mount -a
# 查看挂载结果
df -h
# 检查 fstab 语法是否正确
umount /mnt/sda1
mount /mnt/sda1
7、作为外部/overlay使用
拷贝 /overlay 目录下原来的文件到/mnt/sda1目录下。
## 拷贝文件
cp -r /overlay/* /mnt/sda1
ll /mnt/sda1接下来就是进到OpenWrt系统后台,找到系统-挂载点-先点击全局设置里面的生成配置按钮,然后拉到底部挂载点,可以看到我们刚才挂载的磁盘,然后点击修改。

点击修改之后进入到如下界面,确保启用此挂载点是勾选状态,挂载点选择 作为外部overlay使用,保存&应用,
再次修改/etc/fstab文件,确保U盘开机后自动挂载到 /overlay

为了更进一步确保 开机自动挂载U盘成功。在本地启动脚本中写入挂载命令

然后重启OpenWrt。如果操作没错的话,再次查看空闲空间就是我们设置的空间了。

8、安装插件
最后,可以安装一些占用磁盘空间比较大的插件了,比如 docker
安装docker
opkg update
opkg install docker-compose dockerd docker luci-app-docker luci-i18n-docker-zh-cn 
启动docker
/etc/init.d/docker enable
/etc/init.d/docker status
/etc/init.d/docker start
/etc/init.d/docker statusdocker配置
根据文档 DockerReadme.pdf 进行docker初始化配置
问题1:/etc/docker-init自动分区执行失败
根据文档DockerReadme.pdf ,自动分区如果执行不成功,可以执行手动分区,将/dev/sda 剩下空间全部分给分区/dev/sda2.

其余步骤还是根据文档DockerReadme.pdf 进行配置。
问题2:如果web界面上没有 作为docker数据分区来挂载的选项,那么使用以下方法将/dev/sda2挂载成docker数据分区。
修改 Docker 配置文件
# 停止 Docker 服务
/etc/init.d/docker stop
mkdir -p /mnt/sda2
mount /dev/sda2 /mnt/sda2
# 备份现有 Docker 数据(如果存在)
cp -r /var/lib/docker /var/lib/docker.backup 2>/dev/null || true
#或者
cp -r /opt/docker /opt/docker.backup 2>/dev/null || true
# 修改 Docker 配置文件
mkdir -p /mnt/sda2/docker
vi /etc/docker/daemon.json在 daemon.json中添加以下内容(同时配置一下dockerhub加速):
{
"registry-mirrors": [ "https://0907e9f34380f2940febc01a90f417a0.mirror.swr.myhuaweicloud.com" ],
"data-root": "/mnt/sda2/docker",
"log-level": "warn",
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}如果文件不存在,创建新文件;如果已存在,添加 "data-root"字段。最后再次启动docker
/etc/init.d/docker start
#为了确保/dev/sda2开机自动挂载,需进行以下配置。
root@ImmortalWrt:/mnt/sda1# cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <p
/dev/sda1 /overlay ext4 defaults 0 0
/dev/sda2 /mnt/sda2 ext4 defaults 0 0
root@ImmortalWrt:/mnt/sda1#
