6. 编译软件包¶
当我们镜像编译完成之后,想要再添加一个软件包,如果完整的编译一遍源码得到软件包,会导致整个编译过程繁杂, 并且会浪费很多时间。这时我们就可以选择单独编译一个软件包。
6.1. 软件包编译¶
接下来我们以luci的主题包luci-theme-openwrt-2020为例。输入以下命令
1 2 3 4 5 6 7 8 9 10 11 | #在menuconfig中勾选要编译的包
make menuconfig
#清除已有的编译文件
make package/luci-theme-openwrt-2020/clean V=s
#解压源码,本地没有的话会自动下载
make package/luci-theme-openwrt-2020/prepare V=s
#进行编译
make package/luci-theme-openwrt-2020/compile V=s
|
我们首先要在menuconfig中选择要编译的包。
然后清除已有的编译文件
接着解压源码到编译的目录
最后我们进行编译。
图中画红线的路径就是生成的软件包xxx.ipk的保存位置。
当然,我们在bin目录下搜索对应文件名就可以找到
6.2. 获取第三方软件包¶
除了已被OpenWrt官方合并入主线的软件包之外,还有很多因为各种原因无法被官方采纳的软件包。
或许第三方的软件包有安全性或兼容性等问题,但是他们能进一步的方便我们对OpenWrt的使用, 也极大地拓展了OpenWrt的功能。
警告
本节内容仅做演示使用,不保证所演示内容的安全性、稳定性,请谨慎使用。
我们可以在github中搜索相关插件,以基于luci的插件为例,我们搜索关键字 luci-app , 可以看到,相关的仓库接近700个
我们以luci-app-kcptun为例,打开仓库,查看安装/编译相关的说明。参考说明, 我们对github上的仓库进行克隆。
来到我们拉取的OpenWrt源码,在其根目录下执行git clone 命令,并将文件克隆到package目录下。
然后我们打开menuconfig,在LuCI -> Applications菜单呢就可以看到luci-app-kcptun。
我们选中软件包以后,退出menuconfig并保存配置文件,然后使用make V=s 进行镜像的编译。