Petalinux-- ОШИБКА: конфликты между попытками установки

Я пытаюсь изменить файл /etc/inittab, чтобы добавить функцию перезапуска. Чтобы проверить, могу ли я добавить строку в inittab, я создал демо. Я создал файл .bb в разделе proect-spec/meta-user/recipes-apps:

      #
# This is the GPIO-DEMO apllication recipe
#
#

SUMMARY = "automatic-restart application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://* \
        "
S = "${WORKDIR}"
FILESEXTAPATHS_preprend := "${THISDIR}/files:"
#inherit update-rc.d

INITSCRIPT_NAME = "hello"
INITSCRIPT_PARAMS = "start 98 5 ."

do_install() {
        install -d ${D}${sysconfdir}/init.d
        install -m 0755 ${S}/hello ${D}${sysconfdir}/init.d/hello
    install -d ${D}/opt/hello
    cp ${S}/hello.elf ${D}/opt/hello/

}

do_install_append(){

    echo "adding a line" >> ${D}${sysconfdir}/inittab

}

FILES_${PN} += "${sysconfdir}/*"
FILES_${PN} += "/opt/hello/"



Кстати, этот файл используется, сначала поместите файл .elf в /etc/init.d, и он сработает. Однако, когда я добавлял этот блок кода ниже, чтобы проверить, могу ли я изменить «inittab»:

      do_install_append(){
    echo "adding a line" >> ${D}${sysconfdir}/inittab

} 

затем при сборке проектаpetalinux я столкнулся с этой ошибкой:«Файл /etc/inittab конфликтует между попытками установки hello-1.0-r0.cortexa9hf_neon и sysvinit-inittab-2.88dsf-r10.plnx_zynq7»

1 ответ

Это хорошо известная проблема в Yocto, заключающаяся в том, что вы не можете отправить два пакета (рецепта), которые устанавливают один и тот же файл в окончательный вариант rootfs.

Итак, либо вы удаляете один изhelloилиsysvinit-inittabс картинки или используйтеupdate-alternativesкласс, как указано в этом вопросе .

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