扩容
ext4固件扩容
Squashfs固件扩容
# 将刚刚新建的 /dev/mmcblk0p3 分区挂载至 /mnt
root@OpenWrt:/# mount /dev/mmcblk0p3 /mnt
# 查看分区挂载情况
root@OpenWrt:/# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 760.8M 0 loop /overlay mmcblk0 179:0 0 14.9G 0 disk
├─mmcblk0p1 179:1 0 64M 0 part /boot ├─mmcblk0p2 179:2 0 960M 0 part /rom └─mmcblk0p3 179:3 0 13.8G 0 part /mnt
# 将 /overlay 分区下的所有文件拷贝至刚刚建立好的分区内
root@OpenWrt:/# cp -f -a /overlay/. /mnt
# 查看是否拷贝成功
root@OpenWrt:/# ls -a /mnt
. .. .fs_state lost+found upper work
root@OpenWrt:/# ls -a /overlay
. .. .fs_state upper work
# 同步文件
root@OpenWrt:/# sync
# 卸载 /dev/mmcblk0p3 分区
root@OpenWrt:/# umount /mnt
PVE里的OpenWRT扩容
在PVE里安装OpenWRT并使用上述的两种扩容方式并不生效,由此只有另谋它法。
首先使用常规的方法将OpenWRT安装到PVE里,虽然我们分配了很多的硬盘,但是安装后的系统并不能用那么多,此时在op的命令行中输入如下命令:
opkg update
opkg install cfdisk fdisk e2fsprogs
使用cfdisk进行扩容:
输入YES并按下回车键,写入新分区;切换 Quit ,按下回车键退出。运行 fdisk -l
命令,查看是否成功创建新分区。
然后格式化分区:
mkfs.ext4 /dev/sda3
此时可能会报错,我们可以使用下列方法解决:
- 问题很简单,就是版本不正确,删除旧的版本 然后上传安装新的版本就行了。
- 在OpenWRT网页管理界面中,进入系统 -> 软件包 查找 e2fsprogs 点击 移除,删除自带的 e2fsprogs
- 重新下载最新版的e2fsprogs ,我这里下载的是X86版,并上传到OpenWRT上,并使用opkg install 命令安装就行,此时应该可以执行上面的格式化命令了。
进入 OpenWrt 管理后台,依次点击 系统 – 挂载点 找到并点击全局设置中的 生成配置 。然后刷新
点击挂载点中的修改,选择根,然后复制下面命令,并应用保存,这里要按照自己的时间情况对路径进行修改
在OpenWRT命令行中一步一步执行下列命令:
mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sda3 /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot
参考文献
PVE部署Openwrt,并转换磁盘,Openwrt扩容
mkfs.ext4 报错 ext2fs_create_orphan_file: symbol not found
旁路由无法访问国内网络
- 1.LAN口取消桥接;
- 2.防火墙添加”iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE”,重启防火墙,立马就能访问了。
解决openwrt开机时要按enter才能启动
修改路由里的这个文件:/etc/inittab 文件里的 askfirst 改成 respawn ttyS0::respawn:/usr/libexec/login.sh hvc0::respawn:/usr/libexec/login.sh tty1::respawn:/usr/libexec/login.sh |
openwrt安装哪吒面板agent
为了方便监控各个设备的情况,想到了能不能和监控vps的哪吒面板整合,想不到真的有:
下载哪吒面板监控端:https://github.com/naiba/nezha/releases
wget https://github.com/naiba/nezha/releases/download/v0.14.4/nezha-agent_linux_amd64.zip
解压并赋予权限
unzip nezha-agent_linux_amd64.zip
rm nezha-agent_linux_amd64.zip
chmod +x /root/nezha-agent
vim /etc/init.d/nezha-service
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command /root/nezha-agent -s 面板通信地址:端口 -p 秘钥 -d
procd_set_param respawn
procd_close_instance
}
stop_service() {
killall nezha-agent
}
restart() {
stop
sleep 2
start
}
chmod +x /etc/init.d/nezha-service
/etc/init.d/nezha-service enable && /etc/init.d/nezha-service start