这篇文章给大家分享的是有关OpenWrt如何新建设备的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一.分析某一个设备实例(mt300a)
在target目录下查看设备[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如何新建设备”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!