这篇文章给大家分享的是有关OpenWrt如何新建设备的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一.分析某一个设备实例(mt300a)
-
target/linux/ramips/base-files/etc/board.d/01_leds
-
target/linux/ramips/base-files/etc/board.d/02_network
-
target/linux/ramips/base-files/lib/upgrade/platform.sh
-
target/linux/ramips/base-files/lib/ramips.sh
-
target/linux/ramips/dts/GL-MT300A.dts
-
target/linux/ramips/image/mt7620.mk
二.细说新设备的重要文件
-
生成固件中的配置的文件及文件夹[/etc/*]
来自源代码中的(/target/linux/<arch_name>/base-files/etc/…)的目录下,它主要包含以下文件及文件夹:
-
*/etc/board.d/ 定义设备专用的默认硬件的脚本,如LED和网络接口。
-
*/etc/hotplug.d/ 定义设备专用的,在插入热插拔设备时自动运行的脚本
-
*/etc/init.d/ 定义设备专用的在启动时自动运行的脚本
-
*/etc/uci-defaults/ 定义设备专用的UCI默认设置
-
*/diag.sh 定义设备显示的错误代码
-
生成固件中的配置的文件及文件夹[/lib/*]
来自源代码中的(/target/linux/<arch_name>/base-files/lib/…)的目录下,它主要包含以下文件及文件夹:
-
*/etc/<arch_name>.sh 将阅读友好的设备名转化为脚本安全的设备名的脚本
-
*/etc/preinit/ 通用<arch_name>预初始化脚本
-
*/etc/upgrade/ 通用<arch_name>升级脚本
-
生成固件中的配置的文件及文件夹[/sbin/*]
来自源代码中的(/target/linux/<arch_name>/base-files/sbin)的目录下。 一般为通用的<arch_name>/sbin脚本和工具.
-
设备树源文件
放置在源代码中的(/target/linux/<arch_name>/dts/)
-
用于构建写入用镜像的设置文件
放置在源文件(/target/linux/<arch_name>/image/)
-
设备专用的设置文件
放置在源文件(/target/linux/<arch_name>/<board_name>/)
-
menuconfig中使用的架构专用(Arch-specific)配置文件
放置在源文件(/target/linux/<arch_name>/modules.mk)
-
使新设备出现在make menuconfig中
需要源文件(touch target/linux/*/Makefile)
三.补丁文件
补丁- *子目录包含内核补丁应用对于每一个目标。 所有的补丁都应该被命名为'NNN-lowercase_shortname.patch',
分为以下类别:
-
0xx – upstream backports
-
1xx – code awaiting upstream merge
-
2xx – kernel build / config / header patches
-
3xx – architecture specific patches
-
4xx – mtd related patches (subsystem and drivers)
-
5xx – filesystem related patches
-
6xx – generic network patches
-
7xx – network / phy driver patches
-
8xx – other drivers
-
9xx – uncategorized other patches
感谢各位的阅读!关于“OpenWrt如何新建设备”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/219990.html