For some time now, I’ve had installed HEAD, STABLE and the default kernel. All have been showing in Grub. Recently, after updating stable to 3.6.5, this kernel disappeared from Grub. After updating HEAD to 3.7.rc3-3 it also disappeared from Grub. I am now left with the default kernel. YaST does show the 3 kernels installed, so it is a problem with the boot loader. I have however not touched its configuration. YaST Bootloader settings show GNU GRUB 2 as being selected. However I hadn’t even installed Grub2, only Grub is installed, so that was surprising. Other than that it only shows the default kernel and windows. HEAD and STABLE do not appear listed.
Here are the relevant screenshots: yast - Imgur
Meanwhile I tried installing grub2 and reinstalling the HEAD and STABLE kernels to see if they were added to the boot loader, but alas, nothing happened.
Any idea how to fix this?
P.S:
Possibly related, I have been updating mkinird using the STABLE kernel repo.
GRUB2 is default in openSUSE 12.2 and is always installed, but on update old bootloader is retained as default and GRUB2 is added to legacy GRUB boot menu so it can be tried. I do not know how happened it became default.
With legacy GRUB kernels are added explicitly in RPM postinstall script. May be this step is missing in your kernels. GRUB2 should build menu on the fly; did you check whether all kernels are present in /boot/grub2/grub.cfg?
I have openSUSE 12.1 (clean installation). I just searched and GRUB was indeed the default in this version, although it also shipped GRUB2. I’m pretty sure that’s what I’ve been using.
My /boot/grub2/grub.cfg is empty.
I also checked /boot/grub for configuration files and all I found was /boot/grub/menu.lst which has the current entries shown in my bootloader:
[Bash] # Modified by YaST2. Last modification on Mon Nov 5 15:17:41 WET 2012 # THIS F - Pastebin.com](http://pastebin.com/dvffmZBR)
Also note I’m not exactly claiming to have been moved to GRUB2 somehow. I simply noticed a reference to GRUB2 on YaST’s bootloader configuration, which I found surprising and confusing.
On further inspection, it seems to me I am still using GRUB and that the GRUB2 reference in the configuration is simply a menu entry in the GRUB menu to start GRUB2. How and why do I have it there… I have no idea.
Thanks, your scripts look rather nice. But I’m unsure how this would help me. Your scripts still use the grub menu configuration file for kernel selection. The problem is precisely that, for some reason, there are no entries being added to this file when I install new kernels.
I tried installation of 3.6.5-1.1-desktop from kernel:STABLE on 12.2 with grub bootloader and it was correctly added to menu.lst. System.map-3.6.5-1-desktop is also present. I downloaded RPM and installed “rpm -i” but should not be different. mkinitrd is executed before bootloader step, so if it fails during installation postinstall script likely aborts. Your log is truncated so it does not show how RPM installation finished.
You need to debug why mkinitrd fails. I do not use 12.1 so cannot help here. May be make sense ask on factory list whether this kernel is even expected to work there? I see, there is mkintrd package in kernel:STABLE project. May be you need to update it as well.
Thanks for trying that. My log is not really truncated. That is the full log. If something is missing I guess that indicated the installation didn’t terminate properly. And I see no reason why these kernels shouldn’t work, and indeed they’ve been working just fine.
I have been regularly updating mkinitrd using the one provided by STABLE. In fact, I suspect the source of the problem may have been the latest updates.
In fact, problem solved. It is an mkinitrd problem.
I downgraded to a previous version of mkinitrd 2.7.1 and all is good now. Since STABLE only provides the latest version, and the default in openSUSE 12.1 is 2.7.0 (which is to low to install the new kernels), I installed the one in 12.2. I figured that would work since the one in STABLE isn’t specific for openSUSE 12.1 either.
On 2012-11-06 18:46, jorgeadriano wrote:
> I have been regularly updating mkinitrd using the one provided by
> STABLE. In fact, I suspect the source of the problem may have been the
> latest updates.
mkinitrd is currently broken in factory, watch out you do not get that
version…
–
Cheers / Saludos,
Carlos E. R.
(from 11.4 x86_64 “Celadon” (Minas Tirith))
There was discussion on factory about broken mkinitrd because utility that computes kernel version (/sbin/get_kernel_version) was relocated. I guess mkinitrd from Kernel:stable is built using new location which fails for old systems. I suggest you contact maintainer (or factory list).