summaryrefslogtreecommitdiff
path: root/recipes/initscripts/initscripts-1.0/slugos/devices.patch
blob: 2583b62f4848ed55b5f70e8ff8da46287153f04e (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
41
42
43
44
45
46
47
48
49
50
51
52
#
# Patch to allow /dev to reside permanently in the file
# system.
#
--- old/devices	2005-05-28 21:51:39.012078699 -0700
+++ new/devices	2005-06-12 00:16:29.222686303 -0700
@@ -6,7 +6,7 @@
 . /etc/default/rcS
 
 # exit without doing anything if udev is active
-if test -e /dev/.udev -o -e /dev/.udevdb; then
+if test -e /dev/.udev -o -e /dev/.udevdb -o -e /dev/.permanent; then
 	exit 0
 fi
 
@@ -37,12 +37,20 @@
 	mknod /dev/ppp c 108 0
 	if test "$VERBOSE" != "no"; then echo "done"; fi
 else
-	if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
-	mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
-	if test $? -ne 0; then
-		if test "$VERBOSE" != "no"; then echo "failed"; fi
+	if test -e /dev/.noram
+	then
+		# There should be no files, any files will damage the
+		# makedevs script below.
+		rm $(find /dev -type f -print)
+		:>/dev/.noram
 	else
-		if test "$VERBOSE" != "no"; then echo "done"; fi
+		if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+		mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+		if test $? -ne 0; then
+			if test "$VERBOSE" != "no"; then echo "failed"; fi
+		else
+			if test "$VERBOSE" != "no"; then echo "done"; fi
+		fi
 	fi
 	if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
 	cd /
@@ -60,6 +68,10 @@
 		if test "$VERBOSE" != "no"; then echo "failed"; fi
 	else
 		if test "$VERBOSE" != "no"; then echo "done"; fi
+		if test -e /dev/.noram
+		then
+			:>/dev/.permanent
+		fi
 	fi
 fi