summaryrefslogtreecommitdiff
path: root/packages/altboot/files/sd-dynamic-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/altboot/files/sd-dynamic-fix.patch')
-rw-r--r--packages/altboot/files/sd-dynamic-fix.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/packages/altboot/files/sd-dynamic-fix.patch b/packages/altboot/files/sd-dynamic-fix.patch
new file mode 100644
index 0000000000..f31c6b8dc7
--- /dev/null
+++ b/packages/altboot/files/sd-dynamic-fix.patch
@@ -0,0 +1,44 @@
+Index: trunk/altboot.func
+===================================================================
+--- trunk.orig/altboot.func 2007-10-30 15:48:16.000000000 +0000
++++ trunk/altboot.func 2007-10-30 15:48:21.000000000 +0000
+@@ -499,17 +499,6 @@
+ then
+ echo "Note: $SD_MOUNTPOINT is already mounted"
+ else
+- # We can't trust that the SD device file is there when running kernel 2.6 w/ udev
+- # and starting udev at this point may not be the best idea...
+- if `uname -r | grep -q "2.6"`
+- then
+- #Let's just assume the device file name never changes...
+- dev_no="`echo "$SD_DEVICE" | sed -n "s/\/dev\/mmcblk\(.*\)p\(.*\)/\1/p"`"
+- part_no="`echo "$SD_DEVICE" | sed -n "s/\/dev\/mmcblk\(.*\)p\(.*\)/\2/p"`"
+- ! test -e /dev/mmcblk${dev_no} && mknod /dev/mmcblk${dev_no} b 254 0
+- ! test -e /dev/mmcblk${dev_no}p${part_no} && mknod /dev/mmcblk${dev_no}p${part_no} b 254 $part_no
+- fi
+-
+ # Kernel 2.6 has the SD driver compiled into the kernel
+ if test -n "$SD_KERNEL_MODULE"
+ then
+@@ -544,6 +533,21 @@
+ fi
+ fi
+
++ # We can't trust that the SD device file is there when running kernel 2.6 w/ udev
++ # and starting udev at this point may not be the best idea...
++ if `uname -r | grep -q "2.6"`
++ then
++ #Let's just assume the device file name never changes...
++ dev_no="`echo "$SD_DEVICE" | sed -n "s/\/dev\/mmcblk\(.*\)p\(.*\)/\1/p"`"
++ part_no="`echo "$SD_DEVICE" | sed -n "s/\/dev\/mmcblk\(.*\)p\(.*\)/\2/p"`"
++ if [ -f /sys/block/mmcblk${dev_no}/mmcblk${dev_no}p${part_no}/dev ]
++ then
++ rm -f /dev/mmcblk${dev_no}p${part_no} || true
++ mknod /dev/mmcblk${dev_no}p${part_no} b `cat /sys/block/mmcblk${dev_no}/mmcblk${dev_no}p${part_no}/dev|sed 's/:/ /' `
++ fi
++
++ fi
++
+ sleep 3
+
+ check_fs "$SD_DEVICE"