一.分析某一个设备实例
在target目录下查看设备[ar71xx]的文件列表:
target/linux/ar71xx/base-files/etc/board.d/01_leds
target/linux/ar71xx/base-files/etc/board.d/02_network
target/linux/ar71xx/base-files/lib/upgrade/platform.sh
target/linux/ar71xx/base-files/lib/ar71xx.sh
target/linux/ar71xx/image/generic.mk
二.细说新设备的重要文件
- 生成固件中的配置的文件及文件夹[/etc/]
来自源代码中的(/target/linux/<arch_name>/base-files/etc/…)的目录下,它主要包含以下文件及文件夹:
1./etc/board.d/ 定义设备专用的默认硬件的脚本,如LED和网络接口。
2./etc/hotplug.d/ 定义设备专用的,在插入热插拔设备时自动运行的脚本
3./etc/init.d/ 定义设备专用的在启动时自动运行的脚本
4./etc/uci-defaults/ 定义设备专用的UCI默认设置
5./diag.sh 定义设备显示的错误代码 - 生成固件中的配置的文件及文件夹[/lib/]
来自源代码中的(/target/linux/<arch_name>/base-files/lib/…)的目录下,它主要包含以下文件及文件夹:
1./etc/<arch_name>.sh 将阅读友好的设备名转化为脚本安全的设备名的脚本
2./etc/preinit/ 通用<arch_name>预初始化脚本
3./etc/upgrade/ 通用<arch_name>升级脚本 - 生成固件中的配置的文件及文件夹[/sbin/*]
来自源代码中的(/target/linux/<arch_name>/base-files/sbin)的目录下。 一般为通用的<arch_name>/sbin脚本和工具. - 用于构建写入用镜像的设置文件
放置在源文件(/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)
转载原文链接:OpenWrt新建设备