OpenWrt是一个比较完善的嵌入式Linux开发平台,在无线路由器应用上已有100多个软件包。人们可以在其基础上增加软件包,以扩大其应用范衫滑神围。OpenWrt在增加软件方面使用极其方便,按照OpenWrt的约定就可以很简单完成。
加入的软件包可以让余是网上可下载的开源软件或自行开发的软件。为加入软件包需要在package目录或亏下创建一个目录,以包含软件包的各种信息和与OpenWrt建立联系的文件。然后创建一个Makefile与OpenWrt建立联系,Makefile需要遵循OpenWrt的约定。另外可以创建一个patchs目录保存patch文件,对下载的源代码进行适量修改。
为了让不在OpenWrt项目支持列表中的ARM机器快速使用岁敬OpenWrt,可以用替换rootfs的简易方法进行移植。
首先,确保你的ARM盒子有能正常使用的Linux系统乎漏慎,并且最好有良好的社区支持,可以去 armbian 寻找有开源支持的开发板。
以下SoC的开源支持比较良好,多数情况下可以用上主线内核:
移植OpenWrt的rootfs过程中,需要特别注意的是必须保证原有系统内与内核有关的东西搜樱(包括内核模块)不能有任何丢失。多数固件的Linux内核镜像、dtb和uboot的部分变量都是直接存放到rootfs里面的,在替换的时候一定要把这些文件完整保留。
注意:替换rootfs后,机器实际使用的内核与openwrt中由opkg管理的内核(包含内核模块)没有任何关系,因此如果要增删内核模块的话不能使用opkg进行管理。
具体流程:
而OpenWrt的 /lib/modules/<内核版本号>下面直接存放 kernel 目录下的所有模块,所以需要我们手工移动一下,具体 *** 作如下:
如果你的内核版本大于4.18,且iptables抛出以下错误:
那么说明原内核启用了bpfilter,这可能需要重新编译整个内核,请参考这篇文章: https://www.jianshu.com/p/48e2f3e6caeb
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)