summaryrefslogtreecommitdiff
path: root/config/binary_grub/grub.cfg
blob: d3b55ba1849434082415d238603f9f8e892536a3 (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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
echo Loading...
set default=0
set timeout=8

set boot_en='boot=live config utc=yes locales=en_US.UTF-8'
set boot_de='boot=live config utc=no timezone=Europe/Berlin locales=de_DE.UTF-8,en_US.UTF-8 keyboard-layouts=de keyboard-variants=nodeadkeys'
set search_file='kanotix*.iso'
set isofile=''

if loadfont /boot/grub/unicode.pf2 ; then
  set gfxmode=800x600
  if [ $efi != 1 ] ; then
    insmod vbe
    insmod vga
  else
    insmod efi_gop
    insmod efi_uga
  fi
  insmod video_bochs
  insmod video_cirrus
  insmod gfxterm
  terminal_output gfxterm
  echo Loading...
fi

insmod png
if background_image /boot/grub/kanotix-logo.png; then
  set color_normal=white/black
  set color_highlight=white/light-blue
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi

insmod part_msdos
insmod btrfs
set persistence=0
if test -e ($root,msdos3) ; then
  if search --label --set persistence --no-floppy persistence ($root,msdos3) ; then
    if test -e (${persistence})/grub.cmdline ; then
      source (${persistence})/grub.cmdline
      insmod regexp
      set lmp=live
      regexp --set=lmp 'live-media-path=\([^ ]*\)' "${persistence_cmdline}"
      if test -d /$lmp ; then
        menuentry 'Start Kanotix (persistent)' {
    	echo    'Loading Linux ...'
    	linux   /$lmp/vmlinuz ${persistence_cmdline}
    	echo    'Loading initial ramdisk ...'
    	initrd  /$lmp/initrd.img
        }
      fi
    fi
  fi
fi

#####
menuentry 'Start Kanotix DE' {
        echo    'Loading Linux ...'
        linux   /live/vmlinuz ${boot_de} quiet splash
        echo    'Loading initial ramdisk ...'
        initrd  /live/initrd.img
}

menuentry 'Start Kanotix DE (gfxdetect)' {
        echo    'Loading Linux ...'
        linux   /live/vmlinuz ${boot_de} quiet gfx=auto
        echo    'Loading initial ramdisk ...'
        initrd  /live/initrd.img
}

menuentry 'Start Kanotix EN' {
        echo    'Loading Linux ...'
        linux   /live/vmlinuz ${boot_en} quiet splash
        echo    'Loading initial ramdisk ...'
        initrd  /live/initrd.img
}

menuentry 'Start Kanotix EN (gfxdetect)' {
        echo    'Loading Linux ...'
        linux   /live/vmlinuz ${boot_en} quiet gfx=auto
        echo    'Loading initial ramdisk ...'
        initrd  /live/initrd.img
} 

menuentry 'Start Kanotix DE (failsafe)' {
        echo    'Loading Linux ...'
        linux   /live/vmlinuz ${boot_de} quiet splash noapic noapm nodma nomce nolapic nomodeset nosmp vga=normal
        echo    'Loading initial ramdisk ...'
        initrd  /live/initrd.img
}


menuentry 'Start Kanotix EN (failsafe)' {
        echo    'Loading Linux ...'
        linux   /live/vmlinuz ${boot_en} quiet splash noapic noapm nodma nomce nolapic nomodeset nosmp vga=normal
        echo    'Loading initial ramdisk ...'
        initrd  /live/initrd.img
}

insmod regexp

menuentry "Suche Kanotix DE ISO" {
for isofile in (*)/*/ISO/$search_file (*)/ISO/$search_file (*)/*/Downloads/$search_file (*)/Downloads/$search_file (*)/$search_file; do
    if [ -e "$isofile" ]; then
	regexp --set=device '(\(.*\))' "$isofile"
	regexp --set=image '\(.*\)/(.*)' "$isofile"
	menuentry "Boot $isofile" "$device" "$image" {
	    set root="$2"
	    set image="$3"
	    loopback iso /$image
	    linux (iso)/live/vmlinuz findiso=$image $boot_de quiet gfx=auto
	    initrd (iso)/live/initrd.img
	}
    fi
done
}

menuentry "Search Kanotix EN ISO" {
for isofile in (*)/*/ISO/$search_file (*)/ISO/$search_file (*)/*/Downloads/$search_file (*)/Downloads/$search_file (*)/$search_file; do
    if [ -e "$isofile" ]; then
	regexp --set=device '(\(.*\))' "$isofile"
	regexp --set=image '\(.*\)/(.*)' "$isofile"
	menuentry "Boot $isofile" "$device" "$image" {
	    set root="$2"
	    set image="$3"
	    loopback iso /$image
	    linux (iso)/live/vmlinuz findiso=$image $boot_en quiet gfx=auto
	    initrd (iso)/live/initrd.img
	}
    fi
done
}

#####

if [ $efi != 1 ] ; then
  menuentry 'Memtest86+' {
        linux16 /live/memtest
  }
else
  if test -f /efi/boot/shellx64.efi ; then
    menuentry 'EFI Shell x64' {
          chainloader /efi/boot/shellx64.efi
    }
  fi
  if test -f /efi/boot/shellia32.efi ; then
    menuentry 'EFI Shell x86' {
          chainloader /efi/boot/shellia32.efi
    }
  fi
  insmod regexp
  for grub in (*)/EFI/*/grub*.efi; do
  if [ -e "$grub" ]; then
   regexp --set=device '(\(.*\))' "$grub"
   menuentry "Boot GRUB UEFI loader from device $device" "$device" "$grub" {
    set root="$2"
    chainloader "$3"
   }
  fi
 done
  for bootmgfw in (*)/EFI/Microsoft/Boot/bootmgfw.efi; do 
   if [ -e "$bootmgfw" ]; then
    regexp --set=device '(\(.*\))' "$bootmgfw"
    menuentry "Boot Windows UEFI from device $device" "$device" "$bootmgfw" {
     root="$2"
     chainloader "$3" 
    }
   fi
  done
  for gummiboot in (*)/EFI/gummiboot/gummiboot*.efi; do
  if [ -e "$gummiboot" ]; then
   regexp --set=device '(\(.*\))' "$gummiboot"
   menuentry "Boot Gummiboot UEFI loader from device $device" "$device" "$gummiboot" {
    set root="$2"
    chainloader "$3"
   }
  fi
 done
fi