Доступ к функциям initramfs-tools в образе initramfs, созданном Yocto - PullRequest
0 голосов
/ 23 мая 2018

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

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

...