[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.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howtos:slackware_admin:set_up_syslinux_as_boot_loader_on_uefi_based_hardware [2016/08/17 10:20 (UTC)] – typo tonberryhowtos:slackware_admin:set_up_syslinux_as_boot_loader_on_uefi_based_hardware [2016/08/18 23:53 (UTC)] (current) – typo tonberry
Line 15: Line 15:
  
 ===== Why UEFI ===== ===== Why UEFI =====
-It is not as though there is some choice; machines nowadays //are// UEFI. One can, however, chose to set UEFI to so called "CSM" or sometimes "Legacy" mode. In this mode, UEFI acts as BIOS, i.e. reads the first sector (MBR) of a hard drive and loads and executes non-UEFI boot loader such as LILO from there. As opposed to UEFI in, say, UEFI mode, when it reads, loads and executes UEFI-aware boot loader from //EFI boot partition//.+It is not as though there is some choice; machines nowadays //are// UEFI. One can, however, choose to set UEFI to so called "CSM" or sometimes "Legacy" mode. In this mode, UEFI acts as BIOS, i.e. reads the first sector (MBR) of a hard drive and loads and executes non-UEFI boot loader such as LILO from there. As opposed to UEFI in, say, UEFI mode, when it reads, loads and executes UEFI-aware boot loader from //EFI boot partition//.
  
 Frankly, there are no compelling reasons not to use CSM (note that it is possible to use [[http://docs.slackware.com/howtos:slackware_admin:installing_with_gpt_without_uefi | GPT partitions without UEFI]]). On the contrary, there are reasons to avoid UEFI booting, because: Frankly, there are no compelling reasons not to use CSM (note that it is possible to use [[http://docs.slackware.com/howtos:slackware_admin:installing_with_gpt_without_uefi | GPT partitions without UEFI]]). On the contrary, there are reasons to avoid UEFI booting, because:
Line 32: Line 32:
 But before you begin: But before you begin:
   * back up your data, if you have anything of value on any of drives in the machine   * back up your data, if you have anything of value on any of drives in the machine
-  * boot to UEFI setup ("BIOS") and verify that boot method is set to "UEFI" not "CMS" or "Legacy" +  * boot to UEFI setup ("BIOS") and verify that boot method is set to "UEFI"not "CMS" or "Legacy" 
-  * and also that Secure Boot is turned off (installation is probably feasible with secure boot on too, but at cost of needless hassle) +  * and also that Secure Boot is turned off
  
 ==== Create EFI Boot Partition ==== ==== Create EFI Boot Partition ====
Line 160: Line 159:
       * ''LINUX vmlinuz-huge-4.4.14'' tells the boot loader to boot kernel vmlinuz-4.4.14 from the same directory (i.e. EFI\SYSLINUX\vmlinuz-4.4.14)       * ''LINUX vmlinuz-huge-4.4.14'' tells the boot loader to boot kernel vmlinuz-4.4.14 from the same directory (i.e. EFI\SYSLINUX\vmlinuz-4.4.14)
       * ''APPEND /dev/vgroot/V_ROOT 4'' is kernel command line telling the kernel to mount /dev/vgroot/V_ROOT as / (root). Obviously that is a logical volume in this case, but it could be e.g. plain /dev/sda2. The second argument, '4', will be in fact passed by kernel to init, which will start to runlevel 4 instead of default 3 (as per /etc/inittab), i.e. will start to graphical multi-user mode with X window system.       * ''APPEND /dev/vgroot/V_ROOT 4'' is kernel command line telling the kernel to mount /dev/vgroot/V_ROOT as / (root). Obviously that is a logical volume in this case, but it could be e.g. plain /dev/sda2. The second argument, '4', will be in fact passed by kernel to init, which will start to runlevel 4 instead of default 3 (as per /etc/inittab), i.e. will start to graphical multi-user mode with X window system.
-      * ''INITRD initrd.gz-4.4.14'' is an initrd image that is mounted as temporary / before the final / is mounted. Typically, an initrd is needed if kernel has to load some additional modules to access the root devite, or has to perform some actions to make it accessible (think of RAID, LUKS, LVM). If you do not need initrd, simply delete this line.+      * ''INITRD initrd.gz-4.4.14'' is an initrd image that is mounted as temporary / before the final / is mounted. Typically, an initrd is needed if kernel has to load some additional modules to access the root device, or has to perform some actions to make it accessible (think of RAID, LUKS, LVM). If you do not need initrd, simply delete this line.
     * The second menu entry is largely the same, except that there is no '4' in ''APPEND /dev/vgroot/V_ROOT''. Simply put, this is non-graphical safe mode. If X window system fails to start for whatever reason, you may end up with not only black screen, but also blocked keyboard and mouse and therefore unable to fix the cause. So it is a good idea to have this option prepared beforehand (another method to use otherwise unusable machine with broken X is to SSH-in, though it is a less reliable method).     * The second menu entry is largely the same, except that there is no '4' in ''APPEND /dev/vgroot/V_ROOT''. Simply put, this is non-graphical safe mode. If X window system fails to start for whatever reason, you may end up with not only black screen, but also blocked keyboard and mouse and therefore unable to fix the cause. So it is a good idea to have this option prepared beforehand (another method to use otherwise unusable machine with broken X is to SSH-in, though it is a less reliable method).
-<file /boot/efi/EFI/SYSLINUX/syslinux.cfg>+<file /boot/efi/EFI/SYSLINUX/syslinux.cfg>
 UI menu.c32 UI menu.c32
 PROMPT 0 PROMPT 0
Line 183: Line 182:
 </file> </file>
  
-  * Still in /boot/efi/EFI/SYSLINUX, copy kernel here. Huge is safer option. Generic may require initrd and more modules in it. If you do not know which they are, the machine might not boot, so go with the huge.+  * Still in /boot/efi/EFI/SYSLINUX, copy kernel here. Huge is the safer option. Generic may require initrd and more modules in it. If you do not know which they are, the machine might not boot, so go with the huge.
 <code> <code>
 # cp /boot/vmlinuz-huge-4.4.14 . # cp /boot/vmlinuz-huge-4.4.14 .
 howtos:slackware_admin:set_up_syslinux_as_boot_loader_on_uefi_based_hardware ()