ARM学习之实现开机自动登录以及修改开机启动项

2023-05-16

由于寒假要留校做大创项目,用到的开发板是ZLG的imx280a,开始学习ARM,做个记录方便查看。今天做的是实现开机自动登录以及修改开机启动项。

一,开机自动登录。

1.首先我们在/bin目录下创建一个名为autologin的可执行文件(注意这里的/bin目录和autologin都是根据个人设定的,只要你能记住路径和文件名称即可。可执行文件没有后缀名,如果文件里边的内容是用C语言编写的,要根据自己的系统的交叉编译链生成可执行的二进制文件,例如arm-linux-gcc autologin.c -o autologin(跟开发板的交叉编译工具链同步),如果只是shell语句,直接在vi编辑器中编辑即可)。用vi autologin创建文件,并给文件添加可执行权限chmod +x /bin/autologin。autologin里的内容如下:

#!/bin/sh
 
/bin/login -f root

2.然后,我们要找到开发板文件系统关于登录那部分的文件。我们要修改/etc/inittab里的内容。修改前的内容如下:

root@EasyARM-iMX28x /etc# cat inittab
# see busybox-1.00rc2/examples/inittab for more examples
::sysinit:/etc/rc.d/rcS
::respawn:/sbin/getty -L ttyAM0  115200 vt100
::sysinit:/etc/rc.d/rc_gpu.S
::ctrlaltdel:/sbin/reboot
::shutdown:/etc/rc.d/rcS stop
::restart:/sbin/init

这里我们要把第四行修改成我们需要的:

root@EasyARM-iMX28x /etc# cat inittab
# see busybox-1.00rc2/examples/inittab for more examples
::sysinit:/etc/rc.d/rcS
::respawn:/sbin/getty -n -l /bin/autologin 115200 ttyAM0 vt100
::sysinit:/etc/rc.d/rc_gpu.S
::ctrlaltdel:/sbin/reboot
::shutdown:/etc/rc.d/rcS stop
::restart:/sbin/init

3.修改完成后,“:wq”保存,然后同步文件后(sync)重启即可。

root@EasyARM-iMX28x ~# sync
二、去掉开机登录密码。

要把/etc/passwd中的root:x:0:0:root:/root:/bin/sh,改为root::0:0:root:/root:/bin/sh,就可以了,就是去掉了里面的x,这样root用户就不用密码了。

三、修改开机启动项。

我们需要将要执行的代码放到/etc/profile文件的末尾,这样就可以实现开机启动了。注意这样实现的话一旦发现程序卡死,是可以CTRl+C终止程序的哦。
我这里以打印hello为例说明一下,以下是profile里的内容:

root@EasyARM-iMX28x /etc# cat profile
PATH=/iptables/bin:/iptables/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/lib/bin
test_value=`/bin/cat /sys/devices/platform/zlg-systemType/board_name`
if [ $test_value = "287B" ]
then
        echo "this board is EasyARM-iMX287B"
        export HOSTNAME="EasyARM-iMX287B"
fi
if [ $test_value = "280" ]
then
        echo "this board is EasyARM-iMX280A"
        export HOSTNAME="EasyARM-iMX280"
fi
if [ $test_value = "283" ]
then
        echo "this board is EasyARM-iMX283"
        export HOSTNAME="EasyARM-iMX283"
fi
#PS1='[\u@\h \W]\# '
PS1='[\u@$HOSTNAME \W]\# '
export PATH
alias ll='ls -l'
alias la='ll -a'
export PS1='\u@\h \w# '
export PS2='> '
export PS3='? '
export PS4='[$LINENO]+'
export GST_PLUGIN_PATH=/usr/lib/fsl_mm_linux/lib/gstreamer-0.10
export TSLIB_PLUGINDIR=/usr/lib/ts/
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_TSDEVICE=/dev/input/ts0
export TSLIB_CALIBFILE=/etc/pointercal
export QT_QWS_FONTDIR=/usr/lib/fonts
export QWS_MOUSE_PROTO=Tslib:/dev/input/ts0
echo "hello"
然后执行 sync命令同步文件,重启系统

以下是成功后的现象:

login[1148]: root login on 'ttyAM0'

BusyBox v1.20.2 () built-in shell (ash)
Enter 'help' for a list of built-in commands.

this board is EasyARM-iMX280A
hello
root@EasyARM-iMX28x ~#


