summaryrefslogtreecommitdiff
path: root/packages/unionfs/unionroot_0.1.bb
diff options
context:
space:
mode:
Diffstat (limited to 'packages/unionfs/unionroot_0.1.bb')
-rw-r--r--packages/unionfs/unionroot_0.1.bb40
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/unionfs/unionroot_0.1.bb b/packages/unionfs/unionroot_0.1.bb
index e69de29bb2..0adb535511 100644
--- a/packages/unionfs/unionroot_0.1.bb
+++ b/packages/unionfs/unionroot_0.1.bb
@@ -0,0 +1,40 @@
+LICENSE = "GPL"
+
+DESCRIPTION = "Provides an init script that changes the root file-system to unionfs."
+DEPENDS = "base-files"
+RDEPENDS = "base-files"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Chris Lord <cwiiis@handhelds.org>"
+
+PR = "r1"
+
+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}/sbin
+ install -m 0755 ${WORKDIR}/init.unionroot ${D}/sbin/
+}
+
+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
+}
+