]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
30_os-prober update
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 18 Dec 2009 02:33:24 +0000 (03:33 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 18 Dec 2009 02:33:24 +0000 (03:33 +0100)
util/grub.d/30_os-prober.in

index c5728866cdcc4e0310c187195ee706ffb89ce946..9577926be8865c2e2424ff5b25de73a62eb73eb2 100644 (file)
@@ -37,6 +37,56 @@ if [ -z "${OSPROBED}" ] ; then
   exit 0
 fi
 
+function osx_entry {
+        cat << EOF
+menuentry "${LONGNAME} (${2}-bit) (on ${DEVICE})" {
+EOF
+       prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
+       cat << EOF
+        insmod vbe
+        do_resume=0
+        if [ /var/vm/sleepimage -nt10 / ]; then
+           if xnu_resume /var/vm/sleepimage; then
+             do_resume=1
+           fi
+        fi
+        if [ \$do_resume == 0 ]; then
+           xnu_uuid ${OSXUUID} uuid
+           if [ -f /Extra/DSDT.aml ]; then
+              acpi -e /Extra/DSDT.aml
+           fi
+           $1 /mach_kernel boot-uuid=\${uuid} rd=*uuid
+           if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
+              xnu_mkext /System/Library/Extensions.mkext
+           else
+              xnu_kextdir /System/Library/Extensions
+           fi
+           if [ -f /Extra/Extensions.mkext ]; then
+              xnu_mkext /Extra/Extensions.mkext
+           fi
+           if [ -d /Extra/Extensions ]; then
+              xnu_kextdir /Extra/Extensions
+           fi
+           if [ -f /Extra/devprop.bin ]; then
+              xnu_devprop_load /Extra/devprop.bin
+           fi
+           if [ -f /Extra/splash.jpg ]; then
+              insmod jpeg
+              xnu_splash /Extra/splash.jpg
+           fi
+           if [ -f /Extra/splash.png ]; then
+              insmod png
+              xnu_splash /Extra/splash.png
+           fi
+           if [ -f /Extra/splash.tga ]; then
+              insmod tga
+              xnu_splash /Extra/splash.tga
+           fi
+        fi
+}
+EOF
+}
+
 for OS in ${OSPROBED} ; do
   DEVICE="`echo ${OS} | cut -d ':' -f 1`"
   LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
@@ -110,53 +160,8 @@ EOF
     ;;
     macosx)
       OSXUUID="`grub-probe --target=fs_uuid --device ${DEVICE} 2> /dev/null`"
-        cat << EOF
-menuentry "${LONGNAME} (on ${DEVICE})" {
-EOF
-       prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
-       cat << EOF
-        insmod vbe
-        do_resume=0
-        if [ /var/vm/sleepimage -nt10 / ]; then
-           if xnu_resume /var/vm/sleepimage; then
-             do_resume=1
-           fi
-        fi
-        if [ \$do_resume == 0 ]; then
-           xnu_uuid ${OSXUUID} uuid
-           if [ -f /Extra/DSDT.aml ]; then
-              acpi -e /Extra/DSDT.aml
-           fi
-           xnu_kernel /mach_kernel boot-uuid=\${uuid} rd=*uuid
-           if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
-              xnu_mkext /System/Library/Extensions.mkext
-           else
-              xnu_kextdir /System/Library/Extensions
-           fi
-           if [ -f /Extra/Extensions.mkext ]; then
-              xnu_mkext /Extra/Extensions.mkext
-           fi
-           if [ -d /Extra/Extensions ]; then
-              xnu_kextdir /Extra/Extensions
-           fi
-           if [ -f /Extra/devtree.txt ]; then
-              xnu_devtree /Extra/devtree.txt
-           fi
-           if [ -f /Extra/splash.jpg ]; then
-              insmod jpeg
-              xnu_splash /Extra/splash.jpg
-           fi
-           if [ -f /Extra/splash.png ]; then
-              insmod png
-              xnu_splash /Extra/splash.png
-           fi
-           if [ -f /Extra/splash.tga ]; then
-              insmod tga
-              xnu_splash /Extra/splash.tga
-           fi
-        fi
-}
-EOF
+      osx_entry xnu_kernel 32
+      osx_entry xnu_kernel64 64
     ;;
     hurd)
       cat << EOF