UEFI + CL

UEFI (Universal Extensible Firmware Interface) is a further development of the Intel EFI project. The original EFI specification was meant to provide a user-friendly interface for BIOS and to solve some typical PC problems.

uefi50.jpg

The standard BIOS has been used for more than 25 years now ! It’s only a matter of time when it comes into oblivion. The new UEFI environment is meant to replace the obsolete BIOS system as it features new functionality: for instance, you absolutely need UEFI to be able to boot from a system partition of over 2TB.

While BIOS is typical firmware included on the motherboard, UEFI should be defined rather as a flexible programmed interface that comes on top of all hardware components and firmware. Unlike the BIOS booting code, always found on the motherboard, the UEFI codes, as they’re much bigger in size, are stored in a separate /EFI/ directory. The latter can be located almost anywhere: on the motherboard’s ROM, on a hard disk partition, on an external storage drive, etc.

Since mid-March 2013, 64bit hybrid live ISOs support two boot modes: (BIOS legacy) and UEFI. The standard mode still uses syslinux for options selection, while UEFI uses GRUB2.

grub_uefi_50.png

As of Calculate Utilities 3.1.5, you can install CL with UEFI if you wish so. Stage 20130401 provides full support for UEFI: it is possible to boot the LiveCD in UEFI, but also to perform an UEFI installation.

To be able to boot your Calculate system with UEFI, you will need:

  • (the obvious part) a motherboard supporting UEFI;
  • a GPT-partitioned hard drive;
  • a 200 MB disk partition, set to type EF00 and formatted as FAT32;
  • Calculate Linux x86_64 booted in UEFI mode;
  • Calculate Utilities 3.1.5_beta1 or higher.

For Flash installation, either use dd or cl-install.

cl-install now has a special parameter for UEFI installations, --uefi [ON/OFF]; disk autopartitioning has also become more comprehensive. If you want to install in UEFI mode, you should choose the corresponding mode at boot and then either call cl-install with the --uefi flag or, should you prefer automatic partitioning, say expressly so:

cl-install --uefi on -d /dev/sda2:swap -d /dev/sda3:/

cl-install --autopartition -D /dev/sda

If you prefer the GUI installer, please look within “Allocate drive space” and “Mounting points”.

The EFI partition will be detected automatically. Should you have a few of them (on several disks), you can specify the one you need using the following syntax for the EFI mounting point: -d /dev/sda1:EFI. This very parameter handles the automatic configuration of the partition you have specified.

Once your installation is complete, reboot and you will see ‘calculate’ among the boot devices in BIOS.

To handle current UEFI boot entries, run efibootmgr:

efibootmgr

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0002
Boot0000* calculate
Boot0001* Hard Drive 
Boot0002* UEFI: Built-in EFI Shell

Please note that modifying UEFI variables may be unsupported by the kernel and/or by efibootmgr: in this case, the corresponding boot entry won’t be created. All you can do then is wait patiently for a kernel update !