У меня есть рабочий образ Yocto для RaspberryPi3. Я хочу добавить 3 файла сценария / etc / ppp / peers /. Я бы подумал, что добавление нескомпилированных файлов в корневую файловую систему было довольно обычным делом, но единственные примеры, которые я могу найти, - это использование скомпилированных файлов и наследование рецепта autotools.
Есть ли здесь пример того, как добавить текстовые файлы или файлы сценариев в корневую файловую систему Yocto?
Либо How To write up, либо существующий рецепт, который берет набор текстовых файлов и помещает их в rootfs целевого объекта.
Мне, должно быть, чего-то не хватает, потому что я не могу загрузить файлы в систему.
Я пробовал использовать do_deploy, но это помещает файлы в мои ../tmp/deploy/images/raspberrypi3/etc/ppp/, что было бы полезно для сценарии для помощи в развертывании образа. Но это не то, что я хочу, поскольку сценарии должны быть нацелены.
Выполнение do_install () с пустым do_compile () или без него также не привело к попаданию в цель. Если только не используется $ {sysconfdir} или $ {IMAGE_ROOTFS}, или $ {S}, или $ {D}, или $ {DEPLOYDIR}, или $ {WORKDIR}, что является специфическим для Pi. Я бы привел пример своего сценария, но, изменив его так много раз за последние два дня, не стоит делиться только одной итерацией.
Все, что похоже на следующее: $ {IMAGE_ROOTFS}, возможно, заменен на $ {D} или отсутствующий do_install заменен на do_deploy.
Возможно, я пробовал другие варианты.
#
# Copy the ppp script files for <vendor> chips to the target filesystem
# These files are based on the details provided in
#
SUMMARY = "PPP Scripts for ..."
SECTION = "net"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
DESCRIPTION = "A set of Linux PPP scripts blar blar"
RDEPENDS_${PN} = "ppp"
SRC_URI += "file://<provider>-ppp"
SRC_URI += "file://<provider>-chat-connect"
SRC_URI += "file://<provider>-chat-disconnect"
S = "${WORKDIR}"
#PACKAGES =+ "${PN} ${PN}-staticdev"
#DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
#D = "${DEPLOYDIR}"
inherit allarch
# Install script on target's root file-system
do_install () {
# Install init script and default settings
install -d ${IMAGE_ROOTFS}${sysconfdir}
install -d ${IMAGE_ROOTFS}${sysconfdir}/ppp/
install -d ${IMAGE_ROOTFS}${sysconfdir}/ppp/peers/
install -m 0755 ${S}/<provider>-ppp ${IMAGE_ROOTFS}${sysconfdir}/ppp/peers/
install -m 0755 ${S}/<provider>-chat-connect ${IMAGE_ROOTFS}${sysconfdir}/ppp/peers/
install -m 0755 ${S}/<provider>-chat-disconnect ${IMAGE_ROOTFS}${sysconfdir}/ppp/peers/
}
# Mark the files which are part of this package
FILES_${PN} += "${sysconfdir}/ppp/"
FILES_${PN} += "${sysconfdir}/ppp/peers/"
FILES_${PN} += "${sysconfdir}/ppp/peers/<provider>-ppp"
FILES_${PN} += "${sysconfdir}/ppp/peers/<provider>-chat-connect"
FILES_${PN} += "${sysconfdir}/ppp/peers/<provider>-chat-disconnect"
Я могу найти много helloworld.c и автоматизировать примеры. Где-то должны быть какие-то базовые для добавления скриптов? У меня гуглфу очень слабый, виноват затяжной насморк.