I am attempting to build efaivar 30, following the guidelines from:
http://www.linuxfromscratch.org/hints/downloads/files/lfs-uefi.txt
and am doing so on top of a LFS 7.10 build.
The only change I have made to the notes in the LFS hint has been to
modify the patch to the Make.defaults file, because the current efivar
optimisation is controlled by a different variable to that in the 0.12
Make.defaults, vis:
0.12 CFLAGS ?= -O0 -g
30 OPTIMIZE ?= -O2 -flto
so I have built efivars with
I note that it doesn't build the tester by default, however when I
the tester gets built, but running it gives me:
...
About to test thirtythree
testing efi_set_variable()
testing efi_get_variable_size()
testing efi_get_variable()
testing efi_get_variable_attributes()
testing efi_del_variable()
testing efi_append_variable()
testing efi_get_variable()
testing efi_del_variable()
About to test tentwentyfour
testing efi_set_variable()
testing efi_get_variable_size()
testing efi_get_variable()
testing efi_get_variable_attributes()
testing efi_del_variable()
testing efi_append_variable()
FAIL: "tentwentyfour"(line 197) (-1) append test failed: No space left on device
make: *** [Makefile:18: test] Error 1
At the time I ran this, I had
Filesystem Size Used Avail Use% Mounted on
/dev/root 9.8G 3.6G 5.7G 39% /
devtmpfs 7.5G 0 7.5G 0% /dev
tmpfs 7.5G 432K 7.5G 1% /run
/dev/sda1 199M 13M 186M 7% /boot/efi
and I note that the tentwentfour test is using size of 1024
and that size of 33 test worked.
{.name= "thirtythree", .size = 33, .result= 0 },
{.name= "tentwentyfour", .size = 1024, .result= 0},
{.name= "tentwentyfive", .size = 1025, .result= 0},
{.name= "", .size = 0, .result= 0}
What is the size being reffered to here?
I'm assuming it's not just the size of the EFI boot partition though, as that's not
required (IIRC) to be much more than what I have ?
FYI, this is a 4.7.2 kernel, that's been compiled, as has efivars, with GCC 6.2.0,
and the full LFS OS environment is descibed here
http://linuxfromscratch.org/lfs/view/stable/
A grep for EFI in the current kernel config shows
CONFIG_EFI_PARTITION=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
# CONFIG_EFI_MIXED is not set
CONFIG_FB_EFI=y
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# EFI (Extensible Firmware Interface) Support
CONFIG_EFI_VARS=y
CONFIG_EFI_ESRT=y
CONFIG_EFI_RUNTIME_MAP=y
# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_RUNTIME_WRAPPERS=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
CONFIG_EFIVAR_FS=m
# CONFIG_EARLY_PRINTK_EFI is not set
# CONFIG_EFI_PGT_DUMP is not set
although I note, as detailed in the hint, that CONFIG_EFI_VARS
being set (this came from an almost pristine 'make defconfig' kernel
build before I started building efivars) can cause problems, however,
I note that the tests up to size 33 work.
I do intend to rebuild the kernel to match the hint's settings though,
but thought, in light of the tests that have run, to flag this up anyway.
The hardware, FWIW, is a
Gigabyte F2A88XM-D3H mATX AMD A88X
Any clues ?