大数跨境
0
0

【保姆级教程】树莓派 5 如何自定义开机画面?

【保姆级教程】树莓派 5 如何自定义开机画面? DF创客社区
2025-12-08
2
导读:让树莓派启动的时候变的很酷!
【点击上方「蓝字」关注DF创客社区,一起成为技术颜控】

群里有新人问起一个问题,就是能否配置树莓派开机的时候,不要显示开机的画面,不要打印日志就显示一个定制的画面,让启动的时候,树莓派变的很酷?

群里有大佬说用 fbi,开机显示静态画面的方式进行,我尝试了一下,发现不行,因为开机的的时候服务还没有加载,无法显示在开机初始化的画面上, 需要使用系统自带的 Plymouth 的服务来做。

下面就详细讲解操作步骤。

准备图片

  • 格式: PNG(或者 JPG) , 最大 1920x1080
  • 建议颜色:小于等于 224 色 ,文件越小加载越快。
  • 文件名字起名叫splash.png ,这里以 png 为例

下面是我的图片:

开机登录树莓派

关闭开机的彩虹屏,关闭日志,这样开机画面更干净。

打开一个终端,就是桌面上那个黑色的 terminal

输入:

echo “disable_splash=1” | sudo tee -a /boot/firmware/config.txt  

这个命令是禁用彩虹 GPU 自检。

这里记得检查一下配置文件是否写入了。

出现上面内容就说明 ok 了。

屏幕内核日志

开机的时候,会打印一堆内核日志:

还会显示一个树莓派的 logo 的图片,字符界面的系统就是各种滚动日志,内核加载的过程信息一览无余。

那么要禁用这个滚动日志怎么做?

如果你在学习 linux 的时候学过 sed 编辑器,其实只要一步:

sudo sed -i ‘$s/$/  logo.nologo quiet loglevel=0/’ /boot/firmware/cmdline.txt

这条命令看上去只有一行,其实同时做了好几件“让树莓派开机时不再打印字符”的事。

下面把每个部分拆开讲,并告诉你为什么顺序、位置、格式都不能乱哦。

sudo: 需要 linux 的上帝,就是 root 用户才能操作/boot 目录下面的文件。

sed -i : 就地编辑(inline) 不加-i 只输出不改变文件内容。

$  表示只处理最后一行,因为/boot/firmware/cmdline.txt 只有一行,所以就是处理这一行。s/$ …./  在行尾($)做替换操作,把“行尾” 替换成“行尾+新字符串” , 效果就是追加一堆字符进去。

要追加的内容就是 logo.nologo  quiet loglevel=0 这三个独立参数,前面自带空格。

这里的logo.nologo 是让内核开机加载的时候,不要把那个树莓派的 logo 打印到左上角,如果你用的别的系统可能是小企鹅。