最后分享几个感觉参考的感觉有用的博客链接吧

1.http://blog.csdn.net/andylauren/article/details/52006456

2.http://alphamailpost.blog.163.com/blog/static/201118081201252854211596/

3.http://www.360doc.com/content/10/0322/07/496343_19728307.shtml

4.http://blog.csdn.net/u014213012/article/details/72772061

5.http://blog.csdn.net/u013359794/article/details/46895979

上边5个基本和我说的差不多,有些介绍的比我详细一些,下边的2个是关于ARM文件系统启动过程的说明,感觉很有用。

1.http://blog.csdn.net/c19911027/article/details/46467995

2.http://blog.csdn.net/u011150719/article/details/42713747








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

ARM学习之实现开机自动登录以及修改开机启动项 的相关文章

  • 正则表达式(匹配第一个花括号)

    学习正则 xff0c 工作中使用正则让我对 有了新的认知 xff1a 正则中 匹配输入字符串的开始位置 xff0c 除非在 方括号表达式中使用 xff0c 此时表示不接受该字符集合 废话不多说 xff0c 直接看栗子吧 xff0c 如下图所
  • windows驱动注册中断服务程序

    一个驱动程序的标准中断服务例程的必要功能和建立一个ISR的需求 1 1 ISR需求 一个产生中断的物理设备的所有驱动程序必须有一个ISR 中断服务例程由内核定义如下 xff1a span class hljs built in BOOLEA
  • Android Studio 出现“Cannot resolve symbol” 解决办法

    一 Android Studio 无法识别同一个 package 里的其他类 xff0c 将其显示为红色 xff0c 但是 compile 没有问题 鼠标放上去后显示 Cannot resolve symbol XXX xff0c 重启 A
  • input[type=file] 获取上传文件的内容

    上代码 xff1a span class token tag span class token tag span class token punctuation lt span input span span class token att
  • 解决pyinstaller打包后C盘出现 windows/TEMP/_MEI文件夹爆满的问题

    背景 xff1a 一每分钟执行的python脚本 xff0c 打包成exe后 xff0c 在有些机器出现 IME文件过多的问题 解决 xff1a 1 参考 Python转exe方法与 MEI清除方法 Don 39 t expect me t
  • 关于Android studio 升级到4.2文件缺失问题

    一 背景 当我把Android studio 开开心心的更新到4 2版本后 xff0c 结果就爆了一个类文件找不到的异常 xff08 如下图 xff0c 幸好只有一个 关于这个类的缺失是高版本JRE中剔除了这个类 xff0c 那只要把And
  • 求正整数n所有可能的和式的组合

    求正整数n所有可能的和式的组合 xff08 如 xff1b 4 61 1 43 1 43 1 43 1 1 43 1 43 2 1 43 3 2 43 1 43 1 2 43 2 xff09 首先说一下 xff0c 群里面很多人在问这个东东
  • Error:FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:t

    今日份遇到的 bug xff1a Error 注 某些输入文件使用或覆盖了已过时的 API 注 有关详细信息 请使用 Xlint deprecation 重新编译 注 某些输入文件使用了未经检查或不安全的操作 注 有关详细信息 请使用 Xl
  • JVM调优-解决native heap持续增长

    问题的提出 xff0c 分析 xff0c 请参考JNI 小心 xff0c 内存怪兽出没 xff08 简单的说起来 xff0c 就是java进程占用了4G内存 xff0c 但是折腾来折腾去 xff0c 整个JVM的堆才100M上下 xff0c
  • Centos 7 安装openjdk8 /jdk8/jre8 mvn-3.5.2 其他版本雷同

    文章目录 openjdk8jdk8 jre8maven 3 5 2源码下载指导 openjdk8 一 使用yum命令搜索支持jdk版本 yum search java grep jdk 二 使用yum安装jdk8 yum install y
  • 【2023最新版】Hexo+github搭建个人博客并绑定个人域名

    Hexo 43 github搭建个人博客并绑定个人域名 本篇教程完整讲述了如何利用Hexo 43 github搭建个人博客并且绑定自己的域名 xff0c 成为自己的网站 xff01 我的博客网站 xff1a 武师叔 做一个有趣而不甘平庸的人
  • H13-531云计算HCIE V2.0——1~400常错题和知识点总结

    1 100 35 FusionStorage Block无法是被配置RAID的磁盘 一定要将RAID信息删除后 Fusionstrage block才能识别到这些磁盘 错误 61 Ceilometer监控通过在计算节点部署Compute服务
  • 我的2013

    今天是2013年的最后一天 xff0c 天气格外的晴朗 xff0c 站在公司的写字楼上 xff0c 能够看到远处的山水 一直都习惯在一年的最后总结一下 xff0c 总结自己哪些地方在成长 xff0c 哪些地方有收获 xff0c 哪些地方需要
  • 项目管理中的TR点

    TR的意思是技术评审 xff0c 是英语Technical Review的简写 一般项目管理中有以下一些技术评审点需要关注 xff1a TR1 概念阶段技术评审点 xff1a 产品需求和概念技术评审 xff08 业务需求评审 xff09 T
  • linux ln 命令使用参数详解(ln -s 软链接)

    这是linux中一个非常重要命令 xff0c 请大家一定要熟悉 它的功能是为某一个文件在另外一个位置建立一个同不的链接 xff0c 这个命令最常用的参数是 s 具体用法是 xff1a ln s 源文件 目标文件 当 我们需要在不同的目录 x
  • 别再让C++头文件中出现“using namespace xxx;”

    在这里 xff0c 我毫不回避地说了这句话 xff1a 引用 我再也不想在任何头文件中看到 using namespace xxx 了 作为一个开发者 团队领导者 xff0c 我经常会去招聘新的项目成员 xff0c 有时候也帮助其他组的人来
  • Linux 查看监听端口的方法

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • SVN MERGE 和冲突

    摘要 xff1a 最佳做法是避免冲突 冲突时 xff0c 不要把branch merge到trunk 先由最新版本的trunk得到branch 然后再修改文件 xff0c 直接merge过去就行 这样不会有冲突 先用svn merge dr
  • Linux命令之basename使用

    basename 命令 首先使用 help 参数查看一下 basename命令参数很少 xff0c 很容易掌握 basename help 用法示例 xff1a basename usr bin sort 输出 34 sort 34
  • android log详解

    之前两篇文章之后 xff0c 打算再分享一点儿经验 xff1a 之前文章见这里 xff1a 1 xff0c 全看懂了 加两年经验 语音朗读 语音识别 语音控制软件源码 2 xff0c 学生作品 配置NDK集成开发环境全过程第一版 这次打算通

