openwrt系统命令

openwrt刷机

openwrt刷机包更新:https://www.right.com.cn/forum/thread-3708606-1-1.html

openwrt自编译教程:https://www.youtube.com/watch?v=ZMh-AvQV8n0&t=1s

github源码编译教程:https://github.com/coolsnowwolf/lede

编译好的固件:https://drive.google.com/drive/folders/1dqNUrMf9n7i3y1aSh68U5Yf44WQ3KCuh

软件包升级

1
2
opkg update
opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade

固件升级

进入OpenWrt固件下载主页面:https://downloads.openwrt.org/

写硬盘及分区格式化设置共享教程

https://koolshare.cn/thread-154153-1-1.html

硬盘挂载相关命令

查看所有磁盘分区lsblk -a包括未挂载磁盘;lsblk详解

查看磁盘uuidblkid

挂载硬盘mount /dev/分区名称 /mnt/挂载点名称

挂载所有分区mount -a,该命令会用到/etc/fstab文件,可使修改过的fstab文件立即生效

卸载所有磁盘分区umount -a,被占用的盘不会被卸载

怎样查看Openwrt内核版本?

1
2
3
cat /proc/version
#或者
uname -a

ext4-img.gz,squashfs.img.gz,rootfs.tar.gz等几个文件区别?

https://www.right.com.cn/forum/thread-1425096-1-1.html

这里解释一下该文件夹下各个文件的区别:

openwrt-x86-generic-combined-ext4.img.gz

rootfs工作区存储格式为ext4

openwrt-x86-generic-combined-jffs2-128k.img

jffs2可以修改,也就是可以自行更换(删除)rootfs的配置文件,而不需要重新刷固件。

openwrt-x86-generic-combined-squashfs.img

squashfs是个只读的文件系统,相当于win的ghost,使用中配置错误,可直接恢复默认。

openwrt-x86-generic-rootfs-ext4.img.gz rootfs的镜像,不带引导,可自行定义用grub或者syslinux来引导,存储区为ext4。

为了更清楚的说明这个问题,可以参考以下文章: http://wiki.openwrt.org/doc/techref/header 从这里可以看出一个完整的镜像文件至少要包含三个部分

Loader

Kernel

RootFS

OpenWrt编译成功文件说明

https://wp.gxnas.com/10294.html

文件名 描述
sha256sums 固件完整性校验文件
config.buildinfo OpenWrt 编译配置文件
packages-server.zip IPK 软件包归档
openwrt-x86-64-generic.manifest 固件内已集成软件包列表
openwrt-x86-64-generic-generic-rootfs.tar.gz RootFS 文件
openwrt-x86-64-generic-rootfs-ext4.img.gz 不带引导的 RootFS 镜像
openwrt-toolchain-x86-64_gcc-8.4.0_musl.Linux-x86_64.tar.bz2 OpenWrt 工具链
openwrt-sdk-x86-64_gcc-8.4.0_musl.Linux-x86_64.tar.xz OpenWrt SDK
openwrt-imagebuilder-x86-64.Linux-x86_64.tar.xz OpenWrt Image Builder
openwrt-x86-64-generic-squashfs-combined.vdi VDI 虚拟磁盘映像 (Legacy 引导)
openwrt-x86-64-generic-squashfs-combined.vmdk VMDK 虚拟磁盘映像 (Legacy 引导)
openwrt-x86-64-generic-squashfs-combined-efi.vdi VDI 虚拟磁盘映像 (UEFI 引导)
openwrt-x86-64-generic-squashfs-combined-efi.vmdk VMDK 虚拟磁盘映像 (UEFI 引导)
openwrt-x86-64-generic-squashfs-combined.img.gz Squashfs 格式安装 / 升级固件 (Legacy 引导)
openwrt-x86-64-generic-squashfs-combined-efi.img.gz Squashfs 格式安装 / 升级固件 (UEFI 引导)

网关趣解:什么是网关,网关的作用是什么?

开机自启动脚本

单次启动:

1
/etc/init.d/network start

开机自启(创建相应软连接):

1
ln -s /etc/init.d/network /etc/rc.d/S19network

S19是启动顺序,数字越小启动优先级越高。可以通过删除软链接来取消自启动

或者使用系统方法:

1
/etc/init.d/done enable

也可以使用disable来取消(删除软链接)脚本自动启动。

自动关机

在系统->计划任务中,添加下列代码,每天凌晨2:30关机,*代表缺省的选项,从左到右分别是:分时日周月,互相之间要用空格隔开。

1
30 2 * * * poweroff

扩充系统磁盘大小

首先要有一个已经格式化为ext4格式的磁盘,lsblk查看磁盘分区,其中sdb4即所需磁盘。

1
2
3
4
5
6
7
8
9
10
root@OpenWrt:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 298.1G 0 disk
└─sda1 8:1 0 298.1G 0 part /mnt/sda1
sdb 8:16 0 223.6G 0 disk
├─sdb1 8:17 0 16M 0 part /boot
│ /boot
├─sdb2 8:18 0 500M 0 part /rom
├─sdb3 8:19 0 239K 0 part
└─sdb4 8:20 0 223.1G 0 part

在系统——挂载点的页面下,添加磁盘分区为根目录/,照页面提示内容操作,操作完成后,等待一段时间,系统会从sdb4启动,此时页面刷新后无法打开,通过ssh重启路由器即可完成磁盘扩充。

可以看到sdb4磁盘已经挂载上了根目录/,并且同时挂载了/opt/docker,猜测该扩充根目录的原理是通过docker完成的,暂不深入了解,如果有知晓的朋友,欢迎留言。

1
2
3
4
5
6
7
8
9
10
11
root@OpenWrt:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 298.1G 0 disk
└─sda1 8:1 0 298.1G 0 part /mnt/sda1
sdb 8:16 0 223.6G 0 disk
├─sdb1 8:17 0 16M 0 part /boot
│ /boot
├─sdb2 8:18 0 500M 0 part /rom
├─sdb3 8:19 0 239K 0 part
└─sdb4 8:20 0 223.1G 0 part /opt/docker
/