最小Linux系统中如何实现开机自动运行程序(进程)

Linux开机启动过程(个人理解) Linux开机启动过程(个人理解) 简述Linux启动过程 1)BIOS开机自检 2)MBR引导 3)启动引导程序菜单(GRUB) 4)加载内核 5)加载虚拟文件系统加载函数模块 6)启动系统进程 /sbin/init --->/etc/init/rcs.conf--->/etc/rc.d/rc.sysinit--->系统初始化 ... 阅读详情

一、目标

将交叉编译生成的可执行文件,放到最小Linux系统中,然后实现板子开机后,最小Linux系统运行起来后,自动执行可执行文件,并将可执行文件进程挂到后台运行。

 

二、实现

1、生成目标可执行文件

例:

在Ubuntu系统中,创建文件“autorunning.c”,输入以下代码,保持退出。

使用命令编译:arm-none-linux-gnueabi-gcc -o autorunning autorunning.c -static

交叉编译器编译后生成可执行文件:autorunning

例:

 

2、目标可执行文件拷贝到最小Linux系统中

比如我将“autorunning”拷贝到板子Linux系统中的“/home/usr”目录。

(将文件从Ubuntu虚拟机拷贝到板子上有多种方式:TFTP下载、NFS挂载、U盘等)

例:

3、修改rcS脚步

修改"/etc/init.d/"目录下的启动脚本rcS文件。

在rcS文件最后添加脚本“/home/usr/autorunning &”,保持退出rcS文件,(“/home/usr/autorunning &”即目标可执行文件的存放路径,其中“&”表示将该进程挂到后台运行。)

例:

 

4、测试验证

重启板子。

最小Linux系统跑起来后,可以看“autorunning”可执行文件的打印,即实现了开机自动运行目标程序。

例:

查看后台进程情况,可以看到“autorunning”进程挂载到后台运行了。

例:

 

三、说明

1、rcS文件

“/etc/init.d/rcS ”脚本,linux系统中以最高优先级第一个被执行的启动脚本。通过rcS脚本可以控制Linux系统中启动的服务,从而可以实现对Linux服务进行裁剪,控制启动流程。例如,本文中,我们通过在rcS中增加启动目标服务的脚本,从而实现开机后自动运行程序功能。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

头歌 DNS协议分析第3关----DNS 报文分析 DNS 报文分析 阅读详情

相关推荐

保姆级教程:用NVIDIA Jetson AGX Xavier和GMSL2相机搭建8路车载视觉原型系统

本文提供了一份详细的教程,指导如何使用NVIDIA Jetson AGX Xavier开发板和GMSL2相机搭建8路车载视觉原型系统。内容涵盖硬件选型、系统架构设计、软件环境配置、多路视频采集实现以及性能优化与问题排查,帮助开发者快速掌握GMSL2技术在车载视觉系统中的应用。

weixin_42525005的博客 294

详解Linuxrc、rcS、rc.local、Profile

详解Linuxrc、rcS、rc.local、Profile /Linuxrc 执行init 进程初始化文件。主要工作是把已安装根文件系统中的/etc 安装为ramfs, 并拷贝/mnt/etc/目录下所有文件到/etc,这里存放系统启动后的许多特殊文件;接着Linu xrc 重新构建文件分配表inittab;之后执行系统初始化进程/sbin/init。 /mnt/etc/init.d/r

u012627927的专栏 816

RapidScada在windows下的安装(详细)

1.下载地址:RapidScada官网 2.版本说明 有Linux版本和Windows版本,看自己的需求下载,推荐下载最新稳定版本。 3.系统要求 4.安装前的准备(windows10) 首先打开Windows功能: 先关闭 Microsoft .NET Framework3.5的 Windows Communication Foundation 子组件。如下图: Microsoft .NET Framework配置按下图勾选: iis安装的功能: 5.安装 解压..

m0_51275803的博客 4262

linux 启动脚本rcs解析

在inittab文件中定义系统初始化脚本: ::sysinit:/etc/init.d/rcs sysinit:告诉init程序运行/etc/rc.d/rcs脚本文件来初始化系统,执行/etc/rc.d/rc3.d/目录下的所有的rc启动脚本。/etc/rc.d/rc3.d/目录中的这些启动脚本实际上都是一些链接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下。而这些rc启动脚本有着类似的用法,它们一般能接受start、stop、restart、st.

the_wan的博客 3248

树莓派5安装ROS1避坑指南:从系统配置到cmake报错全解决

本文详细介绍了在树莓派5上安装ROS1的完整流程,包括系统配置、环境变量设置、cmake报错解决等关键步骤。针对树莓派5的ARM架构特性,提供了从基础安装到高级调试的系统级解决方案,帮助开发者高效部署ROS1并避免常见编译陷阱。特别针对cmake报错问题,给出了深度解析和实用修复方法。

