0接上文【EASY EAI Nano-TB(RV1126B)开发板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目
这是人们最熟悉的 init 系统。,SysVinit 运行非常良好,概念简单清晰。
它主要依赖于 Shell 脚本,Service 开发人员只需要编写启动和停止脚本,将 service 添加/删除到某个 runlevel 时,
只需要执行一些创建/删除软连接文件的基本操作,确定的执行顺序脚本严格按照启动数字的大小顺序执行,
SysVinit脚本的执行顺序遵循严格的命名规则:
以"S"开头的脚本表示启动(Start)服务
以"K"开头的脚本表示停止(Kill)服务
数字编号决定执行顺序(如S10会在S20之前执行)
字母顺序作为次要排序依据(如A41会在S41之前执行)
这种设计使得服务启动顺序完全可控,极大地方便了故障排查。
串行地执行脚本导致启动太慢。缺乏服务依赖关系的动态管理
不支持并行启动,资源利用率低
功能扩展性有限,难以适应现代复杂系统需求
开机自启动涉及到四个脚本文件。分别是:rc.local、S99_userapp、start_app.sh、stop_app.sh。
/etc/rc.local:这个脚本是Linux文件系统启动后第一个程序就会去调用的脚本。它会去/etc/init.d/下面,按命名顺序,遍历调用所有脚本。(如A41会比S41先调用,S41会比S99先调用)
/etc/init.d/S99_userapp:这个是专用于管理用户应用程序启/停的脚本。
/userdata/start_app.sh:用户应用程序的启动逻辑通常写进这里,里面可以随意修改。
/userdata/stop_app.sh:用户应用程序的结束逻辑通常写进这里,里面可以随意修改。
接ssh
经过之前查询可知被分配出来的IP地址分别为:
【wlan0】--IP地址:inet 192.168.1.9,子网掩码(24):255.255.255.0-
可使用ssh登录。



EASY EAI Nano用户名:nano
EASY EAI Nano密码为:123456
登录后:
EASY EAI Nano-TB是带有基本系统 Ubuntu 22.04.5 LTS (GNU/Linux 6.1.118 aarch64)
使用之前rgb1.sh复制到启动 /etc/init.d中。
cp rgb1.sh /etc/init.d/S99_v.sh
加入运行权限:
文件在* 命令 :
chmod u+x S99_v.sh
文件在S99_userapp后面运行。
reboot重新启动。
灯正常闪!
nano@EASY-EAI-NANO-TB:~$ ps
PID TTY TIME CMD
747 pts/0 00:00:00 bash
6325 pts/0 00:00:00 ps
用户进程没有,但是ps -ax显示574 进程* S:休眠(sleeping)中。

574 ? S 0:00 /bin/sh /etc/init.d/S99_v.sh start
红绿灯项目开机起动完成。
更多回帖