Я бы хотел загрузить несколько модулей ядра и активировать доступ к кадровому буферу до запуска Plymouth.Обычно это делается с помощью каталога /etc/initramfs-tools
, поставляемого с initramfs-tools
.Однако при создании образа initramfs с помощью Yocto такой каталог недоступен.Это означает, что все, что initramfs-tools
делает для загрузки модулей и инициализации кадрового буфера, должно быть сделано вручную в образе initramfs
, насколько я могу понять.
Задачи, которые я хочу выполнить, очень деликатно объясняютсяНотро в https://github.com/notro/fbtft/wiki/Bootsplash.Я хотел бы сделать эквивалент того, что сделано ниже:
- Доступ к
/etc/initramfs-tools/scripts/init-top/spi
и modprobe
модуля. - Доступ к
/etc/initramfs-tools/modules
и список других модулей длябыть запущенным модулями daemon - Включить фреймбуфер, который выполняется через
echo "export FRAMEBUFFER=/dev/fb1" | sudo tee /etc/initramfs-tools/conf.d/fb1
С помощью моего исследования я смог найти initramfs-framework-base-base , который поддерживаетнекоторые скрипты, которые использует загрузка initramfs.Я думаю, что это может быть хорошей отправной точкой.Однако я не знаю, как явно указать initramfs делать то, что я хочу выполнить (задачи выше).
Примечание: В настоящее время мое изображение initramfs генерируется по следующему рецепту:
include recipes-core/images/rpi-basic-image.bb
BASEPACKS = " \
base-passwd \
busybox \
initramfs-live-boot \
initramfs-framework-base \
udev \
${ROOTFS_BOOTSTRAP_INSTALL} \
"
IMAGE_INSTALL = " ${BASEPACKS} \
plymouth plymouth-set-default-theme \
"
# Do not pollute the initrd image with rootfs features
IMAGE_FEATURES = "splash"
SPLASH = "plymouth"
IMAGE_LINGUAS = ""
LICENSE = "MIT"
IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
IMAGE_ROOTFS_SIZE = "8192"
IMAGE_OVERHEAD_FACTOR = "1.0"
IMAGE_ROOTFS_EXTRA_SPACE = "0"
IMAGE_ROOTFS_MAXSIZE = "12288"
CMDLINE_append = " quiet splash nomodeset plymouth.ignore-serial-consoles consoleblank=0"
BAD_RECOMMENDATIONS += "busybox-syslog"
Также обратите внимание: Я использую компьютер на базе ARMv6 с загрузчиком U-boot.Компиляция оригинального initramfs-tools
(изначально разработанного для Debian) генерирует 0-байтовые образы.Я предполагаю, что это проблема с его совместимостью.Поэтому мне придется прибегнуть к генерации initramfs с помощью внутренних инструментов yocto.
Любая помощь приветствуется.Заранее спасибо.