Lean OpenWrt 编译使用小记
Lean OpenWrt 是 Lean 大佬修改的 OpenWrt 开源版本,和 KoolLede 是国内两个比较有名的分支。Lean OpenWrt 不提供预编译文件,所以想使用的话需要自己编译一遍。
编译需要使用 Ubuntu 系统,不要使用 WSL 会出问题。 编译没什么好说的,README 里面写的很详细一步步来就行了,推荐使用这个脚本白嫖下 Github 的服务器来云编译。
编译选项
如果没什么特别要求,保持默认就行,但来刷 Lean 的基本上都有一些奇奇怪怪的需求😁
这里有插件清单,包括 xls 格式的:https://www.right.com.cn/forum/thread-344825-1-1.html
酸乳饮料
Lean 内置的酸乳饮料插件很好用,而且没发布到官方源,也是很多同学来的目的。可惜现在默认给取消了,找回来分三步:
- 取消 feeds 注释。修改一下
feeds.conf.default
文件,去掉最后一行helloword
的注释。重新执行./script/feeds update -a && ./script/feeds install -a
. 如果是云编译,修改一下diy-part1.sh
取消带helloword
那一行的注释。 make menuconfig
生成配置文件的时候,在LuCI - Applications
里选中luci-app-***-plus
.- 系统安装完毕后如果找不到菜单,那命令行执行一下
0xDEADBEEF > /etc/config/google_fu_mode
就可以了。
IPv6
Lean OpenWrt 默认不支持 IPv6,启用的话在 Extra packages
里选中 ipv6helper
就好啦,所需的依赖会自动勾选。
Samba4
默认安装的是 Samba36 不支持 Win8 之后使用的 Samba3 协议。如果直接勾选 Samba4 编译的话会报冲突,然而 Samba36 还无法取消勾选😶 按照下面步骤来就行了:
Extra packages
里取消勾选autosamba
.LuCI - Applications
里取消勾选luci-app-samba
,勾选luci-app-samba4
.Network
里取消samba36-server
.
写入固件
假设写入内置存储,u 盘启动进入 PE 系统,先删除内置存储所有分区,执行 physdiskwrite -u [*.img]
然后选择磁盘编号就行了。physdiskwrite 官方下载在这里。
写入之后重启并从内置存储启动,就能顺利进入系统命令行。默认情况下控制台地址是 192.168.1.1
,如果和其他设备冲突的话,可以顺手先改一下。编辑 /etc/config/network
,修改 lan
接口的 ipaddr
属性为希望的 ip 地址。
Smba4
autosmb 目前不支持 Smba4,也就是说插入设备后得手动去设置一下共享。在服务 - 网络共享
里添加一下,然后记得执行 /etc/init.d/samba4 restart
重启服务,否则似乎修改不生效。
另外安装的是 4.11 版本,默认禁用了 SMB1 协议,对于一些老的操作系统(比如电视盒子)可能无法访问。点击 编辑模板
,加上两行配置:
server min protocol = NT1
client min protocol = NT1
NT1
是协议版本,可选值在参考文档里列出了。
访问光猫
首先确认路由器与光猫不在一个网段下,然后执行下面三个命令:
ifconfig eth0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
iptables -I forwarding_rule -d 192.168.1.1 -j ACCEPT
iptables -t nat -I postrouting_rule -d 192.168.1.1 -j MASQUERADE
其中第一行第一个是与光猫同网段的任意一个 ip,用于分配给路由器。eth0
是光猫连接的路由器端口。
第二三行是光猫的实际 ip.
上面命令重启后需要重新执行,可以加到开机启动项里。
挂载剩余空间
查看分区情况
默认情况下只会格式化并挂载镜像内指定的大小,剩余内存空间都浪费了。先执行 fdisk -l
查看磁盘分区情况。可以看到总共 29.51G 的 SSD 只用了 1G 左右。
root@OpenWrt:~# fdisk -l
Disk /dev/sda: 29.51 GiB, 31675383808 bytes, 61865984 sectors
Disk model: CNCTION 32GB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x319d78ac
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 512 33279 32768 16M 83 Linux
/dev/sda2 33792 2130943 2097152 1G 83 Linux
创建分区
可以使用 fdisk
来创建分区,不过这里选择更直观的 cfdisk
,记得先 opkg update && opkg install cfdisk
安装一下。很明显看出有剩余28.5G 的空间没有分配。
选中剩余空间,依次点击 New - Primary - Write - yes - Quit
完成分区划分。此时再执行 fdisk -l
可以看到新分区了:
Disk /dev/sda: 29.51 GiB, 31675383808 bytes, 61865984 sectors
Disk model: CNCTION 32GB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x319d78ac
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 512 33279 32768 16M 83 Linux
/dev/sda2 33792 2130943 2097152 1G 83 Linux
/dev/sda3 2131968 61865983 59734016 28.5G 83 Linux # <<<<<<<<<<
格式化并挂载
执行 mkfs.ext4 /dev/sda3
格式化新的分区。OpenWrt 默认没有生成 /opt
目录,这个通常用于安装自定义程序、大型程序等等。我们不妨干脆挂载为 opt
来使用。
mkdir /opt
mount -o rw /dev/sda3 /opt
最后执行 df -h
看一下挂载情况:
root@OpenWrt:/# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 48.3M 48.3M 0 100% /rom
tmpfs 1.9G 11.3M 1.9G 1% /tmp
/dev/loop0 973.9M 154.2M 819.7M 16% /overlay
overlayfs:/overlay 973.9M 154.2M 819.7M 16% /
/dev/sda1 15.7M 4.9M 10.5M 32% /boot
/dev/sda1 15.7M 4.9M 10.5M 32% /boot
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda3 27.9G 44.0M 26.4G 0% /opt #<<<<<<<<
现在剩余空间可以正常使用了,并且挂载为了 /opt
.