我正在尝试使用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
我已经尝试在IMAGE_INSTALL_append = " psplash"
中添加local.conf
,但是没有效果。
您有什么想法吗?
答案 0 :(得分:0)
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行...) 是这样吗?
我想知道消息“请稍候:正在启动...”。 我们谈论不同的引导步骤吗? (如bootloader-boot和linux-boot)
答案 1 :(得分:0)
我只是遇到了同样的问题。显然yocto会创建一个文件/etc/rc.d/S00psplash.sh。 S00表示在加载所需的图形驱动程序之前,该过程在引导过程开始时立即执行。我将其更改为S40并成功了。尚不确定如何在yocto内部解决此问题。您可能还需要添加到local.conf中:
DISTRO_FEATURES_append =“ directfb”#(不确定是否确实需要这样做)
和
IMAGE_FEATURES_append =“ splash”#(您的图片可能已启用)
如果不起作用,请报告
最好的问候〜