diff options
-rw-r--r-- | meta/classes/rootfs-postcommands.bbclass | 13 | ||||
-rw-r--r-- | meta/files/overlayfs-create-dirs.service.in | 3 | ||||
-rw-r--r-- | meta/files/overlayfs-create-dirs.sh | 8 |
3 files changed, 21 insertions, 3 deletions
diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass index d302c23cf4..3f9fdb602d 100644 --- a/meta/classes/rootfs-postcommands.bbclass +++ b/meta/classes/rootfs-postcommands.bbclass | |||
@@ -39,7 +39,7 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd" | |||
39 | 39 | ||
40 | ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;' | 40 | ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;' |
41 | 41 | ||
42 | ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check;", "", d)}' | 42 | ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check; overlayfs_postprocess;", "", d)}' |
43 | 43 | ||
44 | inherit image-artifact-names | 44 | inherit image-artifact-names |
45 | 45 | ||
@@ -422,3 +422,14 @@ python overlayfs_qa_check() { | |||
422 | if not allUnitExist: | 422 | if not allUnitExist: |
423 | bb.fatal('Not all mount paths and units are installed in the image') | 423 | bb.fatal('Not all mount paths and units are installed in the image') |
424 | } | 424 | } |
425 | |||
426 | python overlayfs_postprocess() { | ||
427 | import shutil | ||
428 | |||
429 | # install helper script | ||
430 | helperScriptName = "overlayfs-create-dirs.sh" | ||
431 | helperScriptSource = oe.path.join(d.getVar("COREBASE"), "meta/files", helperScriptName) | ||
432 | helperScriptDest = oe.path.join(d.getVar("IMAGE_ROOTFS"), "/usr/sbin/", helperScriptName) | ||
433 | shutil.copyfile(helperScriptSource, helperScriptDest) | ||
434 | os.chmod(helperScriptDest, 0o755) | ||
435 | } | ||
diff --git a/meta/files/overlayfs-create-dirs.service.in b/meta/files/overlayfs-create-dirs.service.in index 61b2b9321b..c949a6dc73 100644 --- a/meta/files/overlayfs-create-dirs.service.in +++ b/meta/files/overlayfs-create-dirs.service.in | |||
@@ -6,8 +6,7 @@ DefaultDependencies=no | |||
6 | 6 | ||
7 | [Service] | 7 | [Service] |
8 | Type=oneshot | 8 | Type=oneshot |
9 | ExecStart=mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR} | 9 | ExecStart=/usr/sbin/overlayfs-create-dirs.sh {LOWERDIR} {DATA_MOUNT_POINT} |
10 | ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR} | ||
11 | RemainAfterExit=true | 10 | RemainAfterExit=true |
12 | StandardOutput=journal | 11 | StandardOutput=journal |
13 | 12 | ||
diff --git a/meta/files/overlayfs-create-dirs.sh b/meta/files/overlayfs-create-dirs.sh new file mode 100644 index 0000000000..06c7587a6b --- /dev/null +++ b/meta/files/overlayfs-create-dirs.sh | |||
@@ -0,0 +1,8 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is intended to be used sorely by overlayfs-create-dirs.service | ||
3 | # Usage: overlayfs-create-dirs.sh <LOWERDIR> <DATA_MOUNT_POINT> | ||
4 | |||
5 | lowerdir=$1 | ||
6 | datamountpoint=$2 | ||
7 | mkdir -p ${datamountpoint}/upper${lowerdir} | ||
8 | mkdir -p ${datamountpoint}/workdir${lowerdir} | ||