#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-491

### Chapter 5. File Systems and Disk Management

- Prev

  xfsprogs-6.19.0

- Next

  efibootmgr-18

- Up
- Home

# efivar-39

## Introduction to efivar

The efivar package provides tools and libraries to manipulate EFI variables.

### Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

### Package Information

- Download (HTTP): https://github.com/rhboot/efivar/archive/39/efivar-39.tar.gz

- Download MD5 sum: a8fc3e79336cd6e738ab44f9bc96a5aa

- Download size: 456 KB

- Estimated disk space required: 21 MB

- Estimated build time: less than 0.1 SBU

### Additional Downloads

- Required patch: https://www.linuxfromscratch.org/patches/blfs/svn/efivar-39-upstream_fixes-1.patch

### efivar Dependencies

#### Optional

mandoc (for the man page of efisecdb)

## Installation of efivar

### Note

This package cannot function properly on a 32-bit system with a 64-bit UEFI implementation. Don't install this package (or efibootmgr) on 32-bit system unless you are absolutely sure you have a 32-bit UEFI implementation, which is very rare in practice.

First, apply a patch to make this package compatible with glibc-2.43 and later:

    patch -Np1 -i ../efivar-39-upstream_fixes-1.patch

Build efivar with the following commands:

    make ENABLE_DOCS=0

The test suite of this package is dangerous. Running it may trigger firmware bugs and make your system unusable without using some special hardware to reprogram the firmware.

Now, as the `root` user:

    make install ENABLE_DOCS=0 LIBDIR=/usr/lib

To avoid a hard dependency on mandoc we used `ENABLE_DOCS=0`, but it causes all the man pages skipped from the installation even though most of them actually do not need mandoc. Still as the `root` user, install these man pages:

    install -vm644 docs/efivar.1 /usr/share/man/man1 &&
    install -vm644 docs/*.3      /usr/share/man/man3

## Command Explanations

`ENABLE_DOCS=0`: Disable the generation of man pages, in order to allow building this package without mandoc installed.

`LIBDIR=/usr/lib`: This option overrides the default library directory of the package (`/usr/lib64`, which is not used by LFS).

## Contents

Installed Programs: efisecdb and efivar
Installed Libraries: libefiboot.so, libefisec.so, and libefivar.so
Installed Directories: /usr/include/efivar

### Short Descriptions

efisecdb | is a utility for managing UEFI signature lists
efivar | is a tool to manipulate UEFI variables
`libefiboot.so` | is a library used by efibootmgr
`libefisec.so` | is a library for managing UEFI signature lists
`libefivar.so` | is a library for the manipulation of EFI variables

- Prev

  xfsprogs-6.19.0

- Next

  efibootmgr-18

- Up
- Home