Изображение psplash не появляется (yocto & qemu)

Я пытаюсь сделать свои первые шаги с yocto. При использовании psplash я могу видеть экран yocto-splash только при выключении системы. Не во время загрузки системы.

Для этого я использую Ubuntu 18.10 в Virtual Box (oracle). Я создаю образ с помощью этих команд:

~$ 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 не появляется

Я уже пытаюсь добавить IMAGE_INSTALL_append = " psplash" в local.conf, но безрезультатно.

есть предложения?

Может быть, /dev/fb0 появляется слишком поздно (т.е. графический драйвер - это модуль)?

Tomas Novotny 24.10.2018 15:20

Это возможно. через несколько строк после этого сообщения я получаю несколько строк с «uvesafb». Думаю, это ответственный пакет? Я попытался удалить всю последовательность загрузки, но не знаю, как это работает. Я нашел возможность с "tail -n 100 / var / log / dmesg", но там не все строки

Matthias B 24.10.2018 20:51
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
1 229
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Скриншот Здесь вы можете увидеть описанную последовательность загрузки

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)

Ответ принят как подходящий

У меня была такая же проблема. Видимо yocto создаст файл /etc/rc.d/S00psplash.sh. S00 означает, что это выполняется в самом начале процесса загрузки, до загрузки необходимых графических драйверов. Я поменял его на S40, и он заработал. Еще не знаю, как исправить это внутри yocto. Вам также может потребоваться добавить в свой local.conf:
DISTRO_FEATURES_append = "directfb" # (не уверен, действительно ли это требуется)
и
IMAGE_FEATURES_append = "splash" # (возможно, это уже включено для вашего изображения)
Если не работает, сообщите об этом
С уважением ~

Также обратите внимание, что, насколько мне известно, Ubuntu 18.10 официально не поддерживается проектом yocto.

MAPster 15.03.2019 09:23

это определенно шаг в правильном направлении, так что спасибо за вашу помощь! /Etc/rc.d/S00psplash.sh находился в /etc/rcS.d/. При изменении этих вещей появляется заставка.

Matthias B 21.03.2019 15:38

Есть ли шанс, что вы загружались в устаревшем режиме? Я просто перешел с устаревшей версии на uefi, потому что мне пришлось немного разбить свой образ на разделы, и bootplash работает из коробки. (с использованием образа .wic)

MAPster 24.05.2019 09:45

Другие вопросы по теме