rcs开机启动mysql_MT7688学习笔记(7)——OpenWrt下编译添加自启动程序(创建MySQL为例)...

一、OpenWrt启动流程

大概流程:

1.CFE

2.linux

3./etc/preinit

4./sbin/init

5./etc/inittab

6./etc/init.d/rcS

7./etc/rc.d/S*

OpenWrt的启动脚本放在/etc/init.d目录下,所以应用程序需要在boot时自动运行,则需要在/etc/init.d中增加相应的脚本文件。而系统开机时自动运行/etc/rc.d目录下的脚本。所以在rc.d目录下、有init.d下脚本的链接文件。

二、创建文件

2.1 创建files目录

按OpenWrt的习惯,一般在package下创建一个自己程序的工程目录,里面分为src和files子目录和Makefile。src目录下一般放自己设计的全部源代码文件。Makefile见MT7688学习笔记(3)——定制OpenWrt系统及添加自开发软件。files目录下放安装文件。

2.2 创建init脚本

在files目录下创建自己程序的init脚本,如(cpp.init)。

三、编写Makefile脚本

见MT7688学习笔记(3)——定制OpenWrt系统及添加自开发软件

如果用户空间的应用程序在boot时要自动运行,则需要在安装方法说明中增加自动运行的脚本文件安装和配置文件安装方法。

define Package/cpp/install

$(INSTALL_DIR) $(1)/bin

$(INSTALL_BIN) $(PKG_BUILD_DIR)/cpp $(1)/bin/

$(INSTALL_DATA) ./files/cpp.config $(1)/etc/config/cpp

$(INSTALL_DIR) $(1)/etc/init.d

$(INSTALL_BIN) ./files/cpp.init $(1)/etc/init.d/cpp

endef

INSTALL_DIR: =install -d -m0755 意思是创建所属用户可读写和执行,其他用户可读可执行的目录。

INSTALL_BIN: =install -m0755 意思编译好的文件存放到镜像文件目录。

$(1)表示嵌入式系统的镜像目录。

四、编写init脚本

#!/bin/sh /etc/rc.common

# Copyright (C) 2010-2011 OpenWrt.org

START=99

STOP=10

第一行称为shebang line,它使用/etc/rc.common脚本作为包装器。

脚本文件需要START参数,说明在boot时的优先级,如果在boot过程启动后再关闭,则需要进一步设置STOP参数。如果STOP参数存在,其值必须大于START。

由/etc/rc.d/S10boot知道,装载内核驱动模块的优先级为10,需要使用自己设计的内核驱动模块的程序其START的值必须大于10。同样由/etc/rc.d/S40network知道,使用网络通信的程序其START的值必须大于40。

start() {

echo 'JWR1 start.' >/tmp/cpp.log

if [ -b /dev/mmcblk0p1 ];then

if mountpoint -q /mnt

then

echo 'mount is mount' >>/tmp/cpp.log

sd_state=1;

else

echo 'mount /dev/mmcblk0p1 /mnt/' >>/tmp/cpp.log

mount /dev/mmcblk0p1 /mnt/ #......SD...

if [ $? -eq 0 ];then

echo 'mount /dev/mmcblk0p1 /mnt/ ok' >>/tmp/cpp.log

sd_state=1;

else

echo 'mount /dev/mmcblk0p1 /mnt/ fail' >>/tmp/cpp.log

sd_s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值