Grave regra do udev a partir da receita do bitbake

3

Eu posso compilar e instalar coisas no yocto criando uma receita bitbake. Gostaria de executar meu código quando um dispositivo específico estiver conectado.

Existe uma maneira elegante de adicionar uma regra do udev de uma receita de bitbake? Fazer algo como echo "<my udev rule>" >> /etc/udev/rules.d/90-local.rules não parece um bom plano ...

    
por JonesV 22.07.2016 / 21:53

1 resposta

6

Pelo que eu entendo, você quer criar uma regra ao criar o sistema operacional e residir no rootfs. Se isso está correto, então você precisa adicionar uma receita para isso. Armazene sua regra em um diretório como o seguinte: "distro / meta-myproject / recipes-core / rfs-myproject / rfs-myproject / myrule.rule ". Então, acima de um nível na pasta rfs-myproject você precisa de um rfs-myproject_1.0.0.bb. O arquivo deve se parecer com o seguinte

SUMMARY = "MyProject Additional files"
LICENSE = "CLOSED"
PR = "r1"    

SRC_URI = "file://my-rule1.rules file://my-rule2.rules \
           file://startup.sh file://rc.local "    

do_install[nostamp] = "1"
do_unpack[nostamp] = "1"    

do_install () {
    echo "my-project install task invoked"    

    install -m 0755 ${WORKDIR}/startup.sh               ${D}/home/root/startup.sh
    install -m 0777 ${WORKDIR}/rc.local                 ${D}${sysconfdir}/rc.d/rc.local
    install -m 0666 ${WORKDIR}/my-rule1.rules           ${D}/etc/udev/rules.d/my-rule1.rules
    install -m 0666 ${WORKDIR}/my-rule2.rules        ${D}/etc/udev/rules.d/my-rule2.rules

}    

FILES_${PN} += " ${sysconfdir}/rc.local"
FILES_${PN} += " /home/root/startup.sh"
FILES_${PN} += " /etc/udev/rules.d/my-rule1.rules"
FILES_${PN} += " /etc/udev/rules.d/my-rule2.rules"    

PACKAGES = "${PN}"
PROVIDES = "rfs-my-project"

Espero que isso responda à sua pergunta. Se precisar de mais ajuda, informe-nos.

Ah sim, não esqueça de incluir meu projeto no seu local.conf

    
por 22.07.2016 / 22:36

Tags