altboot_1.1.1+wip-SVNR66.bb : add patch to get devnodes for mmcblkp? from
authorGraeme Gregory <dp@xora.org.uk>
Tue, 30 Oct 2007 16:03:57 +0000 (16:03 +0000)
committerGraeme Gregory <dp@xora.org.uk>
Tue, 30 Oct 2007 16:03:57 +0000 (16:03 +0000)
sysfs so they work even though they have changed in different kernels.

packages/altboot/altboot_1.1.1+wip-SVNR66.bb
packages/altboot/files/.mtn2git_empty [new file with mode: 0644]
packages/altboot/files/sd-dynamic-fix.patch [new file with mode: 0644]

index 912082c..0eda8ba 100644 (file)
@@ -1,9 +1,10 @@
 require altboot.inc
 
-PR = "r0"
+PR = "r1"
 
 SVN_REV = "66"
-SRC_URI = "svn://hentges.net/public/altboot;module=trunk;rev=${SVN_REV}"
+SRC_URI = "svn://hentges.net/public/altboot;module=trunk;rev=${SVN_REV} \
+           file://sd-dynamic-fix.patch;patch=1"
 
 do_install() {
        install -d ${D}/sbin
diff --git a/packages/altboot/files/.mtn2git_empty b/packages/altboot/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/altboot/files/sd-dynamic-fix.patch b/packages/altboot/files/sd-dynamic-fix.patch
new file mode 100644 (file)
index 0000000..f31c6b8
--- /dev/null
@@ -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"