Как развернуть файлы в / boot разделе с помощью Yocto - PullRequest
2 голосов
/ 06 июля 2019

Я пытаюсь развернуть некоторые двоичные файлы в / boot в образе Yocto для RPi CM3, но он развертывает их в неправильном месте.

do_install() {
    install -d ${D}/boot/overlays
    install -m 0664 ${WORKDIR}/*.dtb ${D}/boot/overlays/
    install -m 0664 ${WORKDIR}/*.dtbo ${D}/boot/overlays/
}

Файлы развертываются в / boot в разделе / ​​окончательного образа, но не в / boot разделе. Таким образом, они не доступны во время загрузки.

Я уже погуглил и изучил рецепты ядра (и классы) дистрибутива Poky, но я не нашел механизм, который использует его, как убедиться, что файлы развертываются в загрузочный образ (а не в каталог / boot в корневое изображение).

Любая помощь приветствуется:)

Обновление # 1

В моем local.conf я сделал:

IMAGE_BOOT_FILES_append = " \
  overlays/3dlab-nano-player.dtbo \
  overlays/adau1977-adc.dtbo \
  ...
"

А у меня в rpi3-overlays.bb

do_deploy() {
    install -d ${DEPLOYDIR}/${PN}
    install -m 0664 ${WORKDIR}/*.dtb ${DEPLOYDIR}/${PN}
    install -m 0664 ${WORKDIR}/*.dtbo ${DEPLOYDIR}/${PN}

    touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
}

При использовании этого образа образуется, но файлы по-прежнему не развертываются в разделе / ​​boot. Используя RPI_KERNEL_DEVICETREE_OVERLAYS, я получаю ошибку сборки, потому что рецепт ядра пытается создать файлы dtbo, такие как файлы dts.

1 Ответ

2 голосов
/ 06 июля 2019

RPI-изображения создаются с помощью sdimage-raspberrypi.wks WIC wks файла.Он содержит:

part /boot --source bootimg-partition ...

, поэтому он использует bootimg-partition.py wic-плагин для генерации /boot раздела.Он копирует все файлы, определенные с помощью переменной IMAGE_BOOT_FILES.

Кажется, вы хотите добавить несколько оверлеев из девичьего дерева, поэтому вам нужно изменить конфигурацию machine и, более конкретно, переменную RPI_KERNEL_DEVICETREE_OVERLAYS.IMAGE_BOOT_FILES переменная установлена ​​в rpi-base.inc .

Если у вас нет определенного компьютера или определенного дистрибутива, вы можете добавить его в local.conf:

RPI_KERNEL_DEVICETREE_OVERLAYS_append = " <deploy-path>/<dto-path>"

Здесь вы можете увидеть как добавить файлы в каталог развертывания.

...