spark7igniter的博客 233

基于CNN-LSTM融合模型的环卫车动态称重算法研究:从频率感知到精准质量估计

摘要: 针对环卫车辆动态称重需求,本研究提出一种基于CNN-LSTM融合网络的频率分析方法。通过在实验室构建振动频率采集系统,获取不同载重下的结构响应数据,经MATLAB进行信号处理和特征提取后,建立频率-质量的非线性映射模型。实验表明,该算法在静态和模拟动态场景下平均绝对误差小于1.5%,显著优于传统方法,为环卫车智能化管理提供了高精度实时称重方案。 关键词: 动态称重;深度学习;频率分析;CNN-LSTM;MATLAB。

AI的内部世界的博客 374

linux开机自动执行脚本、运行程序

linux开机自动执行脚本、运行程序、/etc/rc.d/init.d、/etc/init.d、shell、环境变量

小白 1万+

国科大学习资料--机器人智能控制_袁如意老师PPT后习题答案(学长精心整理)

人工神经元激活函数的作用是什么? 答:激活函数是用来加入非线性因素的,提高神经网络对模型的表达能力,解决线性模型所不能解决的问题。 人工神经网络的学习规则有哪些?各有何特征? 答:大类可以分为无监督学习算法、有监督学习算法和强化学习。其中无监督学习算法指只有输入信息,没有期望的输出信息,如Hebb学习规则,神经元连接强度的变化与两个相互连接的神经元的激活水平成正比。竞争学习法则:网络各输出单元相互竞争,最后达到只有一个最强者激活。有监督学习算法指同时提供输入信息和对应的期望输出信息,如误差学习(Delta学

无名何许人的博客 1486

Linux笔记:开机自动运行程序

文章目录目的rc.localinitSystemd总结 目的 rc.local init sysvinit Systemd 总结

Naisu的各种笔记 1万+

基于Vivado MIG IP核的DDR3读写实验(top_rom_ddr/ddr_top)

一、前言 关于Vivado MIG IP核详细配置可以参考我之前的文章:基于Vivado MIG IP核的DDR3控制器(DDR3_CONTROL) 关于MIG IP核的用户端的接口时序可以参考这篇文章:XILINX 的 MIG IP(非AXI4)接口时序以及控制 二、实验内容 本次实验的内容主要是通过MIG IP核向DDR3读写数据,DDR3的接口时序由ddr_top模块提供: ddr_top模块的数据来源是wr_fifo,wr_fifo的数据实际来自top_sd_photo模块(本实验仿真

耐心的小黑的博客 3027

【YOLOv11改进- 主干网络】YOLOv11+RepViT: 从ViT的角度重新审视Mobile的CNN助力YOLOv11有效涨点;

本文给大家带来的改进内容是在YOLOv11中更换主干网络为RepViT,助力YOLOv11有效涨点,论文通过集成轻量级 ViT 的高效架构设计,逐步增强了标准轻量级 CNN(即 MobileNetV3)的移动友好性。这最终产生了一个新的纯轻量级 CNN 系列的主干网络。

qq_41304809的博客 784

Linux 系统如何设置开机程序自启动

这是一个最简单的方法, 编辑 “/etc/rc.local”, 把启动程序的 shell 命令输入进去即可(要输入命令的全路径), 类似于 Windows 下的"启动"。下面, 那就可以在 “/etc/rc.local” 中加一行 “/opt/./haha.sh”, 或者两行 “cd /opt” 和 “./haha.sh”。操作系统自带的服务, 如 ssh, ftp 等等, 开机都是自动启动的, 我们也可以通过这种方式让自己开发的程序提高"身价"。因为是简单介绍, 所以具体细节不是很详细, 可以通过。

云满笔记 4353

视觉Transformer实战 | Data-efficient image Transformer(DeiT)详解与实现

在计算机视觉领域,Vision Transformer (ViT) 已经证明了纯 Transformer 架构在图像分类任务上的强大能力。然而,ViT 通常需要在大规模数据集上预训练才能达到最佳性能,DeiT (Data-efficient image Transformer) 通过引入一系列训练策略和优化,使得 Transformer 模型能够在相对较小的数据集上取得优异表现。本节将详细介绍 DeiT 的技术原理,并使用 PyTorch 从零开始实现 DeiT 模型。

盼小辉丶的博客 1339

Linux下添加开机启动,Linux设置程序开机自启动

Linux设置程序开机自启动大致有三种方法。一、通过rc.local设置自启动通过在/etc/rc.local的文件夹下添加shell指令即可在开机时自动启动指令。其内容的格式举例如下:#!/bin/shsudo mkdir /test该例子便是在开机时在根目录下创建新文件夹/test,同理也可以运行其他程序,会编写sh的可以把所用的指令写进sh文件后在rc.local启用sh文件即可。这种方法比...

weixin_39945871的博客 5541

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

再也不用手动启动!自动化脚本开机即运行

本文介绍了基于星图GPU平台如何自动化部署“测试开机启动脚本”镜像,实现系统重启后脚本自动运行。该配置广泛应用于AI模型微调前的环境初始化场景,可自动加载依赖服务与监控程序,显著提升边缘计算节点的运维效率和任务稳定性。

weixin_31315007的博客 286

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

手把手教你设置Linux开机自动运行Python脚本

本文介绍了如何在星图GPU平台上自动化部署‘测试开机启动脚本’镜像,实现Linux系统开机自动运行Python监控或数据采集脚本。该镜像适用于边缘设备值守、AI服务后台常驻等典型场景,显著提升运维效率与服务可靠性。

weixin_42514540的博客 322

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【亲测有效】CentOS7 安装supervisor守护进程管理器 自动开机运行

【亲测有效】CentOS7 安装supervisor守护进程管理器 自动开机运行

1887

最小linux操作系统,做一个自己的最小Linux系统

一、前言Linux操作系统至1991.10.5号诞生以来,就源其开源性和自由性得到了很多技术大牛的青睐,每个Linux爱好者都为其贡献了自己的一份力,不管是在Linux内核还是开源软件等方面,都为我们后来人提供了一个良好的学习和研究环境。做为一个Linuxer,感谢各位前辈们为我们提供一个自由的空间,让我们也能够在学习的同时去研究Linux。本文主要通过裁剪现有Linux系统,打造一个属于自己的L...

weixin_42401281的博客 2299

systemd系列——开机自启动篇

autostart,systemd,开机自启动的方式

qq_43287763的博客 6902

Linux开机启动流程

1.开机启动流程的意义 1.掌握让某个软件开机自动运行 2.开机不能正常启动,是什么原因,或者哪个环节出现了问题 3.防止黑客植入木马,去查询黑客会把木马放到哪些地方 2.开机启动流程 1.开机自检POST:上电自检(Power On Self Test) | 指计算机系统,接通电源,(BIOS程序)的行为,包括对CPU、系统主板、基本内存、扩展内存、系统ROM、BIOS等器件的测试。如发现错误,给操作者提示或警告。简化或加快该过程,可使系统能够快速启动。 电脑硬件 | 主机(motherboard)、c

yahaha_link的博客 380

Linux 开机过程

Linux 开机过程的演变,init 进程的启动

ZefinNg的博客 1075

PhpWebStudy项目实现FlyEnv应用开机自启与服务自动运行方案

在开发环境管理工具中,自动化启动能力直接影响用户体验。PhpWebStudy项目中的FlyEnv组件作为核心服务管理器,原先需要用户每次开机后手动启动应用及服务,这不符合现代开发工具"开箱即用"的体验标准。经过社区反馈,项目团队在最新版本中实现了系统启动时的全自动管理方案。 ## 技术实现要点 1. **系统级集成** - Windows平台通过注册表项实现开机自启 - macOS利用Laun

gitblog_07005的博客 568

自动化第一步:实现Linux系统开机自动干活

本文介绍了如何在星图GPU平台上自动化部署'测试开机启动脚本'镜像,实现Linux系统开机自动执行任务。该镜像支持一键配置开机自启功能,典型应用于服务自动拉起、数据采集脚本定时运行及本地Web服务启动等运维自动化场景,显著提升开发与部署效率。

weixin_32661831的博客 114

LINUX基础培训一之开机启动过程

LINUX启动过程的5个内容介绍,看完你会不会记住几个呢?

有莘不破的博客 1087

开机自动执行build和sim命令,开发效率翻倍

本文介绍了如何在星图GPU平台上自动化部署'测试开机启动脚本'镜像,实现嵌入式仿真环境的开机自启功能。该镜像可自动执行build编译与sim仿真命令,典型应用于嵌入式开发、硬件在环(HIL)测试及持续集成场景,显著提升研发效率与环境一致性。

weixin_30661119的博客 910

Linux中的 进程 服务 服务单元

进程:程序运行的实例,是系统资源分配的最小单位。服务:后台长期运行的功能程序,由进程实现,需被管理。服务单元:systemd 管理服务的配置文件,定义服务的启动规则和进程控制策略。三者协同工作:通过服务单元配置服务,服务通过进程提供功能,进程的生命周期由服务单元和服务管理逻辑共同控制,最终实现系统的稳定运行。

2302_80661243的博客 877
上一篇: wpa_cli中切换到热点net_work id后网络ping不通
下一篇: wpa_supplicant、wpa_cli的使用
bulebin
博客等级 码龄10年 152粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值