[yocto] [PATCH] iucode-tool: add a service file (systemd)

changqing.li at windriver.com changqing.li at windriver.com
Sun Jul 15 21:54:55 PDT 2018


From: Changqing Li <changqing.li at windriver.com>

Add a service file (systemd), so that the microcode can be uploaded
automatically

Signed-off-by: Changqing Li <changqing.li at windriver.com>
---
 recipes-core/microcode/iucode-tool/iucode-tool.service | 11 +++++++++++
 recipes-core/microcode/iucode-tool_2.3.1.bb            | 17 +++++++++++++++--
 2 files changed, 26 insertions(+), 2 deletions(-)
 create mode 100644 recipes-core/microcode/iucode-tool/iucode-tool.service

diff --git a/recipes-core/microcode/iucode-tool/iucode-tool.service b/recipes-core/microcode/iucode-tool/iucode-tool.service
new file mode 100644
index 0000000..6b134c3
--- /dev/null
+++ b/recipes-core/microcode/iucode-tool/iucode-tool.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Apply Cpu Microcode
+
+[Service]
+Type=oneshot
+KillMode=process
+RemainAfterExit=yes
+ExecStart=@SBINDIR@/iucode_tool -k @LIB@/firmware/intel-ucode/microcode.bin
+
+[Install]
+WantedBy=multi-user.target
diff --git a/recipes-core/microcode/iucode-tool_2.3.1.bb b/recipes-core/microcode/iucode-tool_2.3.1.bb
index df74a8e..1762468 100644
--- a/recipes-core/microcode/iucode-tool_2.3.1.bb
+++ b/recipes-core/microcode/iucode-tool_2.3.1.bb
@@ -18,16 +18,29 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
 
 DEPENDS_append_libc-musl = " argp-standalone"
 
-SRC_URI = "https://gitlab.com/iucode-tool/releases/raw/master/iucode-tool_${PV}.tar.xz"
+SRC_URI = "https://gitlab.com/iucode-tool/releases/raw/master/iucode-tool_${PV}.tar.xz \
+           file://iucode-tool.service \
+          "
 SRC_URI_append_libc-musl = " file://0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch"
 
 SRC_URI[md5sum] = "63b33cc0ea1f8c73b443412abbf39d6f"
 SRC_URI[sha256sum] = "12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95"
 
-inherit autotools
+inherit autotools systemd
 
 BBCLASSEXTEND = "native"
 
 COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
 
 UPSTREAM_CHECK_URI = "https://gitlab.com/iucode-tool/releases"
+
+
+SYSTEMD_SERVICE_${PN} = "iucode-tool.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+do_install_append() {
+	install -d ${D}${systemd_unitdir}/system
+	install -m 0644 ${WORKDIR}/iucode-tool.service ${D}${systemd_unitdir}/system
+	sed -i -e 's, at SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/iucode-tool.service
+	sed -i -e 's, at LIB@,${base_libdir},g' ${D}${systemd_unitdir}/system/iucode-tool.service
+}
-- 
2.7.4



More information about the yocto mailing list