OpenWrt应用程序自编译(1)-KMS

在OpenWrt系统的官方应用程序库里,集成了很多很多有用的程序,你可以通过opkg install命令很方便的安装,但是总是会有一些特殊的应用是游离在外的,或者是官方收集的是早期版本的应用而你想采用最新版本的,这时你就需要进行应用程序的自编译来生成应用的安装程序文件(.ipk)。今天我们就来讲解一下OpenWrt应用程序自编译(1)-KMS的实现过程。

首先我们需要搭建OpenWrt系统的自编译环境(参考网站前期文章),再利用SDK工具来完成自编译过程。在自编译之前,先重申两条原则:1)不要用roo账户或sudo命令进行自编译,一定要用普通账户!!!;2)编译的目录路径中不要带空格。切记切记,否则自编译过程无法正常进行。

下面以安装了OpenWrt19.07.3版本的树莓派3B+为例,来说明KMS的自编译全过程:

1、下载、安装SDK并进行配置

先要找到相应的SDK下载地址,进入OpenWrt官网首页

OpenWrt应用程序自编译(1)-KMS-1

点左边的“Downloads”,进入下载页

OpenWrt应用程序自编译(1)-KMS-2

点“Stable Release builds“进入发布版平台

OpenWrt应用程序自编译(1)-KMS-3

选”19.07.3/“进入相应的版本空间

OpenWrt应用程序自编译(1)-KMS-4

进入”targets/”目录

OpenWrt应用程序自编译(1)-KMS-5

树莓派的分类为brcm2708,因此进入“brcm2708/”目录

OpenWrt应用程序自编译(1)-KMS-6

树莓派3B+属brcm2710分类,进入“brcm2710/”目录

OpenWrt应用程序自编译(1)-KMS-7

这里我们就可以发现相应的SDK文件了,可通过点击直接下载,然后通过WinSCP上传至自编译环境(注:以Ubuntu20.04为例)的相应目录下,如 /home/hzshw;也可以通过下载命令直接下载

cd /home/hzshw
wget https://downloads.openwrt.org/releases/19.07.3/targets/brcm2708/bcm2710/openwrt-sdk-19.07.3-brcm2708-bcm2710_gcc-7.5.0_musl.Linux-x86_64.tar.xz

将文件解压并删除原压缩文件

tar xf openwrt-sdk-19.07.3-brcm2708-bcm2710_gcc-7.5.0_musl.Linux-x86_64.tar.xz
rm openwrt-sdk-19.07.3-brcm2708-bcm2710_gcc-7.5.0_musl.Linux-x86_64.tar.xz

这时用 ls 命令查看,就会发现在/home/hzshw目录下多了一个 openwrt-sdk-19.07.3-brcm2708-bcm2710_gcc-7.5.0_musl.Linux-x86_64 目录,用 cd 命令进入该目录

ls

cd openwrt-sdk-19.07.3-brcm2708-bcm2710_gcc-7.5.0_musl.Linux-x86_64

目录里包含的就是SDK的初始环境,接下来我们还必须进一步配置SDK环境

更新feeds列表并安装

./scripts/feeds update -a

./scripts/feeds install -a

make menuconfig     #采用缺省状态,直接退出保存设置即可

注:这里运行make menuconfig命令后后续自编译时就不会出现要求配置的界面了,当然你放在后面运行也是可以的。

这时自编译要用到的SDK工具就配置好了,下一步就可以进入应用程序的自编译过程了。

2、KMS的自编译

KMS在OpenWrt平台上应用,可具体参考如下网站:

1)vlmcsd分项目

源码:https://github.com/cokebar/openwrt-vlmcsd

2)luci-app-vlmcsd分项目

源码:https://github.com/cokebar/luci-app-vlmcsd

将KMS及对应的Luci源程序先下载到SDK的 package 目录下

git clone https://github.com/cokebar/openwrt-vlmcsd.git package/openwrt-vlmcsd

git clone https://github.com/cokebar/luci-app-vlmcsd.git package/luci-app-vlmcsd

然后编译

make package/openwrt-vlmcsd/compile V=s

make package/luci-app-vlmcsd/compile V=s

在 bin/packages/aarch64_cortex-a53/base 目录下就可以发现自编译生成的KMS及对应的Luci文件

vlmcsd_svn1113-1_aarch64_cortex-a53.ipk

luci-app-vlmcsd_1.0.2-1_all.ipk

通过WinSCP将以上两个文件上传至树莓派3B+软路由,通过 opkg install 命令安装即可。

OpenWrt应用程序自编译(1)-KMS-8