为什么 'fbi' 系统启动时不显示启动画面?

Why does 'fbi' not show splash image during system startup?

我正在尝试使用 fbi 为 Raspbian Stretch 提供启动画面。根据一些教程,我在这里找到了我的情况:

/etc/systemd/system/splashscreen.服务

[Unit]
Description=Splash screen
DefaultDependencies=no
After=local-fs.target

[Service]
ExecStart=/usr/bin/fbi -T 1 -d /dev/fb0 --noverbose /opt/logo.png

[Install]
WantedBy=sysinit.target

已启用(检查了 sysinit.target.wants 下的符号链接)。

/boot/cmdline.txt

dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=ee397c53-02 rootfstype=ext4 elevator=deadline rootwait quiet logo.nologo loglevel=1 fsck.mode=skip noswap ro consoleblank=0

p

/boot/config.txt

hdmi_drive=2
dtparam=i2c_arm=on
dtparam=spi=on
dtparam=audio=on
dtparam=i2c1=on
dtoverlay=i2c-rtc,ds1307
disable_splash=1

从提示中执行完全相同的命令 (fbi -T 1 -d /dev/fb0 --noverbose /opt/logo.png) 会按预期显示图像。

在启动消息中我找不到任何错误。有什么想法吗?

我终于让它工作了!这是我所做的(基本上是从 https://yingtongli.me/blog/2016/12/21/splash.html 复制的,有一些小的改动使它对我有用)。

  1. 安装fbi:apt install fbi

  2. 创建 /etc/systemd/system/splashscreen.service 使用:

    [Unit]
    Description=Splash screen
    DefaultDependencies=no
    After=local-fs.target
    
    [Service]
    ExecStart=/usr/bin/fbi --noverbose -a /opt/splash.png
    StandardInput=tty
    StandardOutput=tty
    
    [Install]
    WantedBy=sysinit.target
    

    我所做的与上面链接的文章唯一不同的是从 /usr/bin/fbi 命令中删除了 -d 标志(该命令最初是 /usr/bin/fbi -d /dev/fb0 --noverbose -a /opt/splash.png)。我猜 fb0 是错误的设备,将其遗漏只是意味着 fbi 将使用当前的显示设备并使其正确。

  3. 将您的初始图片放入 /opt/splash.png

  4. 启用服务:systemctl enable splashscreen

我仍在尝试弄清楚如何删除其余的引导文本,但这是朝着正确方向迈出的一步。