网上找了好多文章都是针对以前老版本的Raspbian系统设置的,终于找到最新的buster
版本系统中适用的方法:
https://shop.sb-components.co.uk/blogs/posts/customising-splash-screen-on-your-raspberry-pi
设备信息
设备: 树莓派3B
系统: Raspberry Pi OS (buster)
$ sudo vim /boot/config.txt
在config.txt
文件顶部添加一行配置内容:
disable_splash=1
$ sudo vim /boot/cmdline.txt
需要注意的是cmdline.txt
文件里面只有一行内容,需要在行尾追加下面内容:
logo.nologo consoleblank=0 loglevel=1 quiet
这里需要用到第三方的一个工具fbi
,查了下文档,这货全称是Linux framebuffer imageviewer
,用来在控制台输出显示图片的
先用apt安装一下
$ sudo apt install -y fbi
手工写个服务:
$ sudo vim /etc/systemd/system/splashscreen.service
内容如下:
[Unit]
Description=Splash Screen
DefaultDependencies=no
After=local-fs.target
[Service]
ExecStart=/usr/bin/fbi -d /dev/fb0 --noverbose -a /home/pi/splash.png
StandardInput=tty
StandardOutput=tty
[Install]
WantedBy=sysinit.target
参数说明
-d /dev/fb0
告诉fbi命令输出的设备,/dev/fb0
是系统中framebuffer
设备
--noverbose
禁用fbi命令默认会在屏幕底部显示的状态条
-a
自动缩放图像适应显示设备
要显示的图片指向/home/pi/splash.png
设置服务开机启动并重启看效果
$ sudo systemctl enable splashscreen
$ sudo reboot
这种使用fbi
命令做成服务的方式可以实现开机显示图像了,不过还是有点不完美,在显示图像之前还是会有一部分的启动信息先显示出来,后面再研究一下更好的方案吧
这个fbi
命令好神奇,还是头一次用,居然可以直接在命令行模式(没有安装任何桌面环境)下加载图片显示,试了下直接用下面的命令:
$ fbi -a splash.png