summaryrefslogtreecommitdiff
path: root/packages/unionfs/unionroot_0.1.bb
blob: 79b79b5f943998b167245309cbb63410477b9fea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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>"

PR = "r2"

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
}