Summary: | sys-boot/efibootmgr-13: No BootOrder is set; firmware will attempt recovery | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Perfect Gentleman <perfect007gentleman> |
Component: | Current packages | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Perfect Gentleman
2016-08-20 02:06:46 UTC
Same problem here. Also, tried downgrading to efibootmgr-0.12, which resulted in >>> Emerging (1 of 1) sys-boot/efibootmgr-0.12::gentoo * efibootmgr-0.12.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking efibootmgr-0.12.tar.bz2 to /var/tmp/portage/sys-boot/efibootmgr-0.12/work >>> Source unpacked in /var/tmp/portage/sys-boot/efibootmgr-0.12/work >>> Preparing source in /var/tmp/portage/sys-boot/efibootmgr-0.12/work/efibootmgr-0.12 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/sys-boot/efibootmgr-0.12/work/efibootmgr-0.12 ... >>> Source configured. >>> Compiling source in /var/tmp/portage/sys-boot/efibootmgr-0.12/work/efibootmgr-0.12 ... make -j8 x86_64-pc-linux-gnu-gcc -O3 -march=native -pipe -DEFIBOOTMGR_VERSION=\"0.12\" -Wsign-compare -Wall -g -D_FILE_OFFSET_BITS=64 -I/usr/include/efivar -Isrc/lib -Isrc/include -c -o src/lib/efi.o src/lib/efi.c x86_64-pc-linux-gnu-gcc -O3 -march=native -pipe -DEFIBOOTMGR_VERSION=\"0.12\" -Wsign-compare -Wall -g -D_FILE_OFFSET_BITS=64 -I/usr/include/efivar -Isrc/lib -Isrc/include -c -o src/lib/unparse_path.o src/lib/unparse_path.c src/lib/efi.c: In function ‘get_extra_args’: src/lib/efi.c:427:7: warning: pointer targets in passing argument 3 of ‘efi_loadopt_args_as_ucs2’ differ in signedness [-Wpointer-sign] opts.argv[i]); ^ In file included from /usr/include/efivar/efiboot.h:36:0, from src/lib/efi.c:26: /usr/include/efivar/efiboot-loadopt.h:64:16: note: expected ‘uint8_t * {aka unsigned char *}’ but argument is of type ‘char *’ extern ssize_t efi_loadopt_args_as_ucs2(uint16_t *buf, ssize_t size, ^ src/lib/efi.c:439:7: warning: pointer targets in passing argument 3 of ‘efi_loadopt_args_as_utf8’ differ in signedness [-Wpointer-sign] opts.argv[i]); ^ In file included from /usr/include/efivar/efiboot.h:36:0, from src/lib/efi.c:26: /usr/include/efivar/efiboot-loadopt.h:60:16: note: expected ‘uint8_t * {aka unsigned char *}’ but argument is of type ‘char *’ extern ssize_t efi_loadopt_args_as_utf8(uint8_t *buf, ssize_t size, ^ x86_64-pc-linux-gnu-gcc -O3 -march=native -pipe -DEFIBOOTMGR_VERSION=\"0.12\" -Wsign-compare -Wall -g -D_FILE_OFFSET_BITS=64 -I/usr/include/efivar -Isrc/lib -Isrc/include -Wl,-O1 -Wl,--as-needed src/efibootmgr/efibootmgr.c src/lib/efi.o src/lib/unparse_path.o -lefivar -lefiboot -o src/efibootmgr/efibootmgr src/efibootmgr/efibootmgr.c: In function ‘warn_duplicate_name’: src/efibootmgr/efibootmgr.c:224:10: error: too few arguments to function ‘efi_loadopt_desc’ desc = efi_loadopt_desc(load_option); ^ In file included from /usr/include/efivar/efiboot.h:36:0, from src/efibootmgr/efibootmgr.c:49: /usr/include/efivar/efiboot-loadopt.h:35:36: note: declared here extern const unsigned char const * efi_loadopt_desc(efi_load_option *opt, ^ src/efibootmgr/efibootmgr.c: In function ‘make_boot_var’: src/efibootmgr/efibootmgr.c:307:7: error: too few arguments to function ‘efi_set_variable’ rc = efi_set_variable(boot->guid, boot->name, boot->data, ^ In file included from src/efibootmgr/efibootmgr.c:48:0: /usr/include/efivar/efivar.h:78:12: note: declared here extern int efi_set_variable(efi_guid_t guid, const char *name, ^ src/efibootmgr/efibootmgr.c: In function ‘set_boot_u16’: src/efibootmgr/efibootmgr.c:363:9: error: too few arguments to function ‘efi_set_variable’ return efi_set_variable(EFI_GLOBAL_GUID, name, (uint8_t *)&num, ^ In file included from src/efibootmgr/efibootmgr.c:48:0: /usr/include/efivar/efivar.h:78:12: note: declared here extern int efi_set_variable(efi_guid_t guid, const char *name, ^ src/efibootmgr/efibootmgr.c: In function ‘add_to_boot_order’: src/efibootmgr/efibootmgr.c:401:7: error: too few arguments to function ‘efi_set_variable’ rc = efi_set_variable(EFI_GLOBAL_GUID, "BootOrder", boot_order->data, ^ In file included from src/efibootmgr/efibootmgr.c:48:0: /usr/include/efivar/efivar.h:78:12: note: declared here extern int efi_set_variable(efi_guid_t guid, const char *name, ^ src/efibootmgr/efibootmgr.c: In function ‘remove_dupes_from_boot_order’: src/efibootmgr/efibootmgr.c:455:7: error: too few arguments to function ‘efi_set_variable’ rc = efi_set_variable(EFI_GLOBAL_GUID, "BootOrder", boot_order->data, ^ In file included from src/efibootmgr/efibootmgr.c:48:0: /usr/include/efivar/efivar.h:78:12: note: declared here extern int efi_set_variable(efi_guid_t guid, const char *name, ^ src/efibootmgr/efibootmgr.c: In function ‘remove_from_boot_order’: src/efibootmgr/efibootmgr.c:504:7: error: too few arguments to function ‘efi_set_variable’ rc = efi_set_variable(EFI_GLOBAL_GUID, "BootOrder", boot_order->data, ^ In file included from src/efibootmgr/efibootmgr.c:48:0: /usr/include/efivar/efivar.h:78:12: note: declared here extern int efi_set_variable(efi_guid_t guid, const char *name, ^ src/efibootmgr/efibootmgr.c: In function ‘set_boot_order’: src/efibootmgr/efibootmgr.c:802:7: error: too few arguments to function ‘efi_set_variable’ rc = efi_set_variable(EFI_GLOBAL_GUID, "BootOrder", data, data_size, ^ In file included from src/efibootmgr/efibootmgr.c:48:0: /usr/include/efivar/efivar.h:78:12: note: declared here extern int efi_set_variable(efi_guid_t guid, const char *name, ^ src/efibootmgr/efibootmgr.c: In function ‘show_boot_vars’: src/efibootmgr/efibootmgr.c:824:17: error: too few arguments to function ‘efi_loadopt_desc’ description = efi_loadopt_desc(load_option); ^ In file included from /usr/include/efivar/efiboot.h:36:0, from src/efibootmgr/efibootmgr.c:49: /usr/include/efivar/efiboot-loadopt.h:35:36: note: declared here extern const unsigned char const * efi_loadopt_desc(efi_load_option *opt, ^ src/efibootmgr/efibootmgr.c:825:8: error: too few arguments to function ‘efi_loadopt_path’ dp = efi_loadopt_path(load_option); ^ In file included from /usr/include/efivar/efiboot.h:36:0, from src/efibootmgr/efibootmgr.c:49: /usr/include/efivar/efiboot-loadopt.h:33:14: note: declared here extern efidp efi_loadopt_path(efi_load_option *opt, ssize_t limit) ^ src/efibootmgr/efibootmgr.c:838:23: error: too few arguments to function ‘efi_loadopt_pathlen’ uint16_t pathlen = efi_loadopt_pathlen(load_option); ^ In file included from /usr/include/efivar/efiboot.h:36:0, from src/efibootmgr/efibootmgr.c:49: /usr/include/efivar/efiboot-loadopt.h:48:17: note: declared here extern uint16_t efi_loadopt_pathlen(efi_load_option *opt, ssize_t limit) ^ src/efibootmgr/efibootmgr.c: In function ‘set_active_state’: src/efibootmgr/efibootmgr.c:934:13: error: too few arguments to function ‘efi_set_variable’ return efi_set_variable(boot->guid, ^ In file included from src/efibootmgr/efibootmgr.c:48:0: /usr/include/efivar/efivar.h:78:12: note: declared here extern int efi_set_variable(efi_guid_t guid, const char *name, ^ src/efibootmgr/efibootmgr.c:948:13: error: too few arguments to function ‘efi_set_variable’ return efi_set_variable(boot->guid, ^ In file included from src/efibootmgr/efibootmgr.c:48:0: /usr/include/efivar/efivar.h:78:12: note: declared here extern int efi_set_variable(efi_guid_t guid, const char *name, ^ src/efibootmgr/efibootmgr.c: In function ‘set_boot_u16’: src/efibootmgr/efibootmgr.c:367:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make: *** [src/efibootmgr/module.mk:23: src/efibootmgr/efibootmgr] Error 1 (In reply to PM from comment #2) > Same problem here. Also, tried downgrading to efibootmgr-0.12, which the efibootmgr-0.12 won't compile against new efivar-27, old efivar is needed. please attach strace -fe trace=file efibootmgr i think bug can be closed as it resolved in upstream https://github.com/vathpela/efivar-devel/commit/a8112584c727daef8a3742f0098988a5fae8ee69 *it was |