Acessando os recursos do initramfs-tools na imagem initramfs gerada pelo Yocto

0

Eu gostaria de carregar alguns módulos do kernel e ativar o acesso framebuffer antes do lançamento do Plymouth. Isso normalmente é feito usando o diretório /etc/initramfs-tools fornecido com o initramfs-tools . No entanto, ao criar uma imagem initramfs com o Yocto, esse diretório não está disponível. Isso significa que qualquer que seja o initramfs-tools para carregar módulos e inicializar o framebuffer, deve ser feito manualmente na imagem initramfs até onde eu entendi.

As tarefas que eu quero realizar são muito delicadamente explicadas pelo notro no link . Eu gostaria de fazer o equivalente ao que é feito abaixo:

  • Acesso ao módulo /etc/initramfs-tools/scripts/init-top/spi e modprobe a.
  • Acesse o /etc/initramfs-tools/modules e liste outros módulos a serem lançados pelo daemon de módulos
  • Ativar framebuffer, que é feito por meio de echo "export FRAMEBUFFER=/dev/fb1" | sudo tee /etc/initramfs-tools/conf.d/fb1

Com minha pesquisa, pude encontrar initramfs-framework- pacote base que apresenta alguns scripts que o initramfs boot usa. Eu acho que isso pode ser um bom ponto de partida. No entanto, eu não sei como dizer explicitamente ao initramfs para fazer o que eu quero realizar (tarefas acima).

Observação: Atualmente, minha imagem initramfs é gerada pela seguinte receita:

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"

Além disso, observe: Estou usando uma máquina baseada no ARMv6 com o bootloader U-boot. Compilando o original initramfs-tools (que é originalmente desenvolvido para o Debian) gera imagens de 0 byte. Eu estou supondo que isso é um problema com a sua compatibilidade. Então, vou ter que recorrer à geração de initramfs com as ferramentas internas do yocto.

Qualquer ajuda é apreciada. Agradecemos antecipadamente.

    
por mozcelikors 23.05.2018 / 18:11

0 respostas