随机推荐

  • 各种编码知识简介

    本文主要介绍我们在日常开发中接触到了latin1 xff0c GBK xff0c GB18030 xff0c UTF 8 编码几种 下面首先来看看这几种编码的的区别 latin1 1 先来看看latin1 参考百度百科 Latin1 是IS
  • Linux 技巧:让进程在后台可靠运行的几种方法

    我们经常会碰到这样的问题 xff0c 用 telnet ssh 登录了远程的 Linux 服务器 xff0c 运行了一些耗时较长的任务 xff0c 结果却由于网络的不稳定导致任务中途失败 如何让命令提交后不受本地关闭终端窗口 网络断开连接的
  • nohup命令浅析

    要将一个命令放到后台执行 xff0c 我们一般使用nohup sh command amp amp 都知道是放到后台执行这个命令 xff0c 那么nohup是做什么的 xff1f 这就要从unix的信号说起 xff0c unix的信号机制可
  • 《曾国藩家书大全集》读书笔记——励志篇

    曾国藩将立志作为人生第一要义 xff0c 只要能立志 xff0c 便人人都可以做圣贤豪杰 人生不但要立志 xff0c 还要持之以恒 xff0c 持之以恒是人生第一美德 xff0c 人而无恒 xff0c 将一事无成 曾国藩很重视逆境对人心志的
  • 书,永远的朋友

    我自己认为我是一个不大喜欢看书的人 xff0c 相对于书 xff0c 我可能跟喜欢看视频和同高手一起讨论交流 但是 xff0c 真正静下心来 xff0c 想着这么多年来 xff0c 对我影响很大的一些书 xff0c 也能想到一些 索性 xf
  • PackageManagerService Android 8.1 源码解读 01

    一 PackageManagerService 是什么 xff1f 答 PackageManagerService xff08 简称 PKMS xff09 xff0c 是 Android 系统中核心服务之一 xff0c 负责应用程序的安装
  • IMU之磁力计校准&地磁场&计算磁航向

    背景知识 xff1a 导航坐标系 xff1a 东 北 天 载体坐标系 xff1a 右 前 上 欧拉角定义 xff1a 3 1 2旋转 xff0c xff08 航向角 俯仰角 滚转角 xff09 xff1b 航向角北偏西为正 xff0c 范围
  • 机器学习库scikit-learn简介(一)

    一 机器学习问题 通常 xff0c 学习问题考虑n个样本数据集 xff0c 然后预测未知数据的属性 若各个样本多于一个 xff0c 例如 xff0c 对于多维的条目 xff08 又称多元数据 xff09 xff0c 即说有多个属性或特性 我
  • 前台解析jwt token 前后端分离 ant design pro

    前言 在如今得环境下 xff0c 越来越多得项目采用微服务 xff0c 前后端分离项目 优点在于同时开发 xff0c 分开部署 缺点在于需要约定的太多 xff0c 导致前后端联调产生分歧 就标题而言 xff0c 解决前端antd 接收后台返
  • win10 双击启动nacos报错 Unable to start web server...... Unable to start embedded Tomcat

    1 遇到的问题 win10双击启动nacos报错 2 分析 从启动cmd开始查看 发现 启动模式为集群模式 定位成功 3 解决 修改startup中启动模式 重新启动 成功
  • 【进程间通信】——认识同步与互斥,了解生产者消费者原理。

    临界资源 在操作系统中 xff0c 进程是占有资源的最小单位 xff08 线程可以访问其所在进程内的所有资源 xff0c 但线程本身并不占有资源或仅仅占有一点必须资源 xff09 但对于某些资源来说 xff0c 其在同一时间只能被一个进程所
  • IDEA 远程debugger SpringBoot项目 超赞!!!

    如题哦 xff0c 项目发布到服务器上后 xff0c 每天被不同的bug所困扰 强大的idea超出你的想象 xff0c 强大到可以远程debugger xff0c 就和在本地一样一样的 进入正题 前提概要 线上即服务器代码必须与本地一致 x
  • git提交时 # Please enter the commit message for your changes. Lines starting # with ‘#‘ will be ignored

    问题 xff1a Please enter the commit message for your changes Lines starting with 39 39 will be ignored and an empty message
  • canal 修改配置信息后监听不到mysql数据并报错can‘t find start position for example

    原由 xff1a 数据库地址变化 canal 需要修改监听 问题 xff1a 修改配置信息后重启canal 但并无监听到数据库信息变化 分析 xff1a canal 与数据库之间断层 xff0c 导致信息传输失败 解决 xff1a xff0
  • win7 配置JDK环境变量

    第一步 xff1a 安装jdk 8u101 windows x64 exe xff0c 路径为默认路径 xff0c 一直下一步直到完成安装 安装最好不要修改安装路径 xff0c 防止自己找不到 第二步 xff1a 设置环境变量 xff1a
  • 完整的搭建内网穿透ngrok详细教程(有图有真相)

    如上 网上找到的都是不稳定的 还不如自己搭建一个 去问度娘了 xff0c 发现了一堆 好吧 xff0c 那就动手开干吧 准备工作 xff08 其实也是硬性条件 xff09 xff1a 1 服务器一台 2 备案域名一个 xff08 好多都说可
  • 入理解 SpringBoot 启动机制(starter 机制)

    深入理解 SpringBoot 启动机制 xff08 starter 机制 xff09 一 前言二 起步依赖三 自动配置 1 基于java代码的bean配置2 自动配置条件依赖3 Bean参数的获取3 Bean的发现4 Bean 加载四 总
  • Win10系统 禁止某个程序\软件联网

    个人比较注重隐私安全 xff0c 有时在电脑上安装某些软件 xff0c 又怕不安全 xff0c 我们可以直接禁止此软件接入互联网 这里我们以微信为例 xff0c 找到微信的启动程序 在桌面选择微信 xff0c 右键 gt 打开文件所在位置
  • fatal error: libnet.h: No such file or directory

    fatal error libnet h No such file or directory Q xff1a 在编译C源码的时候 xff0c 报了这个错误 A xff1a 查看 usr include 中是否有libnet h 头文件 如果
  • ARM学习之实现开机自动登录以及修改开机启动项

    由于寒假要留校做大创项目 xff0c 用到的开发板是ZLG的imx280a xff0c 开始学习ARM xff0c 做个记录方便查看 今天做的是实现开机自动登录以及修改开机启动项 一 xff0c 开机自动登录 1 首先我们在 bin目录下创