aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/unionfs/unionroot_0.1.1.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/unionfs/unionroot_0.1.1.bb')
-rw-r--r--recipes/unionfs/unionroot_0.1.1.bb37
1 files changed, 37 insertions, 0 deletions
diff --git a/recipes/unionfs/unionroot_0.1.1.bb b/recipes/unionfs/unionroot_0.1.1.bb
new file mode 100644
index 0000000000..4047c2f3c7
--- /dev/null
+++ b/recipes/unionfs/unionroot_0.1.1.bb
@@ -0,0 +1,37 @@
+LICENSE = "GPL"
+
+DESCRIPTION = "Provides an init script that changes the root file-system to unionfs."
+DEPENDS = "busybox base-files"
+RDEPENDS = "busybox base-files"
+SECTION = "base"
+PRIORITY = "optional"
+
+SRC_URI = "file://init.unionroot"
+
+inherit update-alternatives
+
+ALTERNATIVE_NAME = "init"
+ALTERNATIVE_LINK = "/sbin/init"
+ALTERNATIVE_PATH = "/sbin/init.unionroot"
+ALTERNATIVE_PRIORITY = "100"
+
+do_install () {
+ install -d ${D}${base_sbindir}
+ install -m 0755 ${WORKDIR}/init.unionroot ${D}${base_sbindir}/
+}
+
+pkg_postinst () {
+ # Alter /etc/fstab
+ mv $D/${sysconfdir}/fstab $D/${sysconfdir}/fstab.old
+ awk 'BEGIN { print "# Altered by unionroot" }
+ { if ( $2 == "/" )
+ {
+ print $1 "\t/media/realroot\t" $3 "\t" $4 "\t" $5 "\t" $6
+ }
+ else
+ {
+ print $0
+ }
+ }' $D/${sysconfdir}/fstab.old > $D/${sysconfdir}/fstab
+}
+