Доступ к функциям initramfs-tools в образе initramfs, созданном Yocto

Я хотел бы загрузить несколько модулей ядра и активировать доступ к кадровому буферу перед запуском 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, в котором есть несколько сценариев, которые использует загрузка 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.

Любая помощь приветствуется. Заранее спасибо.

0 ответов

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