aboutsummaryrefslogtreecommitdiffstats
path: root/packages/unionfs/unionroot_0.1.1.bb
diff options
context:
space:
mode:
Diffstat (limited to 'packages/unionfs/unionroot_0.1.1.bb')
-rw-r--r--packages/unionfs/unionroot_0.1.1.bb38
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/unionfs/unionroot_0.1.1.bb b/packages/unionfs/unionroot_0.1.1.bb
index e69de29bb2..ba07cc1695 100644
--- a/packages/unionfs/unionroot_0.1.1.bb
+++ b/packages/unionfs/unionroot_0.1.1.bb
@@ -0,0 +1,38 @@
+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"
+MAINTAINER = "Chris Lord <cwiiis@handhelds.org>"
+
+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
+}
+