Bug ID 964989
Summary /sbin/update-bootloader --refresh just hangs on truncated /boot/grub2/grub.cfg
Classification openSUSE
Product openSUSE 13.1
Version Final
Hardware x86-64
OS openSUSE 13.1
Status NEW
Severity Major
Priority P5 - None
Component Bootloader
Assignee jsrain@suse.com
Reporter tilman.vogel@web.de
QA Contact jsrain@suse.com
Found By ---
Blocker ---

Due to an out-of-space issue on a too small /boot partition, a recent kernel
update produced a null byte /boot/grub2/grub.cfg file. It however, still had
written a /boot/grub2/grub.cfg.new which I then copied to /boot/grub2/grub.cfg
. 

Booting with this worked after I had rebuilt the initrd, even though the
submenus did not show in grub2.

After that I wanted to run purge_kernels but found out it hanged in
update-bootloader. Also the YaST boot-loader module hung at "reading boot
loader configuration". 

Looking at the /boot/grub2/grub.cfg.new, I found that the file indeed was
incomplete, probably because of the out-of-space situation.

After cp /boot/grub2/grub.cfg.old /boot/grub2/grub.cfg, /sbin/update-bootloader
--refresh now works. 

I recommend checking for EOF when reading /boot/grub2/grub.cfg even when
expecting further data. In that case, a hint about /boot/grub2/grub.cfg.old
should be given or the option to generate it completely anew.


You are receiving this mail because: