学习stm32mp157的过程中,使用的是华清远见的FSMP157,该款产品的主板上有三个用户自定义的电源指示灯,其商家提供的嵌入式Linux系统镜像中应该是自带了将一个电源指示灯作为cpu的指示灯,其一直闪烁代表着cpu的工作状态,虽然这对于生产环境来说能够准确判断机器是否正常运行,但是我们处于学习或者开发环境,需要长时间面对开发板,过于频繁的闪烁导致体验极差,非常的刺眼,所以我设置了一个自动脚本来开机后自动关闭cpu电源指示灯
编辑一个set-led.service服务文件,目的是在系统初始化完成后再执行关闭指示灯电源的操作
vi /etc/systemd/system/set-led.service
文件内容
[Unit]
Description=Set LED brightness
After=multi-user.target # 确保在用户空间初始化后运行
Wants=multi-user.target # 指明该服务需要 multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo 0 > /sys/class/leds/cpu/brightness'
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
重新加载systemd配置
systemctl daemon-reload
启用并启动服务
systemctl enable set-led.service
systemctl start set-led.service
系统会输出代表完成了服务的设置
● set-led.service - Set LED brightness
Loaded: loaded (/etc/systemd/system/set-led.service; enabled; vendor preset
Active: inactive (dead) since Tue 2021-02-02 23:33:17 CST; 43s ago
Main PID: 378 (code=exited, status=0/SUCCESS)
我们重启系统看看服务是否生效
reboot
如下图,我们可以看到系统初始化完后,服务成功的执行了,cpu电源指示灯也成功关闭