User Tools

Site Tools


efi

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
efi [2012-11-04 18:42]
jajcus [EFI boot loader]
efi [2013-10-25 10:09] (current)
glen
Line 9: Line 9:
 Requirements:​ Requirements:​
  
-  * (U)EFI platform (e.g. an IBM xSeries server with recent firmware)+  * (U)EFI platform (e.g. an IBM xSeries server with recent firmware ​or a relatively modern laptop, like Lenovo B590)
   * A disk with [[GUID Partition Table]]   * A disk with [[GUID Partition Table]]
   * EFI bootloader (e.g. GRUB2 built for EFI platform, ELILO or Xen or Linux kernel built as an EFI image)   * EFI bootloader (e.g. GRUB2 built for EFI platform, ELILO or Xen or Linux kernel built as an EFI image)
Line 28: Line 28:
  
 The boot loaders with EFI support are: **ELILO** and **GRUB2**. The boot loaders with EFI support are: **ELILO** and **GRUB2**.
 +
 +=== No bootloader ===
 +
 +Recent Linux kernel (since 3.3) can boot directly from EFI with no extra boot loader. Also Xen hypervisor can be booted this way (in fact Xen may misbehave if booted under EFI other way). See below.
  
 === ELILO === === ELILO ===
Line 46: Line 50:
   * install the **grub2** and **grub2-platform-efi** and **efibootmgr** packages. Most probably the x86_64 version of  **grub2-platform-efi** package will be needed, as most modern EFI firmwares run 64-bit.   * install the **grub2** and **grub2-platform-efi** and **efibootmgr** packages. Most probably the x86_64 version of  **grub2-platform-efi** package will be needed, as most modern EFI firmwares run 64-bit.
   * make sure your EFI system partition is mounted at /boot/efi   * make sure your EFI system partition is mounted at /boot/efi
-  * issue ''​grub-install --target=x86_64-efi''​+  * issue ''​%%grub-install --target=x86_64-efi%%''​
  
 If the ''​Couldn'​t open either sysfs or procfs directories for accessing EFI variables.''​ message is displayed, that means **efibootmgr** was not able to update boot manager configuration. It such case it may be necessary to use the EFI firmware configuration interface (equivalent of 'BIOS setup'​) to set up booting for ''​\grubx64.efi''​ or to copy ''/​boot/​efi/​EFI/​grub/​grubx64.efi''​ to ''/​boot/​efi/​EFI/​BOOT/​BOOTX64.EFI''​ file, to make it the default boot loader for the device. If the ''​Couldn'​t open either sysfs or procfs directories for accessing EFI variables.''​ message is displayed, that means **efibootmgr** was not able to update boot manager configuration. It such case it may be necessary to use the EFI firmware configuration interface (equivalent of 'BIOS setup'​) to set up booting for ''​\grubx64.efi''​ or to copy ''/​boot/​efi/​EFI/​grub/​grubx64.efi''​ to ''/​boot/​efi/​EFI/​BOOT/​BOOTX64.EFI''​ file, to make it the default boot loader for the device.
  
 GRUB can also be used for network booting, but version 2.00-1 times out on large initramfs images (this makes PLD Rescue boot impossible). GRUB can also be used for network booting, but version 2.00-1 times out on large initramfs images (this makes PLD Rescue boot impossible).
- 
-=== No bootloader === 
- 
-Recent Linux kernel can boot directly from EFI with no extra boot loader. Also Xen hypervisor can be booted this way (in fact Xen may misbehave if booted under EFI other way). See below. 
  
 === The default bootloader location === === The default bootloader location ===
Line 71: Line 71:
  
 PLD Linux kernels have all those features enabled. PLD Linux kernels have all those features enabled.
 +
 +== Configuring standard PLD kernel boot ==
 +
 +To set up kernel boot via EFI with no other boot loader:
 +
 +  * install your kernel and make sure you have a valid ''/​boot/​initrd''​ for it
 +  * install [[#​efi-boot-update]]
 +  * update /​etc/​efi-boot/​update.d/​kernel.conf so it contains proper '​root='​ directive in $ARGS (required for Dracut-generated initrd)
 +  * run [[#​efi-boot-update]] (note, this will only work if already running via EFI)
  
 === Xen === === Xen ===
Line 87: Line 96:
  
 More information in the [[http://​git.pld-linux.org/​gitweb.cgi?​p=packages/​efi-boot-update.git;​a=blob_plain;​f=README;​h=19d147dad2c3b711608203a297672e5533764c42;​hb=HEAD|efi-boot-update README file]] More information in the [[http://​git.pld-linux.org/​gitweb.cgi?​p=packages/​efi-boot-update.git;​a=blob_plain;​f=README;​h=19d147dad2c3b711608203a297672e5533764c42;​hb=HEAD|efi-boot-update README file]]
 +
 +===== efi-shell =====
 +
 +Instead of loading a boot loader and starting the operating system one may wish to enter the EFI shell. The EFI shell is often not 
 +included in the system firmware and must be installed separately. For convenience,​ PLD Linux provides the **efi-shell-{ia32,​x64}** packages with pre-compiled EFI shell executables. These can be installed like a regular boot-loader – manually or with [[#​efi-boot-update]]
 +
  
efi.1352050945.txt.gz · Last modified: 2012-11-04 18:42 by jajcus