summaryrefslogtreecommitdiffstats
path: root/resources/grub/config/menuentries/common.cfg
blob: e5633719b0143ba7629f211d7e4d85551b38ad45 (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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
		if [ -f "$x/grub/grub.cfg" ] ; then
			set root=$x
			configfile /grub/grub.cfg
		fi
		if [ -f "$x/boot/grub/grub.cfg" ] ; then
			set root=$x
			configfile /boot/grub/grub.cfg
		fi
	done

	set root='ahci0,1'
	if [ -f "/vmlinuz" ] ; then
		linux  /vmlinuz root=/dev/sda1 rw
		if [ -f "/initrd.img" ] ; then
			initrd /initrd.img
		fi
	elif [ -f "/boot/vmlinuz" ] ; then
		linux  /boot/vmlinuz root=/dev/sda1 rw
		if [ -f "/boot/initrd.img" ] ; then
			initrd /boot/initrd.img
		fi
	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
		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
		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
		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
		if [ -f "$x/grub2/grub.cfg" ] ; then
			submenu "Load Config from $x" $x { 
				root=$2
				source /grub2/grub.cfg
				unset superusers
			}
		fi
		if [ -f "$x/boot/grub2/grub.cfg" ] ; then
			submenu "Load Config from $x" $x {
				root=$2
				source /boot/grub2/grub.cfg
				unset superusers
			}
		fi
	done
}