Changeset c84ec38 for chapter10/grub.xml
- Timestamp:
- 08/26/2022 12:31:34 PM (9 months ago)
- Branches:
- xry111/arm64
- Children:
- 8e7fe4a
- Parents:
- cfc0780
- git-author:
- Xi Ruoyao <xry111@…> (08/26/2022 11:13:22 AM)
- git-committer:
- Xi Ruoyao <xry111@…> (08/26/2022 12:31:34 PM)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter10/grub.xml
rcfc0780 rc84ec38 19 19 <note> 20 20 <para> 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 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 23 27 using the instructions provided in 24 28 <ulink url="&blfs-book;postlfs/grub-setup.html">the BLFS page</ulink>. 29 </para> 30 <para> 31 If your system does not support UEFI or you don't want to use it, 32 you'll need to figure out how to configure the booting process of 33 the system on your own. 25 34 </para> 26 35 </note> … … 35 44 LILO.</para></warning> 36 45 37 <para> 46 <para>Ensure that an emergency boot disk is ready to <quote>rescue</quote> 38 47 the computer if the computer becomes unusable (un-bootable). If you do not 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 46 grub-mkrescue --output=grub-img.iso 47 xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso</userinput></screen> 48 48 already have a boot device, you can create one. To create a emergency 49 boot device for UEFI, consult section <quote>Create an Emergency Boot 50 Disk</quote> in 51 <ulink url="&blfs-book;postlfs/grub-setup.html">the BLFS page</ulink>.</para> 52 53 </sect2> 54 55 <sect2> 56 <title>Turn off Secure Boot</title> 57 58 <para>LFS does not have the essential packages to support Secure Boot. 59 To set up the boot process following the instructions in this section, 60 Secure Boot must be turned off from the configuration interface of the 61 firmware. Read the documentation provided by the manufacturer of your 62 system to find out how.</para> 49 63 </sect2> 50 64 … … 72 86 <title>Setting Up the Configuration</title> 73 87 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> 88 <para>GRUB works by creating an EFI executable in the EFI System 89 Partition (ESP). You can find the ESP with:</para> 90 91 <screen role="nodump"><userinput>fdisk -l | grep 'EFI System'</userinput></screen> 92 93 <para>If no ESP exists on your hard drive (for example, you are building 94 LFS on a fresh new system with a Live CD as the host distro), read 95 <ulink url="&blfs-book;postlfs/grub-setup.html">the BLFS page</ulink> 96 for the instruction to create an ESP on your hard drive.</para> 97 98 <para>If the ESP is not mounted at 99 <filename class="directory">/boot/efi</filename> (in the chroot), 100 mount it now:</para> 101 102 <screen role="nodump"><userinput>mount /boot/efi</userinput></screen> 103 104 <note> 105 <para>The path to the device node is intentionally omitted in the 106 command. We expect the entry for mounting the ESP to 107 <filename class="directory">/boot/efi</filename> is already in 108 <filename>/etc/fstab</filename>. Add the entry before running the 109 command if you forgot to create an entry for the ESP in 110 <xref linkend="ch-bootable-fstab"/>.</para> 111 </note> 78 112 79 113 <para>The location of the boot partition is a choice of the user that … … 99 133 100 134 <para>Install the GRUB files into <filename 101 class="directory">/boot/grub</filename> and set up the boot track:</para> 135 class="directory">/boot/grub</filename> and the GRUB EFI executable into 136 <filename class="directory">/boot/efi/EFI/BOOTAA64.EFI</filename>:</para> 102 137 103 138 <warning> 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> 139 <para>The following command will overwrite 140 <filename>BOOTAA64.EFI</filename>. Do not run the command if this is 141 not desired, for example, if it contains a third party boot manager. 142 You can backup it with <command>cp</command> as it's a regular 143 file.</para> 107 144 </warning> 108 145 109 <screen role="nodump"><userinput>grub-install /dev/sda</userinput></screen>146 <screen role="nodump"><userinput>grub-install --removable</userinput></screen> 110 147 111 148 <note> 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> 149 <para> 150 <parameter>--removable</parameter> may seem strange here. The UEFI 151 firmware searches EFI executables for boot loaders in a hardcoded 152 path, <filename>EFI/BOOTAA64.EFI</filename> in the ESP, and other 153 boot loader paths listed in the EFI variables. We've not installed 154 the utilities for manipulating EFI variables so we need to install 155 the EFI executable into the hardcoded path. The hardcoded path is 156 usually used by removable devices (for example, USB thumb devices) 157 so the <command>grub-install</command> option for this purpose is 158 named <parameter>--removable</parameter>. 159 </para> 160 <para> 161 UEFI implementation usually prefers the boot loaders with paths 162 recorded in an EFI variable, to the boot loader with the hardcoded 163 search path. You may need to invoke the boot device selection menu 164 or setting interface of your EFI firmware on next boot to explicitly 165 select the bootloader. 166 </para> 167 <para> 168 Some UEFI implementation may completely skip the hardcoded path if 169 there are other boot loaders in the same hard drive with paths 170 recorded in an EFI variable. Then you need to create an EFI 171 variable for the newly installed boot loader. Install 172 <ulink url="&blfs-book;postlfs/efibootmgr.html">efibootmgr</ulink>, 173 then run the following commands: 174 <screen role="nodump"><userinput>mount -v -t efivarfs efivarfs /sys/firmware/efi/efivars 175 efibootmgr -c -L LFS -l \EFI\BOOT\BOOTAA64.EFI -d /dev/sda</userinput></screen> 176 Replace <filename>/dev/sda</filename> with the device node of the 177 hard drive where you are installing GRUB into. 178 </para> 118 179 </note> 119 180
Note:
See TracChangeset
for help on using the changeset viewer.