-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error on Lenovo T540p #111
Comments
I have similiar issue on Lenovo X230. |
On T540p, I do not see "sys/devices/pci0000:00/firmware_node/uid", but I do see "... /hid". |
Check https://bugzilla.opensuse.org/show_bug.cgi?id=1100077 |
device_get()(*) in efi_va_generate_file_device_path_from_esp() tried to parse the sysfs node for the creation of device path later. However, the parser may fail in some situation. For example, some pci firmware didn't provide _UID, so linux-pci failed to read "/sys/devices/pci0000:00/firmware_node/uid". The qemu emulated NVME may not provide eui, so efivar failed to read "/sys/class/block/nvme0n1/device/eui" or "/sys/class/block/nvme0n1/eui". I've got another bug report that efibootmgr got "ENOSYS" (Error message: Could not prepare Boot variable: Function not implemented) in an emulated AArch64 machine with a virtio-blk harddrive. There are more to be done in the device parsers to make them more resilient. (*) https://github.com/rhboot/efivar/blob/36/src/creator.c#L192 |
Even though there is a check to filter ENOENT, "fbuf == NULL" could make ENOENT a fatal error when reading the acpi uid node. The only fatal error with the empty read buffer is when read_sysfs_file() returns a value larger than 0. Fix issue#111 rhboot#111 Signed-off-by: Gary Lin <glin@suse.com>
I believe my patch fixes the uid parsing error but I don't have the machine to verify it. |
When will this patch be incorporated into the next "official" release (37)?
…On Tue, Jul 17, 2018 at 2:00 AM, Gary Ching-Pang Lin < ***@***.***> wrote:
I believe my patch fixes the uid parsing error but I don't have the
machine to verify it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#111 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AhBmpjPhujq5Aup99vTdoWi3Ixg8JPOdks5uHaepgaJpZM4UstNz>
.
|
I can't tell since I'm not the maintainer. I'd appreciate it if anyone can verify the patch in the machine with the uid issue so that we can at least know if the patch works or not. |
What do I need? v36 tar.gz source plus your patch?
…On Tue, Jul 17, 2018 at 8:06 PM, Gary Ching-Pang Lin < ***@***.***> wrote:
I can't tell since I'm not the maintainer. I'd appreciate it if anyone can
verify the patch in the machine with the uid issue so that we can at least
know if the patch works or not.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#111 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AhBmpjimTTpSikSq3OeIL0zM_Q8h1IpHks5uHqYtgaJpZM4UstNz>
.
|
Yes, this should be enough to verify the patch. |
Can you upload a complete epivar.tar.gz with all patches to build & test?
Your patch applies to a file not in v36.
…On Wed, Jul 18, 2018 at 8:04 PM, Gary Ching-Pang Lin < ***@***.***> wrote:
Yes, this should be enough to verify the patch.
The patch probably cannot be applied to 36 directly due to the file
change. I can provide a rebased patch if you need.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#111 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AhBmptf59lkVocQv-adcHcDcEr5wh-dwks5uH_c5gaJpZM4UstNz>
.
|
It now works on Lenovo on T540p. |
Thanks for the verification. I'll send the pull request. |
Should be fixed in the current tree, will be in efivar-37. Thanks! |
On Lenovo T540p, efibootmgr-16 functions as expected with all efivar prior to release 36. The latest release 36, throws error on any attempt to make new NVRAM entry, "Cannot prepare Boot variable: No such file or directory".
The text was updated successfully, but these errors were encountered: