Skip to content

Commit 745a1c7

Browse files
authored
Update README.md
1 parent 6f438a2 commit 745a1c7

File tree

1 file changed

+43
-3
lines changed

1 file changed

+43
-3
lines changed

README.md

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,49 @@
1-
# grub-2.04
1+
# grub-2.04-nokeymod
22
Credit/license/source: Originally obtained from grub-2.04.tar.gz at https://git.savannah.gnu.org/cgit/grub.git
3+
Forked from: https://github.com/coherixmatts/grub-2.04
34

4-
All licenses and credits are theirs. I merely host this to add a small change necessary for Linux efistub booting on Surface RT/2 (maybe other EFI ARM32 devices).
5+
This fork changes the timeout behaviour of GRUB to allow selecting an OS on a Surface RT device using the volume buttons only. The timeout will continue until 0 and then boot the selected OS.
56

6-
Build instructions:
7+
## Requirements
8+
- Download the grub.efi file from the release section or compile it yourself.
9+
- On the EFI partition (or USB drive formatted as FAT32) create the folders EFI\boot
10+
- Place the grub.efi into the EFI\boot folder and rename it to bootarm.efi
11+
- Download and place the file unicode.pf2 in the root of the partition.
12+
- Create a grub.cfg config file and place it at the root of the partition. An example can be found below.
13+
- (Optional:) Place all kernel and device tree files you need to boot linux in the root of the partition
14+
15+
## grub.cfg
16+
Below you can find an example grub.cfg that allows dual booting of Windows and Linux.
17+
It's important to specify a timeout value above 0 if you want this modification to work.
18+
Change the values appropriately. For example if you plan to install GRUB on the device itself, change the root to hd0,x. Also change the root partition of the linux file system accordingly if necessary.
19+
20+
If you install GRUB on the device and plan to dual boot with Windows, you also need to rename the /EFI/Microsoft/Boot/bootmgfw.efi file to something else and then change the name accordingly in the config. Otherwise GRUB will be skipped.
21+
22+
```
23+
insmod font
24+
25+
if loadfont ${prefix}/unicode.pf2
26+
then
27+
insmod gfxterm
28+
set gfxmode=auto
29+
set gfxpayload=keep
30+
terminal_output gfxterm
31+
set timeout=5
32+
menuentry "My Linux Distribution" {
33+
set root=(hd1,2)
34+
linux /zImage root=/dev/mmcblk0p6 cpuidle.off=1 console=ttyS0
35+
devicetree /tegra30-microsoft-surface-rt-efi.dtb
36+
}
37+
menuentry "Windows Bootloader" {
38+
set root=(hd1,2)
39+
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
40+
}
41+
else
42+
reboot
43+
fi
44+
```
45+
46+
## Build instructions:
747

848
0. git clone https://www.github.com/coherixmatts/grub-2.04
949
1. cd into <grub-2.04> directory

0 commit comments

Comments
 (0)