psplash 图像未出现(yocto 和 qemu)
psplash image does not appear (yocto & qemu)
我正在尝试使用 yocto 迈出第一步。
使用 psplash 时,我只能在关闭系统时看到 yocto-splashscreen。不是在系统启动时。
为此,我在 Virtual Box (oracle) 中使用 Ubuntu 18.10。
我用这个命令构建图像:
~$ sudo apt-get install git python chrpath g++ gawk gcc make texinfo
~$ git clone -b sumo git://git.yoctoproject.org/poky
~$ cd poky/
~/poky$ source oe-init-build-env
~/poky/build$ nano /conf/local.conf
在文件末尾插入:
BB_NUMBER_THREADS = “8”
PARALLEL_MAKE = “-j 4”
IMAGE_INSTALL_append = “ psplash”
INHERIT_remove = “uninative”
构建方式:
~/poky/build$ bitbake core-image-minimal
运行 图像具有:
runqemu qemux86
启动时我注意到以下两条消息:
framebuffer /dev/fb0 not detected
Boot splashscreen disabled
我发现了这个问题:yocto splash screen not appearing
我已经尝试在 local.conf
中添加 IMAGE_INSTALL_append = " psplash"
但没有效果。
你有什么想法吗?
Screenshot
在这里你可以看到描述的启动顺序
framebuffer /dev/fb0 not detected
Boot splashscreen disabled
来自 psplash-init
文件
#!/bin/sh
### BEGIN INIT INFO
# Provides: psplash
# Required-Start:
# Required-Stop:
# Default-Start: S
# Default-Stop:
### END INIT INFO
echo "########################################################"
if [ ! -e /dev/fb0 ]; then
echo "Framebuffer /dev/fb0 not detected"
echo "Boot splashscreen disabled 1"
exit 0;
fi
read CMDLINE < /proc/cmdline
for x in $CMDLINE; do
case $x in
psplash=false)
echo "Boot splashscreen disabled 2"
exit 0;
;;
esac
done
export TMPDIR=/mnt/.psplash
mount tmpfs -t tmpfs $TMPDIR -o,size=40k
rotation=0
if [ -e /etc/rotation ]; then
read rotation < /etc/rotation
fi
/usr/bin/psplash --angle $rotation &
所以在加载帧缓冲区之前尝试显示启动画面(屏幕截图中的第 6-7 行)(从第 13 行开始...)
这样对吗?
我想知道消息 "Please wait: booting...."
我们谈论不同的引导步骤吗? (比如 bootloader-boot 和 linux-boot)
我刚遇到同样的问题。显然 yocto 会创建一个文件 /etc/rc.d/S00psplash.sh 。 S00 意味着它在启动过程开始时执行,在加载所需的图形驱动程序之前。我将其更改为 S40 并且有效。还不确定如何在 yocto 中解决这个问题。您可能还需要添加到您的 local.conf:
DISTRO_FEATURES_append = " directfb" #(不确定这是否真的需要)
和
IMAGE_FEATURES_append = " splash" #(这可能已经为您的图像启用)
如果它不起作用,请反馈
最好的问候 ~
我正在尝试使用 yocto 迈出第一步。 使用 psplash 时,我只能在关闭系统时看到 yocto-splashscreen。不是在系统启动时。
为此,我在 Virtual Box (oracle) 中使用 Ubuntu 18.10。 我用这个命令构建图像:
~$ sudo apt-get install git python chrpath g++ gawk gcc make texinfo
~$ git clone -b sumo git://git.yoctoproject.org/poky
~$ cd poky/
~/poky$ source oe-init-build-env
~/poky/build$ nano /conf/local.conf
在文件末尾插入:
BB_NUMBER_THREADS = “8”
PARALLEL_MAKE = “-j 4”
IMAGE_INSTALL_append = “ psplash”
INHERIT_remove = “uninative”
构建方式:
~/poky/build$ bitbake core-image-minimal
运行 图像具有:
runqemu qemux86
启动时我注意到以下两条消息:
framebuffer /dev/fb0 not detected
Boot splashscreen disabled
我发现了这个问题:yocto splash screen not appearing
我已经尝试在 local.conf
中添加 IMAGE_INSTALL_append = " psplash"
但没有效果。
你有什么想法吗?
Screenshot 在这里你可以看到描述的启动顺序
framebuffer /dev/fb0 not detected
Boot splashscreen disabled
来自 psplash-init
文件
#!/bin/sh
### BEGIN INIT INFO
# Provides: psplash
# Required-Start:
# Required-Stop:
# Default-Start: S
# Default-Stop:
### END INIT INFO
echo "########################################################"
if [ ! -e /dev/fb0 ]; then
echo "Framebuffer /dev/fb0 not detected"
echo "Boot splashscreen disabled 1"
exit 0;
fi
read CMDLINE < /proc/cmdline
for x in $CMDLINE; do
case $x in
psplash=false)
echo "Boot splashscreen disabled 2"
exit 0;
;;
esac
done
export TMPDIR=/mnt/.psplash
mount tmpfs -t tmpfs $TMPDIR -o,size=40k
rotation=0
if [ -e /etc/rotation ]; then
read rotation < /etc/rotation
fi
/usr/bin/psplash --angle $rotation &
所以在加载帧缓冲区之前尝试显示启动画面(屏幕截图中的第 6-7 行)(从第 13 行开始...) 这样对吗?
我想知道消息 "Please wait: booting...." 我们谈论不同的引导步骤吗? (比如 bootloader-boot 和 linux-boot)
我刚遇到同样的问题。显然 yocto 会创建一个文件 /etc/rc.d/S00psplash.sh 。 S00 意味着它在启动过程开始时执行,在加载所需的图形驱动程序之前。我将其更改为 S40 并且有效。还不确定如何在 yocto 中解决这个问题。您可能还需要添加到您的 local.conf:
DISTRO_FEATURES_append = " directfb" #(不确定这是否真的需要)
和
IMAGE_FEATURES_append = " splash" #(这可能已经为您的图像启用)
如果它不起作用,请反馈
最好的问候 ~