Ejecute el paquete Yocto a través del servicio systemd en la imagen.
Tengo una imagen yocto con mi propio paquete agregado. Mi receta:
FILESEXTRAPATHS_append := “:${THISDIR}/../systemd/files”
inherit systemd
SRC_URI = “file://myserver.tar.gz”
SYSTEMD_AUTO_ENABLE = “enable”
SYSTEMD_SERVICE_${PN} = “serverAutoStart.service”
SRC_URI_append = ” file://serverAutoStart.service”
FILES_${PN} += “${systemd_unitdir}/system/serverAutoStart.service”
do_compile() {
make
}
#para el paquete myserver
do_install() {
install -m 0755 -d ${D}${bindir} ${D}${docdir}/myserver
install -m 0644 ${S}//myserver ${D}${bindir}
}
#para el paquete systemd
do_install_append() {
install -d ${D}/${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/serverAutoStart.service ${D}/${systemd_unitdir}/system
}
En esta receta tengo una clase heredada systemd. También tengo un servicio systemd que necesito ejecutar automáticamente el paquete myserver cuando alguna máquina está encendida. ¿Dónde se encuentra este paquete y cómo puedo ejecutarlo desde la unidad systemd? (¿Qué ruta en ExecStart debo utilizar?).
¡Gracias por sus respuestas! Tal vez me den algunos comentarios, porque soy relativamente nuevo en esta área.
davy.ai
El paquete
myserver
se encuentra en el directorio${bindir}
, que generalmente es/usr/bin
. La rutaExecStart
debe ser/usr/bin/myserver
.También puede considerar agregar una opción
Type
yRestart
al archivoserverAutoStart.service
. La opciónType
debe establecerse ensimple
y la opciónRestart
debe establecerse enalways
. Esto asegurará que el servicio se reinicie si falla.