注:详细介绍见文末原文。

开机串口控制台自动登录:

1.一般来说,关于系统启动的相关服务会放在/etc/systemd/system/下面,进入其中搜索关于getty自动登录程序

find -iname "*getty*"

./getty.target.wants

./getty.target.wants/serial-getty@ttymxc0.service

2.结果搜索到相关服务目录,进入目录查看: ls -l

总用量 0

lrwxrwxrwx 1 lsy lsy 41  1月 22 10:52 serial-getty@ttymxc0.service -> /lib/systemd/system/serial-getty@.service

可以看的这个服务链接到/lib/systemd/system/serial-getty@.service,

3.打开/lib/systemd/system/serial-getty@.service,在[Service]项的ExecStart=,添加"-a root"

[Service]

Environment="TERM=xterm"

ExecStart=-/sbin/agetty -a root -8 -L %I 115200 $TERM

Type=idle

Restart=always

RestartSec=0

UtmpIdentifier=%I

TTYPath=/dev/%I

TTYReset=yes

TTYVHangup=yes

KillMode=process

IgnoreSIGPIPE=no

SendSIGHUP=yes

开机自动运行程序:

sysinit.target服务会进行系统挂载,内存空间分配等,

我们可以在此后面插入一个属于自己的服务,即在local-fs.target.wants中插入:

(1)创建自己的服务vi /lib/systemd/system/embedsky.service:

#  This file is part of systemd.

#

#  systemd is free software; you can redistribute it and/or modify it

#  under the terms of the GNU Lesser General Public License as published by

#  the Free Software Foundation; either version 2.1 of the License, or

#  (at your option) any later version.

[Unit]

Description=Remount Root and Kernel File Systems

Documentation=man:systemd-remount-fs.service(8)

Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems

DefaultDependencies=no

Conflicts=shutdown.target

After=systemd-fsck-root.service                    //在什么服务以后

Before=local-fs-pre.target local-fs.target shutdown.target     //在什么服务以前

Wants=local-fs-pre.target

[Service]

Type=oneshot

RemainAfterExit=yes

ExecStart=/etc/embedsky_conf        //执行的程序或者脚本

(2)链接服务:

cd /lib/systemd/system/local-fs.target.wants/

ln -s ../embedsky.service embedsky.service

完成

---------------------

作者:世黎

来源:CSDN

原文:https://blog.csdn.net/a617996505/article/details/88423794

版权声明:本文为博主原创文章,转载请附上博文链接!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