接上文【ELF 2学习板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目
Linux 系统下 init 系统
大多数 Linux 发行版的 init 系统是和 System V 相兼容的,被称为 sysvinit。
这是人们最熟悉的 init 系统。,SysVinit 运行非常良好,概念简单清晰。
它主要依赖于 Shell 脚本,Service 开发人员只需要编写启动和停止脚本,将 service 添加/删除到某个 runlevel 时,
只需要执行一些创建/删除软连接文件的基本操作,确定的执行顺序脚本严格按照启动数字的大小顺序执行,
一个执行完毕再执行下一个,这非常有益于错误排查。串行地执行脚本导致启动太慢。
接ssh
root入!
在 /etc/init.d/下文件:
- 文件名以 S 开头的脚本就是启动时应该运行的脚本,S 后面跟的数字定义了这些脚本的执行顺序
- 文件名以 K 开头的脚本就是启动时应该关闭的脚本,K 后面跟的数字定义了这些脚本的执行顺序
创建脚本文件
"/etc/init.d/S99my_script"
内容:
#!/bin/sh### BEGIN INIT INFO# Provides: my_script# Required-Start: $local_fs $network# Required-Stop: $local_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: My custom script### END INIT INFO/etc/rgb.shexit 0
# Default-Start: 2 3 4 5 指runlevel 级别。:
#0 - halt (Do NOT set initdefault to this)
#1 - Single user mode
#2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#3 - Full multiuser mode
#4 - unused
#5 - X11
#6 - reboot (Do NOT set initdefault to this)
2:多用户模式,当系统处于运行级别2时,用户不能使用NFS(网络文件系统)。在运行级别2之下系统将会拒绝向网络中的其他计算机提供服务,此模式一般用于维护系统。
3:完全多用户模式:完全多用户模式是Linux系统在命令行模式中正常工作的运行级别,目前许多服务器都使用这一运行级别。
4:未分配使用。此级别主要由开发人员定制其功能,目前主要用于单片机或其他系统(例如手机操作系统)的开发和应用。
5:图形模式。这一运行级别和运行级别3基本相同,不同的是该模式下用户将使用图形界面登录并使用Linux系统。

设置服务权限eboot
root@elf2-buildroot:/etc/init.d# chmod +x /etc/init.d/S99my_script
root@elf2-buildroot:/etc/init.d# reboot
实现开机起动达到预期。