Sophie

Sophie

distrib > Mandriva > 2010.0 > x86_64 > media > main-testing-src > by-pkgid > 73d4e64fc0a6e30c14426cc4c79b21e7 > files > 42

mkinitrd-6.0.93-6.3mnb2.src.rpm

From 23579549c57ee85a7ccd9346293694f7951975f9 Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat@mandriva.com>
Date: Tue, 22 Sep 2009 14:00:50 +0200
Subject: [PATCH] devtmpfs support

---
 mkinitrd |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/mkinitrd b/mkinitrd
index 03e50e9..f8b60b8 100755
--- a/mkinitrd
+++ b/mkinitrd
@@ -62,6 +62,7 @@ GRAPHICSMODS=""
 DRM_WHITELIST="i915"
 PREMODS=""
 DMRAIDS=""
+NODEVTMPFS=1
 ncryptodevs=0
 ncryptoparts=0
 ncryptolvs=0
@@ -1264,6 +1265,9 @@ if [ -z "$MNTIMAGE" -o -z "$IMAGE" ]; then
     exit 1
 fi
 
+grep -q devtmpfs /proc/filesystems
+NODEVTMPFS=$?
+
 mkdir -p $MNTIMAGE
 mkdir -p $MNTIMAGE/lib/firmware
 mkdir -p $MNTIMAGE/lib/modules/$kernel
@@ -1282,6 +1286,7 @@ vecho "Building initrd in $MNTIMAGE"
 inst /sbin/nash "$MNTIMAGE" /bin/nash
 inst /sbin/modprobe "$MNTIMAGE" /bin/modprobe
 inst /sbin/rmmod "$MNTIMAGE" /bin/rmmod
+inst /bin/ln "$MNTIMAGE"
 
 if [ -e /etc/fstab.sys ]; then
     inst /etc/fstab.sys "$MNTIMAGE"
@@ -1316,12 +1321,15 @@ done
 
 # mknod'ing the devices instead of copying them works both with and
 # without devfs...
+if [ $NODEVTMPFS -eq 1 ]; then
 mkdir $MNTIMAGE/dev/mapper
 
 mknod $MNTIMAGE/dev/ram0 b 1 0
 mknod $MNTIMAGE/dev/ram1 b 1 1
 ln -sf ram1 $MNTIMAGE/dev/ram
+fi #NODEVTMPFS
 
+if [ $NODEVTMPFS -eq 1 ]; then
 mknod $MNTIMAGE/dev/null c 1 3
 mknod $MNTIMAGE/dev/zero c 1 5
 mknod $MNTIMAGE/dev/systty c 4 0
@@ -1336,6 +1344,7 @@ done
 mknod $MNTIMAGE/dev/tty c 5 0
 mknod $MNTIMAGE/dev/console c 5 1
 mknod $MNTIMAGE/dev/ptmx c 5 2
+fi #NODEVTMPFS
 
 if [ -n "$raiddevices" ]; then
     inst /sbin/mdadm "$MNTIMAGE"
@@ -1562,12 +1571,31 @@ setquiet
 echo Mounting proc filesystem
 echo Mounting sysfs filesystem
 mount -t sysfs /sys /sys
+EOF
+
+if [ $NODEVTMPFS -ne 1 ]; then
+cemit << EOF
+echo Creating /dev
+mount -t devtmpfs /dev /dev
+EOF
+else
+cemit << EOF
 echo Creating /dev
 mount -o mode=0755 -t tmpfs /dev /dev
+EOF
+fi #NODEVTMPFS
+
+cemit << EOF
+/bin/ln -s ram1 /dev/ram
 mkdir /dev/pts
 mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
 mkdir /dev/shm
 mkdir /dev/mapper
+/bin/ln -s fb0 /dev/fb
+EOF
+
+if [ $NODEVTMPFS -eq 1 ]; then
+cemit << EOF
 echo Creating initial device nodes
 mknod /dev/null c 1 3
 mknod /dev/zero c 1 5
@@ -1575,7 +1603,7 @@ mknod /dev/systty c 4 0
 mknod /dev/tty c 5 0
 mknod /dev/console c 5 1
 mknod /dev/ptmx c 5 2
-mknod /dev/fb c 29 0
+mknod /dev/fb0 c 29 0
 mknod /dev/hvc0 c 229 0
 EOF
 
@@ -1591,6 +1619,8 @@ fi
 for i in 0 1 2 3 ; do
     emit "mknod /dev/ttyS$i c 4 $(($i + 64))"
 done
+fi #NODEVTMPFS
+
 if [ -x /usr/libexec/plymouth/plymouth-populate-initrd ]; then
     emit "/bin/plymouthd --attach-to-session"
 fi
-- 
1.6.4.4