Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Could not prepare Boot variable: No space left on device
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
Vandr0iy
n00b
n00b


Joined: 30 May 2015
Posts: 30

PostPosted: Mon Jan 02, 2017 4:19 pm    Post subject: Could not prepare Boot variable: No space left on device Reply with quote

Hi, gentoo users!

I'm trying to install gentoo on my work laptop, which is a Lenovo Thinkpad T440p. Everything went buttery smooth until the bootloader installation: Every single Bootloader I've been trying to install (including trying to make it work with the existing UEFI firmware using the EFI stub kernel guide on the wiki) is giving me this error:

Code:
Could not prepare Boot variable: No space left on device


efibootmgr -v output:

Code:

BootCurrent: 000D
Timeout: 0 seconds
BootOrder: 000D,0007,0008,000A,000B,000C,000E,0013,0014,0009
Boot0000  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0001  Boot Menu     FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot0002  Diagnostic Splash Screen      FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0003  Lenovo Diagnostics    FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot0004  Startup Interrupt Menu        FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot0005  Rescue and Recovery   FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot0006  MEBx Hot Key  FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
Boot0007* USB CD        VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Boot0008* USB FDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot0009* ATAPI CD      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
Boot000A* ATA HDD0      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
Boot000B* ATA HDD1:     VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f605)
Boot000C* ATA HDD2:     VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f601)
Boot000D* USB HDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot000E* PCI LAN       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot000F* IDER BOOT CDROM       PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,1,0)
Boot0010* IDER BOOT Floppy      PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,0,0)
Boot0011* ATA HDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
Boot0012* PCI LAN       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot0013  Other HDD     VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f606)
Boot0014  Other CD      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35406)


Getting really desperate here; Googlin' around revealed that everybody who already had a similar problem either forgot to disable secure boot (which is disabled on my machine) or has a lenovo laptop with a lot of EFI entries on the NVRAM. I tried to remove some of them (among the one with the star, like this:
Code:
Boot000A*
) But it just doesn't work, and they just recreate themselves after a reboot. Too scared to touch the ones without the star in the end (Lenovo Diagnostics, for instance). Any advice?

P.S. efibootmgr is v.14, efivar is v.30.
efivar -l returns this: http://sprunge.us/KHAd
Back to top
View user's profile Send private message
Keruskerfuerst
Advocate
Advocate


Joined: 01 Feb 2006
Posts: 2288
Location: near Augsburg, Germany

PostPosted: Mon Jan 02, 2017 6:46 pm    Post subject: Reply with quote

Can you post

Code:
fdisk -l


and

Code:
df


of the HDD.
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 7094
Location: Saint Amant, Acadiana

PostPosted: Mon Jan 02, 2017 7:42 pm    Post subject: Reply with quote

Interesting problem, did you see this: https://bbs.archlinux.org/viewtopic.php?pid=1439486#p1439486 (the last post)
_________________
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
Vandr0iy
n00b
n00b


Joined: 30 May 2015
Posts: 30

PostPosted: Mon Jan 02, 2017 9:41 pm    Post subject: Reply with quote

Jaglover wrote:
Interesting problem, did you see this: https://bbs.archlinux.org/viewtopic.php?pid=1439486#p1439486 (the last post)

Thank you so much, Jaglover!

I've carefully read this thread, especially the last post, jumped around the links here and there, and then found the right solution. Posting it here for the future generations:

Arch Wiki, at the page about UEFI: https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface
Quote:
If any userspace tool is unable to modify efi variables data, check for existence of /sys/firmware/efi/efivars/dump-* files. If they exist, delete them, reboot and retry again.


Apparently, when the NVRAM goes over 50% of its capacity it blocks all the writes. You should also be able to disable this kind of behaviour by passing the "efi_no_storage_paranoia" parameter to the kernel on boot - but, to be honest, being a n00b I don't even know how exactly do I do that :lol: moreover, I was looking for a more permanent solution - this gentoo install should work as long as this laptop does...

So, thank you for your help!
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 7094
Location: Saint Amant, Acadiana

PostPosted: Mon Jan 02, 2017 9:47 pm    Post subject: Reply with quote

You are welcome! Good job! Thanks for posting the solution.
_________________
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 13865

PostPosted: Tue Jan 03, 2017 12:31 am    Post subject: Reply with quote

As hinted by the name of the override, it is responsible for disabling an ugly hack that the Linux kernel developers had to put in because certain vendors shipped incredibly stupid UEFI implementations. Affected implementations would refuse to boot if insufficient NVRAM space was free, because it wanted to run garbage collection, lacked the room to do so, and refused to do anything else until it had run the garbage collection that it cannot run. To protect owners of such hardware from serious problems, the Linux kernel prohibits creating conditions that cause the defective firmware to fail. As far as I know, Linux enforces this rule without attempting to determine if your firmware is actually defective, so you might be safe to set the override - or you might break your machine to the point that it requires manufacturer assistance to repair. Thus, setting that option should be seen as a last resort when every other approach has failed.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum