openwrt 应用程序 开机自启动

2023-11-17

这几介绍一下openwrt 应用程序包开机自启动的两种方法 使用的平台是MTK7688开发板

首先写一个以及可以跑起来的工程,这里对工程就不做展开,以helloworld工程为例:

helloworld工程写在:openwrt/package/helloworld 下

自启动脚本文件都是要的 文件为helloworld

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

START=48
STOP=10

start()
{
	service_start  /bin/helloworld &
}

stop()
{
	service_stop  /bin/helloworld
}

restart() 
{
    stop
    start
}

第一种方法:
可以参考如下方法:我是参考这个的过程实现的,但是有点出入
https://blog.csdn.net/sessos/article/details/78451007
https://blog.csdn.net/qq_15391889/article/details/97799474

概括的步骤就是:
1.1、在 openwrt/package/base-files/files/etc/init.d/下添加自启动脚本,就是上面那个文件
1.2、该目录下给脚本赋予可执行权限,运行命令 chmod +x helloworld
1.3、编译 make V=99
1.4、查看openwrt/build_dir/target-mipsel_24kc_musl/root-ramips/etc/init.d目录下是否生成helloworld文件
1.5、查看openwrt/build_dir/target-mipsel_24kc_musl/root-ramips/etc/rc.d目录下是否生成S48helloworld文件
S48就是脚本文件的 START=48 的这个值。

有这两个文件的生成,基本上编译后下载,运用之后,输入ps命令,就可以看到helloworld的是运行的了。

亲测可行。

第二种方法:

2.1、在openwrt/package/helloworld/ 下建立新文件夹files
2.2、在openwrt/package/helloworld/files添加自启动脚本
2.3、修改openwrt/package/helloworld/下的Makefile

include $(TOPDIR)/rules.mk

PKG_NAME:=helloworld
PKG_RELEASE:=1

PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk

define Package/helloworld
	SECTION:=utils
	CATEGORY:=Utilities
	TITLE:=ROCO---Helloworld -- prints a snarky message
endef

define Package/helloworld/description
	If you can't figure out what this program does, you're probably
	brain-dead and need immediate medical attention.
endef

