GRUB2 os-prober resulting script: where to find an explanation?

GRUB2’s os-prober nicely finds OSs (some, no FreeBSD on ufs2) and generates a lengthy grub.cfg. Fine, but I don’t understand that much scripting yet. Excerpts:


if  x$feature_default_font_path = xy ] ; then
  font=unicode
else
  insmod part_msdos
  insmod ext2
  set root='hd0,msdos5'
  if  x$feature_platform_search_hint = xy ]; then
   search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5   --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5'  a13e1c0f-c157-4ee5-a1c3-67a39ebe01d1
  else
   search --no-floppy --fs-uuid --set=root a13e1c0f-c157-4ee5-a1c3-67a39ebe01d1
  fi
   font="/usr/share/grub2/unicode.pf2"
fi

Here, in particular the lengthy if-statement is obscure, I did not find references for many parameters in the GRUB2 documentation.

Same here, where I at least understand that SuSE will be started but the details again are elusive:


menuentry 'openSUSE 12.3 (on /dev/sda5)' --class 'opensuse-12-3' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-a13e1c0f-c157-4ee5-a1c3-67a39ebe01d1'{
    savedefault
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos1'
    if  x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  e8b9e1af-e836-4332-8446-d149a0c68d40
    else
      search --no-floppy --fs-uuid --set=root e8b9e1af-e836-4332-8446-d149a0c68d40
    fi
    echo 'Loading Linux 3.7.10-1.16-desktop ...'
    linux /vmlinuz-3.7.10-1.16-desktop root=UUID=a13e1c0f-c157-4ee5-a1c3-67a39ebe01d1  showopts video=1366x768 resume=/dev/disk/by-id/ata-WDC_WD3200BPVT-22JJ5T0_WD-WXU1CB1S5967-part3 nosplash noquiet
    echo 'Loading initial ramdisk ...'
    initrd     /initrd-3.7.10-1.16-desktop 

Any pointers to a detailed step by step description would be appreciated :smile:.

I’d go for that link first. :wink:

http://www.gnu.org/software/grub/grub-documentation.html

I knew most of the URLs your link refers to, but none of them has the desired information. I still have to dig through the next level(s) of links on the Ubuntu site, that will take some time.

Thanks for your interest in the topic and the link :).