-
Notifications
You must be signed in to change notification settings - Fork 147
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
efibootmgr exits with an error code 13 #968
Comments
@markohrastovec Thank you for the report. Could you provide
Actually not, we use this command to prevent some known issues. |
Here are the outputs of the commands. I guess these are from the last attempt, when the upgrade finally went through. |
@markohrastovec Thank you. Based on that, I have one another idea about the possible root cause, but I will need more data to be sure. Could you produce the same set of data for previous executions of leapp (they are also part of the leapp.db file still)? I need to see this triplet for an execution when the error occured. To do this, you can use the for context in $(leapp-inspector executions | grep "^[a-f0-9]" | cut -d " " -f1); do
echo "##################################################################"
echo "# CONTEXT: $context"
echo "##################################################################"
leapp-inspector --context "$context" messages --type StorageInfo --recursive-expand
leapp-inspector --context "$context" actors --actor efi_interim_fix
leapp-inspector --context "$context" actors --actor efi_finalization_fix
done
|
Here is the output of the proposed for loop. There are a lot of executions in there, because I had other issues before the one with EFI, and I also had problems with connectivity, and upgrade was canceled sometimes because it could not get some data over the network. Nevertheless, there are also failed and successful calls to efibootmgr. |
@markohrastovec hi, so the issue is a little bit different than I was thinking about:
Which could be more things regarding uncle google
But in this case I think it was probably really not enough space regarding the number of efiboot entries and that reduing the amount of entries actually fixed the problem. I have no idea how this could be eventually fixed in leapp-repository. Some ideas:
From my POV, the last one is the best way. Possibly combined with (1) |
@pirat89 hi, /boot/efi is a 2% occupied 500M partition. Maybe no space left is referring to the boot order, with too many entries. So, I guess, not enough space on /boot/efi was not an issue. During upgrade attempts I once had a no space on /boot partition error, but that is completely different. While searching for a solution, I deleted most of the entries from EFI boot leaving 000F untouched, and they were added as 0010, 0011, 0012,... I did not try to upgrade in that state. At the end I deleted all, after I found out that I can add the correct entry manually anytime. Then, they were added 0000..000D, and 000E entered manually, as seen in the report. I do not undestand the message "No space left on device", because nothing was actually added. Just 000F should be set as the first boot option, and it already was. I would not rule out buggy BIOS here causing this error. I agree with your proposal to give a more descriptive error message and to povide an option to avoid this efibootmgr command. On our computer, I do not believe that command actually produced anything else but an error. Boot order should have remained unchanged. |
@markohrastovec I wanted to rule out buggy bios as most references for similar issue comes from ~2014, but it could be. Also it's possible to block efibootmgr to manage the boot order from bios, where it's possible to lock the boot order - which results in the same error msg in efibootmgr about the space. So let's stick with the solution 1 & 3. |
hello, thank you both for posting this, after running the preupgrade reports and solving issues one by one, i got it good but failed on the actual upgrade ::sadface:: everything was completed from looking at the console, but i guess, the error on the boot changes, is that the final step of the script? i will assume it was disk space then, but i'd like to note migrating to ol7 from centos7 with centos2ol sh had a similar issue with boot changes not happening, and which i had to do manually so i would suggest a permissions issue maybe? oracle/centos2ol#70 (comment) anyway, i've decided to go down the route of just starting from scratch with ol8, here is the report error, thank you again - the free disk space on boot was ~400MB, if it needed more 🤷
|
Actual behavior
I had problems because upgrade procedure exited with an error reporting efibootmgr error code 13 or 14 (i am not sure). Unforutnately, I do not have log files, because I struggled to make it work and eventually overwritten the logs with the successful run.
To Reproduce
I cannot reproduce the error, because I finally succeeded, and I do not have a computer to reproduce it. However, I can describe the behaviour in detail.
The upgrade procedure exited with error reporting that efibootmgr exited with error using parameter bootnext '-n 000F'. I checked the EFI entries and 000F was the currently active Oracle Linux. There were 15 EFI entries. 000E was not present (missing), but 000F was.
Then I entered BIOS and deleted all EFI entries. 14 were added automatically, and I added the one to boot Oracle Linux. All entries were numbered sequentially 0000..000D. After that the upgrade went through, and did not complain running efibootmgr any more.
Expected behavior
I did not expect upgrade to do anything with EFI. Adding a GRUB entry would be sufficient in my opinion.
System information (please complete the following information):
The text was updated successfully, but these errors were encountered: