Bug 834320

Summary: mkinitrd fails during update (M3 -> M4)
Product: [openSUSE] openSUSE Tumbleweed Reporter: George Baltz <GeoBaltz>
Component: BootloaderAssignee: Jiri Srain <jsrain>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P3 - Medium CC: mchang, nwr10cst-oslnx, rb03884, rsalevsky
Version: 13.1 Milestone 4   
Target Milestone: ---   
Hardware: x86-64   
OS: SUSE Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: output of save_y2logs
Error during initrd creation screenshot

Description George Baltz 2013-08-09 23:31:08 UTC
Created attachment 552085 [details]
output of save_y2logs

User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0

All mkinitrd invocations fail with this message:

Perl-Bootloader: 2013-08-09 15:07:47 <3> pbl-6527.2 FileIO::ReadFile.85: Error: Failed to open /proc/misc: No such file or directory
Can't use an undefined value as an ARRAY reference at /usr/lib/perl5/vendor_perl/5.18.0/Bootloader/Tools.pm line 431.
There was an error generating the initrd (2)

And the grub menu does not show the new (3.10.1) kernel versions.


Reproducible: Didn't try

Steps to Reproduce:
1. Ran update with 13.1M4 DVD image on USB against my 13.1M3 image
2. On reboot, only the 3.10.0 kernels appeared
3.
Actual Results:  
mkinitrd fails, so no updatebootloader

Expected Results:  
Both should be in the menu
Comment 1 Rick Salevsky 2013-08-12 09:43:31 UTC
I have the same problem on an new installation but always on server hardware and only sometimes on desktop hardware.
Comment 2 Michael Chang 2013-08-13 10:04:58 UTC
I believe /proc missing is the cause.

*** This bug has been marked as a duplicate of bug 827520 ***
Comment 3 Neil Rickert 2013-08-13 12:04:49 UTC
I am doubting that this is a duplicate of 827520 which involves problems with "overlayfs" that is not used on DVD images.
Comment 4 Michael Chang 2013-08-14 03:21:30 UTC
Ok. Reopen.
Comment 5 Michael Chang 2013-08-14 03:43:52 UTC
Other than the perl bootloader error, there's some other error logged by missing /proc:

2013-08-09 14:41:18 <1> linux(2615) [Ruby] modules/SlideShowCallbacks.rb:421 Additional RPM output: Additional rpm output:
Opening /proc/modules: No such file or directory
Opening /proc/modules: No such file or directory

2013-08-09 14:49:30 <1> linux(2615) [Ruby] modules/SlideShowCallbacks.rb:421 Additional RPM output: Additional rpm output:
killall: /proc lacks process entries (not mounted ?)

The /proc seems to start missing at some point, the last occurrence as far as I can see is

2013-08-09 14:32:17 <1> linux(2615) [Ruby] modules/Arch.rb:379 stat /proc/xen: $[]

I have no idea on what happened during 14:32:17 ~ 14:41:18 and this looks not like bootloader issue but other system component.

Needinfo coolo, hope he knows better or who can point better resolution for this.
Comment 6 Jiri Srain 2013-08-14 12:55:57 UTC
Is there /proc in your fstab before upgrade? The log says:

2013-08-09 14:32:36 <1> linux(2615) [Ruby] modules/RootPart.rb:1760 fstab [$["file":"swap", "freq":0, "mntops":"defaults", "passno":0, "spec":"/dev/disk/by-id/ata-ST9250315AS_6VCLFYMY-part6", "spec_old":"/dev/disk/by-id/ata-ST9250315AS_6VCLFYMY-part6", "vfstype":"swap"], $["file":"/", "freq":1, "mntops":"acl,user_xattr", "passno":1, "spec":"/dev/disk/by-id/ata-ST9250315AS_6VCLFYMY-part7", "spec_old":"/dev/disk/by-id/ata-ST9250315AS_6VCLFYMY-part7", "vfstype":"ext4"], $["file":"/home", "freq":1, "mntops":"defaults", "passno":2, "spec":"/dev/disk/by-id/ata-ST9250315AS_6VCLFYMY-part8", "spec_old":"/dev/disk/by-id/ata-ST9250315AS_6VCLFYMY-part8", "vfstype":"ext4"]]

which does not include /proc. Then, obviously, installer does not mount it.
Comment 7 George Baltz 2013-08-14 14:58:51 UTC
I don't know about fstab before the update, but it was a functional 13.1M3 system.  The current fstab has only the HD partitions: /, /home, and swap.

But the fstab shouldn't affect the installation environment; the only partition that should be touched is the root partition being updated.
Comment 8 Jiri Srain 2013-08-15 08:26:46 UTC
fstab does affect the installation environment; YaST reads the fstab in order to mount target system. If you have /usr on a separate partition, but don't enlist it in fstab, YaST can hardly update the system.

Since this part of the installation runs in chroot to the target system, it needs to be mounted properly.

Therefore the question - why is /proc missing in fstab - is still valid.
Comment 9 George Baltz 2013-08-15 10:02:10 UTC
/etc/fstab doesn't seem to have much to do with the pseudo-filesystems since systemd came into play - from this running 13.1M4 system:

gwb@gidney:~> wc -l /etc/fstab
3 /etc/fstab
gwb@gidney:~> mount | wc -l
28
gwb@gidney:~> grep proc /etc/fstab
gwb@gidney:~> mount | grep proc
proc on /proc type proc (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=27,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
none on /var/lib/ntp/proc type proc (ro,nosuid,nodev,relatime)

So systemd manufactured 25 mount items from somewhere other than fstab.

And there was a /proc earlier in the installation (see comment #5) - where did it come from? And where did it go?
Comment 10 Roman Bysh 2013-08-20 19:17:43 UTC
Created attachment 553366 [details]
Error during initrd creation screenshot

There's an error in the Perl-Bootloader.

Can't use an undefined value as an ARRAY reference at 
/usr/lib/Perl5/vendor_perl/5.18.0/Bootloader/Tools.pm line 431
Comment 11 Roman Bysh 2013-08-20 19:27:07 UTC
There's a missing /proc/misc directory according the Perl-Bootloader.

Perl-Bootloader: 2013-08-09 15:48:17 <3> pbl-7359.2 FileIO::ReadFile.85: Error: Failed to open /proc/misc: No such file or directory

Can't use an undefined value as an ARRAY reference at /usr/lib/Perl5/vendor_perl/5.18.0/Bootloader/Tools.pm line 431

There was an error generating the initrd (2)
Comment 12 Jiri Srain 2013-08-29 12:53:03 UTC
Pull request in the YaST git repo waiting for review...
Comment 13 Jiri Srain 2013-08-30 08:48:40 UTC
Fixed in yast2-update 3.0.3