define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
	$(CP) ./src/* $(PKG_BUILD_DIR)/
endef

define Package/helloworld/install
	$(INSTALL_DIR) $(1)/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/bin/

	$(INSTALL_DIR) $(1)/etc/init.d  
	$(INSTALL_BIN) ./files/helloworld $(1)/etc/init.d/helloworld
endef

$(eval $(call BuildPackage,helloworld))

这个Makefile很多地方都能一样
主要就是

define Package/helloworld/install
	$(INSTALL_DIR) $(1)/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/bin/

	# 这里不一样,增加这个
	$(INSTALL_DIR) $(1)/etc/init.d  
	$(INSTALL_BIN) ./files/helloworld $(1)/etc/init.d/helloworld
endef

这个链接里面有Makefile的与非说明,想知道的更清楚的可以点开看一下:
https://oldwiki.archive.openwrt.org/zh-cn/doc/devel/packages

2.3、编译 make V=99
2.4、查看openwrt/build_dir/target-mipsel_24kc_musl/root-ramips/etc/init.d目录下是否生成helloworld文件
2.5、查看openwrt/build_dir/target-mipsel_24kc_musl/root-ramips/etc/rc.d目录下是否生成S48helloworld文件
S48就是脚本文件的 START=48 的这个值。

同样 亲测可行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openwrt 应用程序 开机自启动 的相关文章

  • 数学建模笔记(八):微分方程的应用(偏微分方程)

    文章目录 一 微分方程概述 1 什么是微分方程 2 求解方法 一 求精确解 二 求数值解 近似解 三 定性理论方法 3 建立微分模型的方法 一 根据定理规律列方程 二 微元分析法 三 模拟近似法 4 适用问题 5 常见动态模型 二 观众厅地
  • python3.7 连接sql server出现pymssql.OperationalError: (20009, b'DB-Lib error message 20009, severity 9:\...

    今天在使用python3 7中的pymssql 连接sqlserver的时候遇到的问题 pymssql OperationalError 20009 b DB Lib error message 20009 severity 9 nUnab
  • 区块链-公钥生成地址

    目录 https blog csdn net qq 40452317 article details 89646633 比特币 区块链 地址是一个由数字和字母组成的字符串 由公钥 一个同样由数字和字母组成的字符串 生成的比特币地址以数字 1
  • UE4/UE5 动画控制

    工程下载 https mbd pub o bread ZJ2cm5pu 蓝图控制sequence播放 倒播动画 设置开启鼠标指针 开启鼠标事件 在场景中进行过场动画制作 设置控制事件
  • 滚动页面触发相应位置动画 ---react

    需要实现的效果 滚动到内容区域触发 第一段内容移动效果 第二段内容淡入 第三段内容缩放 实现思路 滚动过的距离 当前窗口的高度 gt 元素到顶部窗口的距离 gt 则触发动画 整体代码 import React useRef useEffec
  • Rust 取代 C++ ?

    https www zhihu com question 27608498 作者 天象 链接 https www zhihu com question 27608498 answer 50130876 来源 知乎 著作权归作者所有 商业转载
  • CSS 文字特效运用目录

    主要是记录文字相关的特效实践案例和实现思路 章节名称 完成度 难度 文章地址 完整代码下载地址 创意填充文本悬停效果 完成 一般 文章链接 代码下载 发光文字跟随鼠标 完成 一般 文章链接 代码下载 酷炫的文字悬停效果 完成 一般 文章链接
  • checkbox中checked属性总结

    一 checked属性定义和用法 1 checked属性是一个布尔属性 2 checked属性规定在页面加载时应该被预先选定的
  • 数据库连接的5种方式

    数据库连接的5种方式 String url jdbc mysql localhost 3306 njustzjc1 Properties properties new Properties properties setProperty us
  • 基础理解之SESSION

    SESSION是服务器端的一种会话机制 当客户端的请求服务器创建一个SESSION时 服务器会先检测该请求里面是否包含一个惟一的sesionid 如果是 说明服务器已经为该用户创建过SESSION 只要按照该sesionid检索出该用户的s
  • 在钉钉上怎么手写_大庆市第十中学

    有关直播的那些事儿 2020 停课不停学 十中在行动 根据大庆市教育局关于网络教学工作的要求和指导意见 我校将于3月2日全面开展网络教学工作 虽然网络直播教学与线下日常教学主旨都是一样的 但由于形式的差异 对于很少体验过网络直播教学的老师来
  • 红米ac2100 刷openwrt以及刷回记录

    redmiac2100 刷机 参考 手动升级漏洞固件 https wwx lanzoux com i6iqxhqp98f 或者百度网盘链接 https pan baidu com s 1H355Ym9p TLrVOux2w2b7Q 提取码
  • Flutter开发之——Icon图标

    一 概述 Icon是支持material design的一系列图标 Icon类似于iconfont即字体图标 它是将图标做成字体文件 然后通过指定不同的字符显示不同图片 二 Icon说明 2 1 说明 在字体文件中 每一个字符都对应一个位码
  • Android内存管理

    Android内存泄露 全解析和处理办法 http www jianshu com p bf159a9c391a
  • 产品运行所需的信息检索失败。请重新安装xshell

    产品运行所需的信息检索失败 请重新安装xshell 很久没有应用Xshell进行远程服务器连接了 由于需要应用远程云计算资源 因此有需要使用这个软件 但是在今天的使用过程中出现了 问题 打开Xshell之后 找到可执行文件之后 点击运行 管
  • 【CQOI 2015】任务查询系统

    题目 传送门 题目描述 最近实验室正在为其管理的超级计算机编制一套任务管理系统 而你被安排完成其中的查询部分 超级计算机中的任务用三元组 Si Ei Pi 描述 Si Ei Pi 表示任务从第 Si 秒开始 在第 Ei 秒后结束 第 Si

随机推荐

  • 电脑开不了机启动不了

    故障现象 解决办法 1 先不要操作别的 首先想想开机之前做过什么操作 更新过什么 补丁 漏洞 软件 还是别的等等 2 重启操作系统 在开机的时候不停地按F8键 如果不停地按之后出现了一个黑底白字的菜单 可以最后一次配置试试 不行可以进入系统
  • 服务器CPU经常跑高是什么原因

    服务器在使用过程中 经常会遇见这样的情况 在长时间使用之后 系统运行会越来越慢 卡的情况 查询后台进程 CPU占用以超过90 那么高的CPU使用率 都是会由哪些因素导致的呢 1 散热故障 如机房散热不足 温度过热或者驱动故障 导致温度太高
  • html新闻滚动效果,js实现滚动新闻效果

    code js cn a display block font size 15px line height 18px text decoration none color 333 font family Arial font size 12
  • 机器学习-泛化能力笔记

    1 什么是泛化能力 在机器学习方法中 泛化能力通俗来讲就是指学习到的模型对未知数据的预测能力 在实际情况中 我们通常通过测试误差来评价学习方法的泛化能力 2 泛化误差的定义 大家马上应该发现 这个不是损失函数的期望吗 没错 泛化误差就是所学
  • C++多线程(七):unique_lock详解

    目录 unique lock取代lock guard unique lock的第二个参数 std adopt lock std try to lock std defer lock unique lock的成员函数 成员函数lock 成员函
  • 多线程(十):总结

    本章用来处理一下之前遗漏的很多问题 在多线程那一章 很多常见面试题都没有讲 这里再来补充一下 HashTable HashMap ConcurrentHashMap 之间的区别 HashTable HashMap ConcurrentHas
  • BurpSuite武器库打造之环境搭建和API介绍(上)

    0x00前言 在使用Burp Suite 以下简称Burp 来开展渗透工作的途中可能需要验证一些脑洞大开的想法 但Burp自带的功能可能无法满足你的需求 于是你迫切需要一个高度定制化的插件来实现这个功能 经查阅你得知除了Java还可以通过配
  • 无法清空剪切板,另一程序正在使用剪切板,无法复制东西了

    这种情况一般都是因为 有道或者其他翻译软件在你复制过程中不断把东西添加到剪切板中导致你无法继续添加新的东西到剪切板中 策略 关闭有道词典 在设置中将复制查词 取消即可
  • DBeaver连接MySQL提示“Public Key Retrieval is not allowed”的解决办法

    一 问题描述 一段时间没使用DBeaver 再次打开DBeaver连接MySQL提示 Public Key Retrieval is not allowed Public Key Retrieval is not allowed 不允许进行
  • HIVE简单介绍和了解

    用于解决海量日志数据的分析 hive是基于Hadoop的一个数据仓库工具 可以将结构化的数据文件映射为一张数据库表 并提供完整的sql查询功能 可以将sql语句转换为MapReduce任务进行运行 其优点是学习成本低 可以通过类SQL语句快
  • Linux开发工程师是吃青春饭的吗?

    Linux开发工程师怎么样 都说程序员是吃青春饭 Linux开发工作35岁之后还能做吗 坦白说 如果程序员在35岁的时候 工作经验 与刚毕业的时候差别不大 则其不可替代性就不高 很难在大龄时具备足够竞争力 大龄程序员 跟应该以专业洞识 理解
  • InterBase 6.5的新特性 (转)

    InterBase 6 5的新特性 转 more InterBase 6 5的新特性XML namespace prefix o ns urn schemas microsoft com Office office gt 作者 Bill T
  • Luat 功能开发教程(十四) 延时和定时器

    目录 延时和定时器 简介 API说明 实现流程 创建 消亡 自动消亡 手动消亡 判断定时器状态 知识拓展 示例 常见问题 相关资料以及购买链接 延时和定时器 简介 在luat脚本程序中 往往需要用到延时和等待等逻辑功能 例如 你想得到每隔3
  • 【el-time-picker设置默认值】Cannot read properties of undefined (reading ‘hour‘)

    需求 设置默认时间为2 0 0的时间选择器 产生报错的写法
  • 必填校验设置‘change‘, ‘blur‘同时起作用

    必填校验设置 change blur 同时起作用 rules seaAreaName required true message 请输入海区 trigger change blur
  • 华为机试-第二题

    查找知识图谱中的实例知识 知识图谱是一种结构化的语义网络 用于描述物理世界中的概念及其实例的相关关系 可以把知识图谱看成是一种有向图 图中的点是概念或实例 图中的边是概念及其实例的相关关系 现定义一种简单的知识图谱 概念 包括父概念及其子概
  • bootstrap jquery dataTable 异步ajax刷新表格数据

    异步请求 var postData env name new env name env url new env url env desc new env desc ajax type POST url test env add data p
  • Interactive Natural Language Processing

    本文是对 Interactive Natural Language Processing 的翻译 交互式自然语言处理 摘要 1 引言 2 交互式对象 2 1 人在环 2 2 KB在环 2 3 模型或工具在环 2 4 环境在环 3 交互界面
  • Oracle数据块概念及与行之间的关系测试

    数据块 Oracle Data Blocks 是Oracle最小的存储单位 Oracle数据存放在 块 中 一个块占用一定的磁盘空间 这里的 块 是Oracle的 数据块 不是操作系统的 块 操作系统的块通常为512k Oracle每次请求
  • openwrt 应用程序 开机自启动

    这几介绍一下openwrt 应用程序包开机自启动的两种方法 使用的平台是MTK7688开发板 首先写一个以及可以跑起来的工程 这里对工程就不做展开 以helloworld工程为例 helloworld工程写在 openwrt package