summaryrefslogtreecommitdiffstats
path: root/resources/grub/config/menuentries/common.cfg
blob: f107a6d8c7450a9f368fa7e5523a7d4bc9f9260b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
menuentry 'Load Operating System' {
	insmod ahci
	insmod part_msdos
	insmod part_gpt
	for x in (ahci0,1) (ahci0,2) (ahci0,3) (ahci0,4); do
		if [ -f "$x/grub/libreboot_grub.cfg" ] ; then
			set root=$x
			configfile /grub/libreboot_grub.cfg
		fi
		if [ -f "$x/boot/grub/libreboot_grub.cfg" ] ; then
			set root=$x
			configfile /boot/grub/libreboot_grub.cfg
		fi
	done

	set root='ahci0,1'
	linux  /vmlinuz root=/dev/sda1 rw
	if [ -f "/initrd.img" ] ; then
		initrd /initrd.img
	fi
}
menuentry 'Parse ISOLINUX menu (ahci0)' {
	insmod ahci
	insmod part_msdos
	insmod part_gpt
	for x in (ahci0,1) (ahci0,2) (ahci0,3) (ahci0,4); do
		set root=$x
		if [ -f "/isolinux/isolinux.cfg" ] ; then
			syslinux_configfile -i /isolinux/isolinux.cfg
		elif [ -f "/syslinux/syslinux.cfg" ] ; then
			syslinux_configfile -i /syslinux/syslinux.cfg
		elif [ -f "/boot/isolinux/isolinux.cfg" ] ; then
			syslinux_configfile -i /boot/isolinux/isolinux.cfg
		elif [ -f "/boot/syslinux/syslinux.cfg" ] ; then
			syslinux_configfile -i /boot/syslinux/syslinux.cfg
		elif [ -f "/menu.cfg" ] ; then
			syslinux_configfile -i /menu.cfg
		elif [ -f "/txt.cfg" ] ; then
			syslinux_configfile -i /txt.cfg
		fi
	done
}
menuentry 'Parse ISOLINUX menu (USB)' {
	insmod usbms
	insmod part_msdos
	insmod part_gpt
	for x in (usb0) (usb0,1) (usb0,2) (usb0,3) (usb0,4); do
		set root=$x
		if [ -f "/isolinux/isolinux.cfg" ] ; then
			syslinux_configfile -i /isolinux/isolinux.cfg
		elif [ -f "/syslinux/syslinux.cfg" ] ; then
			syslinux_configfile -i /syslinux/syslinux.cfg
		elif [ -f "/boot/isolinux/isolinux.cfg" ] ; then
			syslinux_configfile -i /boot/isolinux/isolinux.cfg
		elif [ -f "/boot/syslinux/syslinux.cfg" ] ; then
			syslinux_configfile -i /boot/syslinux/syslinux.cfg
		elif [ -f "/menu.cfg" ] ; then
			syslinux_configfile -i /menu.cfg
		elif [ -f "/txt.cfg" ] ; then
			syslinux_configfile -i /txt.cfg
		fi
	done
}
menuentry 'Parse ISOLINUX menu (CD/DVD)' {
	insmod ahci
	insmod ata
	insmod iso9660
	for x in (ata0) (ahci1); do
		set root=$x
		if [ -f "/isolinux/isolinux.cfg" ] ; then
			syslinux_configfile -i /isolinux/isolinux.cfg
		elif [ -f "/syslinux/syslinux.cfg" ] ; then
			syslinux_configfile -i /syslinux/syslinux.cfg
		elif [ -f "/boot/isolinux/isolinux.cfg" ] ; then
			syslinux_configfile -i /boot/isolinux/isolinux.cfg
		elif [ -f "/boot/syslinux/syslinux.cfg" ] ; then
			syslinux_configfile -i /boot/syslinux/syslinux.cfg
		elif [ -f "/menu.cfg" ] ; then
			syslinux_configfile -i /menu.cfg
		elif [ -f "/txt.cfg" ] ; then
			syslinux_configfile -i /txt.cfg
		fi
	done
}
menuentry 'Switch to grubtest.cfg' {
	set root='cbfsdisk'
	configfile (cbfsdisk)/grubtest.cfg
}
menuentry 'Search for GRUB configuration (grub.cfg) outside of CBFS' {
	insmod ahci
	insmod usbms
	insmod part_msdos
	insmod part_gpt
	for x in (ahci0,1) (ahci0,2) (ahci0,3) (ahci0,4) (usb0) (usb0,1) (usb0,2) (usb0,3) (usb0,4); do
		if [ -f "$x/grub/grub.cfg" ] ; then
			submenu "Load Config from $x" $x { 
				root=$2
				source /grub/grub.cfg
				unset superusers
			}
		fi
		if [ -f "$x/boot/grub/grub.cfg" ] ; then
			submenu "Load Config from $x" $x {
				root=$2
				source /boot/grub/grub.cfg
				unset superusers
			}
		fi
	done
}