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
|
EFISTUB [0]
________________________________________________________________________________
The Linux kernel has the ability to act as an EFI executable which simplifies
the boot process by removing the need for a bootloader.
Prerequisites
________________________________________________________________________________
Begin by first verifying that you have efibootmgr installed:
+------------------------------------------------------------------------------+
| |
| $ kiss b efibootmgr && kiss i efibootmgr |
| |
+------------------------------------------------------------------------------+
The kernel must be configured to support acting as an EFISTUB.
+------------------------------------------------------------------------------+
| |
| CONFIG_EFI_STUB=y |
| |
+------------------------------------------------------------------------------+
The UEFI variables must be mounted.
See: @/efivarfs
+------------------------------------------------------------------------------+
| |
| TIP: Keep your kernel's name as 'vmlinuz' to avoid having to update the |
| EFI entries with each kernel update. |
| |
+------------------------------------------------------------------------------+
Create an UEFI boot entry
________________________________________________________________________________
Use the following command to create a boot entry. Replace /dev/sdXN with your
EFI system partition and /dev/sdYM with your root partition. Check to see that
the entry was added with 'efibootmgr --verbose'.
+------------------------------------------------------------------------------+
| |
| $ efibootmgr \ |
| --create \ |
| --disk /dev/sdX \ |
| --part N \ |
| --label KISS \ |
| --loader /vmlinuz \ |
| --unicode 'root=/dev/sdYM' \ |
| --verbose |
| |
+------------------------------------------------------------------------------+
The root partition can also be referred to by its partition UUID which can be
found using blkid.
+------------------------------------------------------------------------------+
| |
| --unicode 'root=PARTUUID=aaaaaaaa-aaaa-4aaa-aaa-aaaaaaaaaaaa' |
| |
+------------------------------------------------------------------------------+
The above command, the --unicode option specifies the parameters passed to the
kernel. If you require other parameters to boot your system, pass them here.
Removing a UEFI boot entry
________________________________________________________________________________
To remove an entry, find your entry's boot number using 'efibootmgr --verbose'
and run the following command.
+------------------------------------------------------------------------------+
| |
| $ efibootmgr --bootnum XXXX --delete-bootnum |
| |
+------------------------------------------------------------------------------+
References
________________________________________________________________________________
[0] https://www.kernel.org/doc/Documentation/efi-stub.txt
|