创建软件包,OpenWRT开发之创建软件包

1 , OpenWRT开发之创建软件包OpenWRT二次开发时总免不了开发自己的软件包 。本文介绍如何在OpenWRT中创建一个新的软件包 。首先创建软件包所在的目录 , 在openwrt根目录中执行:这里的mypackages目录和helloworld目录都是新建的,helloworld就是我们本次新建的软件包的包名 。我们后续可以将自己创建的包都放在mypackages目录下 。helloworld包的目录结构如下:即软件包helloworld目录下的Makefile文件 。例子以及注释如下:上面的例子中没有定义define Build/Compile,表示使用默认的Compile命令 。默认的Compile行为就是在$(PKG_BUILD_DIR)目录下执行make命令 。helloworld.c内容如下:与helloworld.c同目录的Makefile内容如下:说明:这里的$(CC)、$(CFLAGS)、$(LDFLAGS)都是由OpenWRT的build系统赋值的 , CC就是目标平台对应的交叉编译工具链里的gcc 。在OpenWRT根目录下运行make menuconfig,可以看到多出来一个”Examples —>”菜单 , 按回车进去后可以看到我们新建的”helloworld” 包 。(从这里也可以看出,在执行make menuconfig时,OpenWRT会自动扫描package目录以及其子目录下所有的包 。)选中这个”helloworld”包 。然后再OpenWRT根目录下执行:此命令即为OpenWRT单package编译命令 。通过log,可以看到我们的包编译成功 。编译目录为 build_dir/target-XXXX/helloworld-1.0如果要再次编译 , 可以执行:本文源码见: https://github.com/jian-soft/openwrt-package-example参考文章:【创建软件包,OpenWRT开发之创建软件包】
2,创建本地APT软件包仓库有些情况下 , 由于一些安全原因Ubuntu机器没有连接到互联网 。在这种情况中,你可以设置自己的本地APT软件包仓库,并在Ubuntu机器上安装软件包 。系统环境Ubuntu 20.04 LTS安装dpkg-dev需要安装dpkg-dev软件包 , 才能为本地APT仓库创建软件包元数据 。bob@ubuntu-20-04:~$ sudo apt install -y dpkg-dev安装http服务如果该软件仓库需要为其他ubuntu 20.04服务器使用,可以安装web服务器为其他ubuntu 20.04服务器提供软件仓库 。bob@ubuntu-20-04:~$ sudo apt install -y apache2创建本地仓库的存储目录创建/var/www/html/repo目录 , 用来存放软件包:bob@ubuntu-20-04:~$ sudo mkdir /var/www/html/repo创建挂载点 , 并挂载ubuntu 20.04的光盘到/mnt/cdrom目录 。bob@ubuntu-20-04:~$ sudo mkdir /mnt/cdrombob@ubuntu-20-04:~$ sudo mount /dev/cdrom /mnt/cdrommount: /mnt/cdrom: WARNING: device write-protected, mounted read-only.查找/mnt/cdrom里面所有deb软件包并将其复制到我们的本地APT仓库目录中 。bob@ubuntu-20-04:~$ sudo find /mnt/cdrom -iname "*.deb" -exec cp编写一个 脚本 来更新Package.gz文件创建一个 脚本 文件以扫描更新Packages.gz文件因为你可能会不时的在本地APT仓库中添加新的deb软件包 。因此,每次在repo目录中添加新的deb软件包之后,都需要更新Packages.gz文件 。bob@ubuntu-20-04:~$ sudo vim /bin/update-debs#!/bin/bashcd /var/www/html/repodpkg-scanpackages . /dev/null | gzip -9c > Packages.gz给update-debs脚本文件添加可执行权限:bob@ubuntu-20-04:~$ sudo chmod +x /bin/update-debs现在执行此脚本以创建Packages.gz文件:bob@ubuntu-20-04:~$ sudo /bin/update-debs将本地APT仓库地址添加到sources.list文件中首先备份一下sources.list文件,然后添加:bob@ubuntu-20-04:~$ cd /etc/apt/bob@ubuntu-20-04:/etc/apt$ sudo cp -p sources.list sources.list.back打开sources.list文件,在文件底部添加下面内容:bob@ubuntu-20-04:/etc/apt$ sudo vim sources.list# Local APT Repositorydeb [allow-insecure=yes] http://192.168.43.174/repo ./更新一下软件源:bob@ubuntu-20-04:~$ sudo apt update总结在本文中,介绍了如何在Ubuntu 20.04 LTS创建本地APT仓库 。

    推荐阅读