实用教程:GitHub_Trending/nan/nanopi-openwrt自定义启动项配置
在嵌入式设备开发中,自定义启动项配置是优化系统启动流程、实现特定功能自动运行的关键步骤。本教程将详细介绍如何在GitHub_Trending/nan/nanopi-openwrt项目中进行自定义启动项配置,帮助用户根据自身需求定制设备启动行为。
项目概述
GitHub_Trending/nan/nanopi-openwrt项目是一个针对Nanopi系列设备(如R1S、R2S、R4S、R5S等)和香橙派R1 Plus的OpenWrt固件编译项目,提供了纯净版与大杂烩两种固件版本。项目默认用户名是root,密码是password,局域网IP为192.168.2.1。烧制完固件插入tf卡并启动完成后,在浏览器输入 http://immortalwrt/ 可以直接打开路由器后台。
固件特性
- slim版固件只有OpenWrt本体,但内置了“本地软件源”,包含大部分常用插件
- 采用ext4文件系统,刷卡之后可自行使用分区工具对sd卡扩容根分区至最大
- 支持usb无线网卡(RTL8821CU芯片,例如COMFAST 811AC),可以驱动无线网卡运行在5G频段
- 使用在线升级时,根分区会自动扩容,方便折腾
自定义启动项配置方法
1. 了解启动脚本
在OpenWrt系统中,启动项通常通过 /etc/init.d/ 目录下的脚本进行管理。虽然本项目中未直接提供 /etc/init.d/ 目录,但我们可以通过创建自定义脚本并配置系统自动运行的方式实现自定义启动项。
2. 创建自定义启动脚本
首先,我们需要创建一个自定义的启动脚本。可以在项目的 scripts/ 目录下创建一个新的脚本文件,例如 custom_startup.sh。以下是一个简单的示例脚本:
#!/bin/sh /etc/rc.common
START=99
start() {
# 在这里添加你的启动命令
echo "Custom startup script is running..." > /tmp/custom_startup.log
# 例如启动一个自定义服务
# /usr/bin/my_custom_service &
}
stop() {
# 在这里添加你的停止命令
# killall my_custom_service
echo "Custom startup script is stopped..." > /tmp/custom_startup_stop.log
}
3. 配置脚本权限
创建脚本后,需要为其添加可执行权限。可以通过以下命令实现:
chmod +x scripts/custom_startup.sh
4. 配置系统自动运行
虽然本项目中没有直接提供 /etc/init.d/ 目录,但我们可以通过修改 etc/rc.local 文件的方式实现脚本的自动运行。在项目的自动更新脚本 scripts/autoupdate-bash.sh 中,我们可以看到类似的操作:
[ x$ver == 'x-slim' ] && sed -i '/exit/i\sed -i "/packages_needed/d" /etc/rc.local; [ -e /packages_needed ] && (mv /packages_needed /packages_needed.installed && sh /packages_needed.installed)\' etc/rc.local
这行代码通过 sed 命令修改了 etc/rc.local 文件,在系统启动时自动运行特定命令。我们可以借鉴这种方式,将自定义脚本添加到 etc/rc.local 文件中:
sed -i '/exit/i\sh /path/to/your/custom_startup.sh &' etc/rc.local
其中 /path/to/your/custom_startup.sh 是你的自定义脚本在设备中的实际路径。
5. 编译与测试
完成上述配置后,我们可以使用项目提供的固件编译功能生成包含自定义启动项的新固件。具体步骤如下:
- 编辑设备对应的config.seed文件,例如
r2s.config.seed - 进入Actions,点击左侧Build,点击右侧Run workflow输入设备名(r2s/r2c/r4s/r1s/r1s-h3/r1p/r1p-lts)
- 点击Run即可获取包含自定义启动项的固件
THE 1TH POSITION OF THE ORIGINAL IMAGE
刷入新固件后,设备启动时将自动运行你的自定义脚本。你可以通过查看 /tmp/custom_startup.log 文件来验证脚本是否正常运行。
注意事项
- 脚本的启动顺序由
START变量决定,数值越大,启动越晚。建议设置为99,确保在其他服务启动后再运行自定义脚本。 - 在修改系统文件时,建议先备份原始文件,以便出现问题时可以恢复。
- 如果需要添加多个自定义启动项,可以创建多个脚本文件,并在
etc/rc.local中依次添加运行命令。 - 更多关于OpenWrt系统启动流程的信息,可以参考OpenWrt官方文档。
总结
通过本教程,你已经了解了如何在GitHub_Trending/nan/nanopi-openwrt项目中进行自定义启动项配置。这一功能可以帮助你实现各种自动化任务,如启动自定义服务、配置网络参数、运行监控脚本等。希望本教程对你有所帮助,如果你有任何问题或建议,欢迎在项目的GitHub页面提出。
官方文档:README.md 在线升级脚本:scripts/autoupdate-bash.sh LuCI插件说明:luci_app_manual.md
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




