diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2017-12-01 11:05:32 -0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-12-10 22:41:41 +0000 |
commit | 9b98c97338b4c3f985eca572d6a1e21324fa0fbc (patch) | |
tree | 296b462d66685d2c4c9585e6723531ad7167585c /meta/recipes-core | |
parent | a41f7cdf0cbc56a283d5c845c36d88a0208bf386 (diff) | |
download | openembedded-core-9b98c97338b4c3f985eca572d6a1e21324fa0fbc.tar.gz openembedded-core-9b98c97338b4c3f985eca572d6a1e21324fa0fbc.tar.bz2 openembedded-core-9b98c97338b4c3f985eca572d6a1e21324fa0fbc.zip |
initramfs-framework: Add exec module
This new module allow for easy execution of external scripts or
applications. It runs anything found in /exec.d directory in order and
in case of no scripts to be available, it opens a shell.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r-- | meta/recipes-core/initrdscripts/initramfs-framework/exec | 29 | ||||
-rw-r--r-- | meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb | 9 |
2 files changed, 38 insertions, 0 deletions
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/exec b/meta/recipes-core/initrdscripts/initramfs-framework/exec new file mode 100644 index 0000000000..a8e2432bb6 --- /dev/null +++ b/meta/recipes-core/initrdscripts/initramfs-framework/exec @@ -0,0 +1,29 @@ +#!/bin/sh +# Copyright (C) 2017 O.S. Systems Software LTDA. +# Licensed on MIT + +EXEC_DIR=/exec.d # place to look for modules + +exec_enabled() { + return 0 +} + +exec_run() { + if [ ! -d $EXEC_DIR ]; then + msg "No contents to exec in $EXEC_DIR. Starting shell ..." + sh + fi + + # Load and run modules + for m in $EXEC_DIR/*; do + # Skip backup files + if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then + continue + fi + + debug "Starting $m" + + # process module + ./$m + done +} diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 2afc37ee75..75d965f069 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb @@ -8,6 +8,7 @@ PR = "r4" inherit allarch SRC_URI = "file://init \ + file://exec \ file://rootfs \ file://finish \ file://mdev \ @@ -26,6 +27,9 @@ do_install() { install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish + # exec + install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec + # mdev install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev @@ -45,6 +49,7 @@ do_install() { } PACKAGES = "${PN}-base \ + initramfs-module-exec \ initramfs-module-mdev \ initramfs-module-udev \ initramfs-module-e2fs \ @@ -62,6 +67,10 @@ FILES_${PN}-base = "/init /init.d/99-finish /dev" # and mounts the rootfs. Then 90-rootfs will proceed immediately. RRECOMMENDS_${PN}-base += "initramfs-module-rootfs" +SUMMARY_initramfs-module-exec = "initramfs support for easy execution of applications" +RDEPENDS_initramfs-module-exec = "${PN}-base" +FILES_initramfs-module-exec = "/init.d/89-exec" + SUMMARY_initramfs-module-mdev = "initramfs support for mdev" RDEPENDS_initramfs-module-mdev = "${PN}-base busybox-mdev" FILES_initramfs-module-mdev = "/init.d/01-mdev" |