--- osdetect.cfg 2013-09-21 21:02:39.000000000 +0200 +++ /storage/repo/x86_64/slint-testing/source/grub-git/src/grub-2.04rc1/docs/osdetect.cfg 2019-04-09 02:04:54.000000000 +0200 @@ -1,9 +1,6 @@ # Sample GRUB script to autodetect operating systems # # Copyright (C) 2010 Free Software Foundation, Inc. -# Copyright (C) 2011, 2012 Jordan Uggla -# Copyright (C) 2011, 2012 Adrian Gibanel -# Copyright (C) 2013 Niall Walsh # # GRUB is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,8 +15,6 @@ # You should have received a copy of the GNU General Public License # along with GRUB. If not, see . -source "${prefix}/tools.cfg" - set saved_root=$root function freebsd_ufs_variants { @@ -27,73 +22,67 @@ set fstype=$2 set uuid=$3 - menuentry "FreeBSD ($fstype $device)" $device $uuid { + menuentry "FreeBSD (on $fstype $device)" $device $uuid { set root=$2 set uuid=$3 - kfreebsd /boot/kernel/kernel - set kFreeBSD.acpi_load=YES - set kFreeBSD.hint.acpi.0.disabled=0 - set kFreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid - kfreebsd_loadenv /boot/device.hints + freebsd /boot/kernel/kernel + set FreeBSD.acpi_load=YES + set FreeBSD.hint.acpi.0.disabled=0 + set FreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid + frebsd_loadenv /boot/device.hints } - menuentry "FreeBSD ($fstype $device) (single)" $device $uuid { + menuentry "FreeBSD (on $fstype $device) (single)" $device $uuid { set root=$2 set uuid=$3 - kfreebsd /boot/kernel/kernel -s - set kFreeBSD.acpi_load=YES - set kFreeBSD.hint.acpi.0.disabled=0 - set kFreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid - kfreebsd_loadenv /boot/device.hints + freebsd /boot/kernel/kernel --single + set FreeBSD.acpi_load=YES + set FreeBSD.hint.acpi.0.disabled=0 + set FreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid + frebsd_loadenv /boot/device.hints } - menuentry "FreeBSD ($fstype $device) (verbose)" $device $uuid { + menuentry "FreeBSD (on $fstype $device) (verbose)" $device $uuid { set root=$2 set uuid=$3 - kfreebsd /boot/kernel/kernel -v - set kFreeBSD.acpi_load=YES - set kFreeBSD.hint.acpi.0.disabled=0 - set kFreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid - kfreebsd_loadenv /boot/device.hints + freebsd /boot/kernel/kernel --verbose + set FreeBSD.acpi_load=YES + set FreeBSD.hint.acpi.0.disabled=0 + set FreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid + frebsd_loadenv /boot/device.hints } - menuentry "FreeBSD ($fstype $device) (no ACPI)" $device $uuid { + menuentry "FreeBSD (on $fstype $device) (without ACPI)" $device $uuid { set root=$2 set uuid=$3 - kfreebsd /boot/kernel/kernel -v - unset kFreeBSD.acpi_load - set kFreeBSD.hint.acpi.0.disabled=1 - set kFreeBSD.loader.acpi_disabled_by_user=1 - set kFreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid - kfreebsd_loadenv /boot/device.hints + freebsd /boot/kernel/kernel --verbose + unset FreeBSD.acpi_load + set FreeBSD.hint.acpi.0.disabled=1 + set FreeBSD.loader.acpi_disabled_by_user=1 + set FreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid + frebsd_loadenv /boot/device.hints } - menuentry "FreeBSD ($fstype $device) (safe mode)" $device $uuid { + menuentry "FreeBSD (on $fstype $device) (safe mode)" $device $uuid { set root=$2 set uuid=$3 - kfreebsd /boot/kernel/kernel -v - unset kFreeBSD.acpi_load - set kFreeBSD.hint.acpi.0.disabled=1 - set kFreeBSD.loader.acpi_disabled_by_user=1 - set kFreeBSD.hint.apic.0.disabled=1 - set kFreeBSD.hw.ata.ata_dma=0 - set kFreeBSD.hw.ata.atapi_dma=0 - set kFreeBSD.hw.ata.wc=0 - set kFreeBSD.hw.eisa_slots=0 - set kFreeBSD.hint.kbdmux.0.disabled=1 - set kFreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid - kfreebsd_loadenv /boot/device.hints - } - - menuentry "FreeBSD ($fstype $device) (Default boot loader)" $device $uuid { - set root=$2 - - kfreebsd /boot/loader + freebsd /boot/kernel/kernel --verbose + unset FreeBSD.acpi_load + set FreeBSD.hint.acpi.0.disabled=1 + set FreeBSD.loader.acpi_disabled_by_user=1 + set FreeBSD.hint.apic.0.disabled=1 + set FreeBSD.hw.ata.ata_dma=0 + set FreeBSD.hw.ata.atapi_dma=0 + set FreeBSD.hw.ata.wc=0 + set FreeBSD.hw.eisa_slots=0 + set FreeBSD.hint.kbdmux.0.disabled=1 + set FreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid + frebsd_loadenv /boot/device.hints } } @@ -101,289 +90,241 @@ set device=$1 set fstype=zfs - menuentry "FreeBSD ($fstype $device)" $device { + menuentry "FreeBSD (on $fstype $device)" $device { set root=$2 - kfreebsd /@/boot/kernel/kernel - set kFreeBSD.acpi_load=YES - set kFreeBSD.hint.acpi.0.disabled=0 - kfreebsd_module_elf /@/boot/kernel/opensolaris.ko - kfreebsd_module_elf /@/boot/kernel/zfs.ko - kfreebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache + freebsd /@/boot/kernel/kernel + set FreeBSD.acpi_load=YES + set FreeBSD.hint.acpi.0.disabled=0 + freebsd_module_elf /@/boot/kernel/opensolaris.ko + freebsd_module_elf /@/boot/kernel/zfs.ko + freebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache probe -l -s name $root - set kFreeBSD.vfs.root.mountfrom=zfs:$name - kfreebsd_loadenv /@/boot/device.hints + set FreeBSD.vfs.root.mountfrom=zfs:$name + freebsd_loadenv /@/boot/device.hints } - menuentry "FreeBSD ($fstype $device) (single)" $device { + menuentry "FreeBSD (on $fstype $device) (single)" $device { set root=$2 - kfreebsd /@/boot/kernel/kernel -s - set kFreeBSD.acpi_load=YES - set kFreeBSD.hint.acpi.0.disabled=0 - kfreebsd_module_elf /@/boot/kernel/opensolaris.ko - kfreebsd_module_elf /@/boot/kernel/zfs.ko - kfreebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache + freebsd /@/boot/kernel/kernel --single + set FreeBSD.acpi_load=YES + set FreeBSD.hint.acpi.0.disabled=0 + freebsd_module_elf /@/boot/kernel/opensolaris.ko + freebsd_module_elf /@/boot/kernel/zfs.ko + freebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache probe -l -s name $root - set kFreeBSD.vfs.root.mountfrom=zfs:$name - kfreebsd_loadenv /@/boot/device.hints + set FreeBSD.vfs.root.mountfrom=zfs:$name + freebsd_loadenv /@/boot/device.hints } - menuentry "FreeBSD ($fstype $device) (verbose)" $device { + menuentry "FreeBSD (on $fstype $device) (verbose)" $device { set root=$2 - kfreebsd /@/boot/kernel/kernel -v - set kFreeBSD.acpi_load=YES - set kFreeBSD.hint.acpi.0.disabled=0 - kfreebsd_module_elf /@/boot/kernel/opensolaris.ko - kfreebsd_module_elf /@/boot/kernel/zfs.ko - kfreebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache + freebsd /@/boot/kernel/kernel --verbose + set FreeBSD.acpi_load=YES + set FreeBSD.hint.acpi.0.disabled=0 + freebsd_module_elf /@/boot/kernel/opensolaris.ko + freebsd_module_elf /@/boot/kernel/zfs.ko + freebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache probe -l -s name $root - set kFreeBSD.vfs.root.mountfrom=zfs:$name - kfreebsd_loadenv /@/boot/device.hints + set FreeBSD.vfs.root.mountfrom=zfs:$name + freebsd_loadenv /@/boot/device.hints } - menuentry "FreeBSD ($fstype $device) (no ACPI)" $device { + menuentry "FreeBSD (on $fstype $device) (without ACPI)" $device { set root=$2 - kfreebsd /@/boot/kernel/kernel -v - unset kFreeBSD.acpi_load - set kFreeBSD.hint.acpi.0.disabled=1 - set kFreeBSD.loader.acpi_disabled_by_user=1 - kfreebsd_module_elf /@/boot/kernel/opensolaris.ko - kfreebsd_module_elf /@/boot/kernel/zfs.ko - kfreebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache + freebsd /@/boot/kernel/kernel --verbose + unset FreeBSD.acpi_load + set FreeBSD.hint.acpi.0.disabled=1 + set FreeBSD.loader.acpi_disabled_by_user=1 + freebsd_module_elf /@/boot/kernel/opensolaris.ko + freebsd_module_elf /@/boot/kernel/zfs.ko + freebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache probe -l -s name $root - set kFreeBSD.vfs.root.mountfrom=zfs:$name - kfreebsd_loadenv /@/boot/device.hints + set FreeBSD.vfs.root.mountfrom=zfs:$name + freebsd_loadenv /@/boot/device.hints } - menuentry "FreeBSD ($fstype $device) (safe mode)" $device { + menuentry "FreeBSD (on $fstype $device) (safe mode)" $device { set root=$2 - kfreebsd /@/boot/kernel/kernel -v - unset kFreeBSD.acpi_load - set kFreeBSD.hint.acpi.0.disabled=1 - set kFreeBSD.loader.acpi_disabled_by_user=1 - set kFreeBSD.hint.apic.0.disabled=1 - set kFreeBSD.hw.ata.ata_dma=0 - set kFreeBSD.hw.ata.atapi_dma=0 - set kFreeBSD.hw.ata.wc=0 - set kFreeBSD.hw.eisa_slots=0 - set kFreeBSD.hint.kbdmux.0.disabled=1 - kfreebsd_module_elf /@/boot/kernel/opensolaris.ko - kfreebsd_module_elf /@/boot/kernel/zfs.ko - kfreebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache + freebsd /@/boot/kernel/kernel --verbose + unset FreeBSD.acpi_load + set FreeBSD.hint.acpi.0.disabled=1 + set FreeBSD.loader.acpi_disabled_by_user=1 + set FreeBSD.hint.apic.0.disabled=1 + set FreeBSD.hw.ata.ata_dma=0 + set FreeBSD.hw.ata.atapi_dma=0 + set FreeBSD.hw.ata.wc=0 + set FreeBSD.hw.eisa_slots=0 + set FreeBSD.hint.kbdmux.0.disabled=1 + freebsd_module_elf /@/boot/kernel/opensolaris.ko + freebsd_module_elf /@/boot/kernel/zfs.ko + freebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache probe -l -s name $root - set kFreeBSD.vfs.root.mountfrom=zfs:$name - kfreebsd_loadenv /@/boot/device.hints - } - - menuentry "FreeBSD ($fstype $device) (Default boot loader)" $device $uuid { - set root=$2 - - kfreebsd /@/boot/loader + set FreeBSD.vfs.root.mountfrom=zfs:$name + freebsd_loadenv /@/boot/device.hints } - -} - -function get_efis { - blockdev="$1" - blockfs="$2" - efis="" - if [ "$blockfs" = "fat" ]; then - for efi in ($blockdev)/efi/*/*.efi ($blockdev)/efi/*/*/*.efi \ - ($blockdev)/*.efi ($blockdev)/*/*.efi ; do - if [ -f "$efi" ] ; then - efis="$efis $efi" - fi - done - if [ -n "$efis" ]; then - return 0 - fi - fi - return 1 } insmod regexp - - for dev in (*); do # $device: parenthesis removed from $dev regexp -s device '\((.*)\)' $dev - # Discard floppy and cdrom devices in search - # But search them if their search has been inforced - - if searchindevice "$device" ; then - - - # $fstype: filesystem type identified - probe -s fstype -f $dev - # uuid: filesystem UUID - probe -s uuid -u $dev - - if test -f ($device)/bootmgr -a -f ($device)/boot/bcd; then - menuentry "Windows Vista ($device)" $device { - set root=$2 - chainloader +1 - } - elif test -f ($device)/ntldr -a \ - -e ($device)/ntdetect.com -a -f ($device)/boot.ini; then - menuentry "Windows NT/2000/XP ($device)" $device { - set root=$2 - regexp -s devnum 'hd([0-9]+)' $root - if test "$devnum" != "0"; then - drivemap -s hd0 $root + # $fstype: filesystem type identified + probe -s fstype -f $dev + # uuid: filesystem UUID + probe -s uuid -u $dev + + if test -f ($device)/isolinux/isolinux.cfg ; then + menuentry "ISOLINUX config (on $device)" $device { + set root=$2 + syslinux_configfile -i /isolinux/isolinux.cfg + } + fi + if test -f ($device)/bootmgr -a -f ($device)/boot/bcd; then + menuentry "Windows Vista bootmgr (on $device)" $device { + set root=$2 + chainloader +1 + } + elif test -f ($device)/ntldr -a \ + -e ($device)/ntdetect.com -a -f ($device)/boot.ini; then + menuentry "Windows NT/2000/XP loader (on $device)" $device { + set root=$2 + regexp -s devnum 'hd([0-9]+)' $root + if test "$devnum" != "0"; then + drivemap -s hd0 $root + fi + chainloader +1 + } + elif test -f ($device)/windows/win.com; then + menuentry "Windows 98/ME (on $device)" $device { + set root=$2 + regexp -s devnum 'hd([0-9]+)' $root + if test "$devnum" != "0"; then + drivemap -s hd0 $root + fi + chainloader +1 + } + elif test -f ($device)/io.sys -a -f ($device)/command.com; then + menuentry "MS-DOS (on $device)" $device { + set root=$2 + regexp -s devnum 'hd([0-9]+)' $root + if test "$devnum" != "0"; then + drivemap -s hd0 $root + fi + chainloader +1 + } + elif test -f ($device)/kernel.sys; then + menuentry "FreeDOS (on $device)" $device { + set root=$2 + regexp -s type '([fh])d[0-9]+' $root + regexp -s devnum '[fh]d([0-9]+)' $root + if test $type = 'h' -a "$devnum" != "0"; then + drivemap -s hd0 $root + fi + chainloader +1 + } + elif test "$fstype" = ufs1 -o "$fstype" = ufs2 -a \ + -e ($device)/boot/kernel/kernel -a \ + -e ($device)/boot/device.hints; then + + freebsd_ufs_variants $device $fstype $uuid + + elif test "$fstype" = zfs -a \ + -e ($device)/@/boot/kernel/kernel -a \ + -e ($device)/@/boot/device.hints; then + + freebsd_zfs_variants $device + + elif test "$fstype" = hfsplus -a -f ($device)/mach_kernel; then + menuentry "Mac OS X/Darwin" $device $uuid { + set root=$2 + set uuid=$3 + + insmod vbe + do_resume=0 + if [ /var/vm/sleepimage -nt10 / ]; then + if xnu_resume /var/vm/sleepimage; then + do_resume=1 fi - chainloader +1 - } - elif test -f ($device)/windows/win.com; then - menuentry "Windows 98/ME ($device)" $device { - set root=$2 - regexp -s devnum 'hd([0-9]+)' $root - if test "$devnum" != "0"; then - drivemap -s hd0 $root + fi + if [ $do_resume = 1 ]; then + xnu_uuid $uuid uuid + if [ -f /Extra/DSDT.aml ]; then + acpi -e /Extra/DSDT.aml fi - chainloader +1 - } - elif test -f ($device)/io.sys -a -f ($device)/command.com; then - menuentry "MS-DOS ($device)" $device { - set root=$2 - regexp -s devnum 'hd([0-9]+)' $root - if test "$devnum" != "0"; then - drivemap -s hd0 $root + 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_mkext /System/Library/Extensions fi - chainloader +1 - } - elif test -f ($device)/kernel.sys; then - menuentry "FreeDOS ($device)" $device { - set root=$2 - regexp -s type '([fh])d[0-9]+' $root - regexp -s devnum '[fh]d([0-9]+)' $root - if test $type = 'h' -a "$devnum" != "0"; then - drivemap -s hd0 $root + if [ -f /Extra/Extensions.mkext ]; then + xnu_mkext /Extra/Extensions.mkext fi - chainloader +1 - } - elif test "$fstype" = ufs1 -o "$fstype" = ufs2 -a \ - -e ($device)/boot/kernel/kernel -a \ - -e ($device)/boot/device.hints; then - - freebsd_ufs_variants $device $fstype $uuid - - elif test "$fstype" = zfs -a \ - -e ($device)/@/boot/kernel/kernel -a \ - -e ($device)/@/boot/device.hints; then - - freebsd_zfs_variants $device - - elif test "$fstype" = hfsplus -a -f ($device)/mach_kernel; then - menuentry "Mac OS X/Darwin" $device $uuid { - set root=$2 - set uuid=$3 - - insmod vbe - do_resume=0 - if [ /var/vm/sleepimage -nt10 / ]; then - if xnu_resume /var/vm/sleepimage; then - do_resume=1 - fi + if [ -d /Extra/Extensions ]; then + xnu_kextdir /Extra/Extensions fi - if [ $do_resume = 1 ]; then - xnu_uuid $uuid 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_mkext /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 + 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 - } - elif get_efis $device $fstype; then - for efi in $efis; do - menuentry "$efi" "$device" { - efi_device="$2" - efi="$1" - if [ "$grub_platform" = "efi" ]; then - root="$efi_device" - chainloader "$efi" - else - echo $"Sorry, but we are booted via BIOS and can not load this OS." - echo $"Please try booting SG2D via UEFI." - echo $"Press escape to return to the menu" - sleep --interruptible 9999 - fi - } - done - else - set root=$device - for file in /boot/vmlinuz-* /boot/linux-*; do - if test -f $file; then - regexp -s version '/boot/vmlinuz-(.*)' $file - regexp -s version '/boot/linux-(.*)' $file - - menuentry "Linux $file" $device $uuid $file $version { - set root=$2 - set uuid=$3 - set kernel=$4 - set version=$5 - - linux $kernel root=UUID=$uuid ro - if test -f /boot/initrd-$version.img; then - initrd /boot/initrd-$version.img - elif test -f /boot/initrd.img-$version; then - initrd /boot/initrd.img-$version - elif test -f /boot/initrd-$version; then - initrd /boot/initrd-$version - elif test -f /boot/initrd.gz; then - initrd /boot/initrd.gz - fi - } - - menuentry "Linux $file (single)" $device $uuid $file $version { - set root=$2 - set uuid=$3 - set kernel=$4 - set version=$5 - - linux $kernel root=UUID=$uuid ro single - if test -f /boot/initrd-$version.img; then - initrd /boot/initrd-$version.img - elif test -f /boot/initrd.img-$version; then - initrd /boot/initrd.img-$version - elif test -f /boot/initrd-$version; then - initrd /boot/initrd-$version - elif test -f /boot/initrd.gz; then - initrd /boot/initrd.gz - fi - } + if [ -f /Extra/splash.png ]; then + insmod png + xnu_splash /Extra/splash.png fi - done - fi + if [ -f /Extra/splash.tga ]; then + insmod tga + xnu_splash /Extra/splash.tga + fi + fi + } + else + set root=$device + for file in /boot/vmlinuz-* /boot/linux-*; do + if test -f $file; then + regexp -s version '/boot/vmlinuz-(.*)' $file + regexp -s version '/boot/linux-(.*)' $file + + menuentry "Linux $file" $device $uuid $file $version { + set root=$2 + set uuid=$3 + set kernel=$4 + set version=$5 + + linux $kernel root=UUID=$uuid ro + if test -f /boot/initrd-$version.img; then + initrd /boot/initrd-$version.img + elif test -f /boot/initrd.img-$version; then + initrd /boot/initrd.img-$version + elif test -f /boot/initrd-$version; then + initrd /boot/initrd-$version + fi + } + + menuentry "Linux $file (single)" $device $uuid $file $version { + set root=$2 + set uuid=$3 + set kernel=$4 + set version=$5 + + linux $kernel root=UUID=$uuid ro single + if test -f /boot/initrd-$version.img; then + initrd /boot/initrd-$version.img + elif test -f /boot/initrd.img-$version; then + initrd /boot/initrd.img-$version + elif test -f /boot/initrd-$version; then + initrd /boot/initrd-$version + fi + } + fi + done fi done