[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
howtos:slackware_admin:linux_kernel_options_for_uefi_and_elilo [2013/12/10 00:50 (UTC)] – created metaschima | howtos:slackware_admin:linux_kernel_options_for_uefi_and_elilo [2021/01/11 07:07 (UTC)] (current) – fix for mmcblk louigi600 | ||
---|---|---|---|
Line 1: | Line 1: | ||
<!-- Add your text below. We strongly advise to start with a Headline (see button bar above). --> | <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). --> | ||
====== Linux kernel options for UEFI and ELILO ====== | ====== Linux kernel options for UEFI and ELILO ====== | ||
- | The purpose of this article is to inform the user about necessary kernel options for booting from UEFI, and some info about how ELILO and perhaps other EFI bootloaders work, as this is currently | + | The purpose of this article is to inform the user about necessary kernel options for booting from UEFI, and some info about how ELILO and perhaps other EFI bootloaders work, as this is currently |
==== Required kernel options for UEFI support ==== | ==== Required kernel options for UEFI support ==== | ||
The following options are required for booting a kernel from UEFI. These are already set in the stock Slackware kernels. | The following options are required for booting a kernel from UEFI. These are already set in the stock Slackware kernels. | ||
- | <note important> | + | <note important> |
- | > **Enable the block layer** | + | * **Enable the block layer** |
- | >> | + | |
- | >>> | + | |
- | >>>> | + | |
- | > **Processor type and features** | + | * **Processor type and features** |
- | >> | + | |
- | >> | + | |
- | >> | + | |
- | > **Device Drivers** | + | * **Device Drivers** |
- | >> | + | |
- | >>> | + | |
- | >>>> | + | |
- | > **File systems** | + | * **File systems** |
- | >> | + | |
- | >>> | + | |
<note important> | <note important> | ||
- | > **Firmware Drivers** | + | * **Firmware Drivers** |
- | >> | + | |
- | >>> | + | |
as it is deprecated in favor of CONFIG_EFIVAR_FS, | as it is deprecated in favor of CONFIG_EFIVAR_FS, | ||
- | However, if you do disable this, you will need a fork of the ' | + | However, if you do disable this, you will need a fork of the '' |
- | https:// | + | |
</ | </ | ||
+ | ==== Using the new EFI variable filesystem ==== | ||
+ | In order to use the new EFI variable filesystem interface, you need to remove the old '' | ||
+ | - Download and install: https:// | ||
+ | - Download and install: https:// | ||
+ | - Run:< | ||
+ | modprobe efivarfs | ||
+ | mount -t efivarfs efivarfs / | ||
+ | efibootmgr | ||
+ | </ | ||
+ | ==== The EFI System Partition (ESP) ==== | ||
+ | In order to boot from UEFI you need to create an EFI System Partition (ESP) using '' | ||
==== UEFI and ELILO ==== | ==== UEFI and ELILO ==== | ||
+ | During the install procedure of Slackware 14.1 or above for ELILO (the '' | ||
- | + | - The EFI System Partition (ESP) is located and mounted. On a running system it is usually found already mounted at ''/ | |
+ | - The three items required by ELILO (and other bootloaders) are copied onto the ESP to ''/ | ||
+ | - The bootloader. In the case of ELILO it is '' | ||
+ | - The config file. In the case of ELILO it is '' | ||
+ | - The kernel, usually titled '' | ||
+ | - A boot entry variable is registered in the UEFI firmware using '' | ||
+ | EFIDISK=$(df | ||
+ | EFI_DEVICE=$(sed ' | ||
+ | EFI_PARTITION=$(sed ' | ||
+ | efibootmgr -q -c -d $EFI_DEVICE -p $EFI_PARTITION -l " | ||
+ | </ | ||
+ | <note important> | ||
+ | ==== Upgrading your kernel ==== | ||
+ | This task is now much easier than it used to be. All you really need to do is copy '' | ||
+ | ==== Updating your UEFI firmware ==== | ||
+ | As all UEFI firmware has a flashing utility built-in, it is now much easier to update the firmware. All you have to do is copy the new firmware onto the ESP and the UEFI firmware should recognize it when you go to the flashing utility menu. However, remember that flashing the firmware can still potentially brick the system, especially if it is interrupted during the flashing process. | ||
+ | <note important> | ||
+ | Updating your UEFI firmware may reset your settings and prevent you from booting unless you plan ahead. | ||
+ | </ | ||
+ | ==== My UEFI settings were reset and I can't boot, or planning ahead to avoid surprises ==== | ||
+ | This can happen either after updating the UEFI firmware or after replacing the CMOS battery. There are three main ways to fix it: | ||
+ | - Probably the easiest and most convenient way is to use the default boot location. Note that some UEFI firmwares do NOT support the default boot location, so this will not work. However, if it does, you won't have to worry about the system not booting again. To do this you can boot into the Slackware install DVD, mount the ESP and copy the files to the following places: | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - You can boot into the Slackware install DVD, run through the menus, and reinstall elilo. | ||
+ | - You can download and install one of the following EFI shells to the root directory of your ESP (that is ''/'' | ||
+ | - [[https:// | ||
+ | - [[http:// | ||
+ | - Boot into the shell and run: < | ||
+ | ==== External Links ==== | ||
+ | [[http:// | ||
====== Sources ====== | ====== Sources ====== | ||
+ | * Original author: [[wiki: | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
+ | * '' | ||
<!-- If you are copying information from another source, then specify that source --> | <!-- If you are copying information from another source, then specify that source --> | ||
<!-- * Original source: [[http:// | <!-- * Original source: [[http:// | ||
Line 50: | Line 92: | ||
<!-- Please do not modify anything below, except adding new tags.--> | <!-- Please do not modify anything below, except adding new tags.--> | ||
<!-- You must remove the tag-word " | <!-- You must remove the tag-word " | ||
- | {{tag> | + | {{tag> |