Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter10/grub.xml

    r8f641ee r5353a19  
    1919  <note>
    2020    <para>
    21       This section assume your system has UEFI support and you wish to boot
    22       LFS with UEFI and GRUB built following the instructions in Chapter 8.
    23     </para>
    24     <para>
    25       If you've installed GRUB for UEFI with optional dependencies following
    26       BLFS, you should skip this page, and config GRUB with UEFI support
     21      If your system has UEFI support and you wish to boot LFS with UEFI,
     22      you should skip this page, and config GRUB with UEFI support
    2723      using the instructions provided in
    28       <ulink url="&blfs-book;postlfs/grub-setup.html">the BLFS page</ulink>,
    29       but replace <parameter>--target=x86_64-efi</parameter> with
    30       <parameter>--target=arm64-efi</parameter> for the ARM64 system.
    31     </para>
    32     <para>
    33       If your system does not support UEFI or you don't want to use it,
    34       you'll need to figure out how to configure the booting process of
    35       the system on your own.
     24      <ulink url="&blfs-book;postlfs/grub-setup.html">the BLFS page</ulink>.
    3625    </para>
    3726  </note>
     
    4635    LILO.</para></warning>
    4736
    48     <para>Ensure that an emergency boot disk is ready to <quote>rescue</quote>
     37    <para> Ensure that an emergency boot disk is ready to <quote>rescue</quote>
    4938    the computer if the computer becomes unusable (un-bootable).  If you do not
    50     already have a boot device, you can create one.  To create a emergency
    51     boot device for UEFI, consult section <quote>Create an Emergency Boot
    52     Disk</quote> in
    53         <ulink url="&blfs-book;postlfs/grub-setup.html">the BLFS page</ulink>.</para>
    54 
    55   </sect2>
    56 
    57   <sect2>
    58     <title>Turn off Secure Boot</title>
    59 
    60     <para>LFS does not have the essential packages to support Secure Boot.
    61     To set up the boot process following the instructions in this section,
    62     Secure Boot must be turned off from the configuration interface of the
    63     firmware. Read the documentation provided by the manufacturer of your
    64     system to find out how.</para>
     39    already have a boot device, you can create one.  In order for the procedure
     40    below to work, you need to jump ahead to BLFS and install
     41    <userinput>xorriso</userinput> from the <ulink
     42    url="&blfs-book;multimedia/libisoburn.html">
     43    libisoburn</ulink> package.</para>
     44
     45<screen role="nodump"><userinput>cd /tmp
     46grub-mkrescue --output=grub-img.iso
     47xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso</userinput></screen>
     48
    6549  </sect2>
    6650
     
    8872    <title>Setting Up the Configuration</title>
    8973
    90     <para>GRUB works by creating an EFI executable in the EFI System
    91     Partition (ESP).  You can find the ESP with:</para>
    92 
    93 <screen role="nodump"><userinput>fdisk -l | grep 'EFI System'</userinput></screen>
    94 
    95     <para>If no ESP exists on your hard drive (for example, you are building
    96     LFS on a fresh new system with a Live CD as the host distro), read
    97     <ulink url="&blfs-book;postlfs/grub-setup.html">the BLFS page</ulink>
    98     for the instruction to create an ESP on your hard drive.</para>
    99 
    100     <para>If the ESP is not mounted at
    101     <filename class="directory">/boot/efi</filename> (in the chroot),
    102     mount it now:</para>
    103 
    104 <screen role="nodump"><userinput>mkdir -pv /boot/efi
    105 mount /boot/efi</userinput></screen>
    106 
    107     <note>
    108       <para>The path to the device node is intentionally omitted in the
    109       command.  We expect the entry for mounting the ESP to
    110       <filename class="directory">/boot/efi</filename> is already in
    111       <filename>/etc/fstab</filename>.  Add the entry before running the
    112       command if you forgot to create an entry for the ESP in
    113       <xref linkend="ch-bootable-fstab"/>.</para>
    114     </note>
     74    <para>GRUB works by writing data to the first physical track of the
     75    hard disk.  This area is not part of any file system.  The programs
     76    there access GRUB modules in the boot partition.  The default location
     77    is /boot/grub/.</para>
    11578
    11679    <para>The location of the boot partition is a choice of the user that
     
    13699
    137100    <para>Install the GRUB files into <filename
    138     class="directory">/boot/grub</filename> and the GRUB EFI executable into
    139     <filename class="directory">/boot/efi/EFI/BOOTAA64.EFI</filename>:</para>
     101    class="directory">/boot/grub</filename> and set up the boot track:</para>
    140102
    141103    <warning>
    142       <para>The following command will overwrite
    143       <filename>BOOTAA64.EFI</filename>. Do not run the command if this is
    144       not desired, for example, if it contains a third party boot manager.
    145       You can backup it with <command>cp</command> as it's a regular
    146       file.</para>
     104      <para>The following command will overwrite the current boot loader. Do not
     105      run the command if this is not desired, for example, if using a third party
     106      boot manager to manage the Master Boot Record (MBR).</para>
    147107    </warning>
    148108
    149 <screen role="nodump"><userinput>grub-install --removable</userinput></screen>
     109<screen role="nodump"><userinput>grub-install /dev/sda</userinput></screen>
    150110
    151111    <note>
    152       <para>
    153         <parameter>--removable</parameter> may seem strange here.  The UEFI
    154         firmware searches EFI executables for boot loaders in a hardcoded
    155         path, <filename>EFI/BOOTAA64.EFI</filename> in the ESP, and other
    156         boot loader paths listed in the EFI variables.  We've not installed
    157         the utilities for manipulating EFI variables so we need to install
    158         the EFI executable into the hardcoded path.  The hardcoded path is
    159         usually used by removable devices (for example, USB thumb devices)
    160         so the <command>grub-install</command> option for this purpose is
    161         named <parameter>--removable</parameter>.
    162       </para>
    163       <para>
    164         UEFI implementation usually prefers the boot loaders with paths
    165         recorded in an EFI variable, to the boot loader with the hardcoded
    166         search path.  You may need to invoke the boot device selection menu
    167         or setting interface of your EFI firmware on next boot to explicitly
    168         select the bootloader.
    169       </para>
    170       <para>
    171         Some UEFI implementation may completely skip the hardcoded path if
    172         there are other boot loaders in the same hard drive with paths
    173         recorded in an EFI variable.  Then you need to create an EFI
    174         variable for the newly installed boot loader.  Install
    175         <ulink url="&blfs-book;postlfs/efibootmgr.html">efibootmgr</ulink>,
    176         then run the following commands:
    177 
    178 <screen role="nodump"><userinput>mount -v -t efivarfs efivarfs /sys/firmware/efi/efivars
    179 efibootmgr -B -L LFS || true
    180 efibootmgr -c -L LFS -l '\EFI\BOOT\BOOTAA64.EFI' -d /dev/sda
    181 umount /sys/firmware/efi/efivars</userinput></screen>
    182 
    183         Replace <filename>/dev/sda</filename> with the device node of the
    184         hard drive where you are installing GRUB into.  For some UEFI
    185         firmwares, <option>-e 3</option> option may be needed for the
    186         <command>efibootmgr -c</command> command.
    187       </para>
     112      <para>If the system has been booted using UEFI,
     113      <command>grub-install</command> will try to install files for the
     114      <emphasis>x86_64-efi</emphasis> target, but those files
     115      have not been installed in <xref linkend="chapter-building-system"/>.
     116      If this is the case, add <option>--target i386-pc</option> to the
     117      command above.</para>
    188118    </note>
    189119
Note: See TracChangeset for help on using the changeset viewer.