Comment 136 for bug 1040557

Revision history for this message
Don (d6tr6tr) wrote :

Could this be the issue? **(he has a solution as well!)**

http://www.jakobheinemann.de/en/blog.html

[QUOTE]
...All necessary functions for reading and writing or creating are implemented within UEFI in its so called Runtime Services. One of those important functions is GetNextVariableName(). It's used for scanning through all UEFI variables, searching for boot entries. An explanation of that function can be found on http://wiki.phoenix.com/wiki/index.php/EFI_RUNTIME_SERVICES#GetNextVariableName.28.29

The implementation in Samsungs UEFI shows some weird behavior. Error code EFI_INVALID_PARAMETER should only be returned, if one of the given pointers to variables is NULL and pointing to an invalid memory section. Samsungs implementation also throughs this error, if the given memory blocksize is not exactly 128 bytes, so for example (like the Linux-efivars module does) 1024 bytes. The Linux module does not expect the strange error code (it checks for NULL pointers itself) and does not report any UEFI variables, no boot entries, no nothing. The installer accepts that and installs the Linux boot entry into the first slot, where actually the boot entry for the setup is located - overwriting that entry! Setup is dead since Linux took its boot entry.
[/QUOTE]