第二个quiet 一看就知道,安静~给我悄悄的,打枪的不要~, 所以它会关闭大部分启动信息(printk 等级应该是大于 内核警告才显示出来,所以可以屏蔽很多信息,再加上一个loglevel=0, 就更好了,因为 level 越低越静默,就是数字越小越“安静“, 0就是只有内核 panic 或者 EMERG 的时候就是系统崩溃了才打印出来一些信息,这一下就把让内核闭嘴了,老老实实后台跑启动进程,不再画面上叽叽歪歪了。

配置改好就类似这样:

做好了就可以重启了,但是你要确保和我输入的一样,不然弄坏了cmdline.txt 启动就启动不起来了,只能拔卡插入电脑再去修改了……

后来发现开机会有个光标在屏幕左上方闪烁,看着很烦,就想着关闭掉,也可以在cmdline.txt 中最后添加一个vt.global_cursor_default=0 , 如图所示:

处理就可以重启了。

重启验证

操作步骤:

1、重启: 终端里面重启最快,直接输入sudo reboot 或者sudo init 6

2、观察显示器上面有没有出现彩虹方块了

  • 彩虹方块没了,说明disable_splash=1生效了
  • 滚动内核日志 如果完全消失了,就 ok。

如果依然有几行固件阶段的字符色块啥的,应该是start.elf打印的内容,内核参数管不到他们。想彻底没字显示得去自定义 boot-logo 文件,那就是另一个故事了,先按下不表。

切记:修改cmdline.txt的时候,一定要保证整行里面没有回车,只有一行,参数之间用空格隔开。

不过我测试的时候使用的树莓派 5, 它的启动流程好像和以前的差异很大,我发现它的固件会先初始化 PCIe、HDMI 等外设,内核是由 systemd-boot 引导的,一般的 framebuffer 设备例如/dev/fb0 会在basic.target之后才会真正点亮,所以我之前尝试用 fbi 做成sysinit.target 服务,再树莓派 5 上根本没有效果,因为服务启动时候 framebuffer 还没上车,

所以 fbi 直接就报错退出了,但是在后台,基本上就是输出错误日志……

好,我们搞明白了问题的核心,就可以开始真正的表演了。

之前让你准备的图片,放到/boot目录中去,名字不要变还是splash.png

/boot/splash.png  放 boot 分区,内核阶段就能读到,加载更快一些。

看看你的/boot/firmware/config.txt 里面的dtparam=vc4-kms-v3d 开着么?就是前面没有注释的#号就行

另外检查一下不要有:hdmi_force_hotplug=1 之类的,会导致重新初始化 HDMI 的。

重启完发现,没有彩虹屏,没有日志捣乱,也没有光标闪烁了。nice~

接下来就要用到 plymouth 显示静态图来搞开机画面了,plymouth 这个服务在树莓派 5 上启动的时间会提前 1-2s,会比 fbi 快~

fbi: 我还没上车~

好了,不扯了,放大招!

终端里执行:

sudo apt update 
sudo apt upgrade -y 
sudo apt -y install plymouth  Plymouth-themes 

安装主题工具后,然后自己做一个极简主题:

sudo mkdir -pv /usr/share/plymouth/themes/silent
sudo vim.tiny  /usr/share/Plymouth/themes/silent/silent.plymouth

写入:

[Plymouth Theme]
Name=silent
Description=Static splash
ModuleName=script

[script]
ImageDir=/usr/share/plymouth/themes/silent
ScriptFile=/usr/share/plymouth/themes/silent/silent.script

保存退出,用 vim 的话,直接点 ESC 按键,然后输入”:x” 就是保存退出。

接着写个脚本,让它只贴图,不画进度条。

sudo vim.tiny /usr/share/Plymouth/themes/silent/silent.script 

内容:

wallpaper_image = Image("splash.png");
screen_width = Window.GetWidth();
screen_height = Window.GetHeight();
wallpaper_sprite = Sprite(wallpaper_image);
wallpaper_sprite.SetPosition(0, 0, -100);

另外,把第一步里面的splash.png  也复制到这个目录中来。

sudo cp /boot/splash.png  /usr/share/Plymouth/themes/silent/

启用主题并更新一下 initramfs

终端执行:

sudo plymouth-set-default-theme -R silent 

这里的-R 会自动做一个update-initramfs -u 的操作,把主题编进启动镜像里面, 接下来就是见证时刻的奇迹~

sudo sync
sudo reboot

重启的时候~

关机也会出现……

这下大家满意了吧~

转载请注明来源信息


硬件军火库

DF硬件军火库

点击了解详情👆


DFRobot官方品牌店 https://dfrobot.taobao.com/

DFRobot官方旗舰店 https://dfrobot.jd.com/


大家有什么想说的,欢迎在下方留言



往期项目回顾



一文读懂全系列树莓派!

学习这20条Linux命令,玩转你的树莓派!

6块屏幕的树莓派Cyberdeck,了解一下!

用树莓派「点亮」圣诞树

树莓派自制云服务器,放进口袋随身携带!

用树莓派制作一个“数码显微镜”

春天来了,你需要一款复古风格的树莓派相机

3D打印的树莓派蜘蛛机器人

用树莓派和ESP32做一台掌上电脑!

做一个基于树莓派Zero的复古游戏主机

全网最全!树莓派扩展板怎么选?一个视频搞定!


点击阅读👆

【声明】内容源于网络
0
0
DF创客社区
我们是专注于创新和开源硬件开发的公司——DFRobot成立的创客社区,无论你是资深创客还是小白,这里都有你的一席之地。一个人玩自己的项目,你只是寂寞宅;一群人看你玩项目,你就是技术牛!快来分享你的项目吧!
内容 1282
粉丝 0
DF创客社区 我们是专注于创新和开源硬件开发的公司——DFRobot成立的创客社区,无论你是资深创客还是小白,这里都有你的一席之地。一个人玩自己的项目,你只是寂寞宅;一群人看你玩项目,你就是技术牛!快来分享你的项目吧!
总阅读1.5k
粉丝0
内容1.3k