Unable To Boot after updating the Kernel

Yesterday I updated openSuse 11.3 on my laptop.
Kernel update from 2.6.34.4-0.1… to 2.6.34.7-0.3-desktop was included.
Yast performed fine and at the end it stated to reboot for using the new Kernel.

So I did, but what a bad surprise!!>:(

Normally the Grub menu should have been updated, but not this time.
Fortunately I know how to handle this, but not all users will be able to resolve this problem, so here’s what to do if this happens to you:

You will run into the Text console saying:
Press any button to continue…

Before doing this write down on a piece of paper the text lines visible on the screen, starting with:
kernel /boot/vmlinuz-2.6.34.4-0.1-desktop root=/dev/disk/by-id/ata-Hitachi… resume=/dev/disk…:stuck_out_tongue:
or whatever it reads for your system.
You will need this info to edit the menu and succeed to boot.

Now press any key and you will get the Grub menu.
The standard option will be highlighted.
press “e” to edit that option.
Next you will see the Grub menu lines

First press key “o” to add a new line, select it by arrow down, press “e” to edit the line.
(In my case it was not possible to edit the full original line, but only the added options like vag=0x317)
Enter the line you wrote down, but change the kernel’s version number to the new one
Should look similar like:
kernel /boot/vmlinuz-2.6.34.7-0.3-desktop root=/dev/disk/by-id/ata-Hitachi…
(it works if you only use the part before “resume=/dev/disk…”)

After finishing hit Enter and you will turn bach to the Grub menu lines.
Now move with the up/down arrow key to the old line, press “d” to remove the old line.

Next move to the line with “initrd /boot/initrd-2.6.34.4-0.1-desktop”, press “e” and edit the line so that it reads:
initrd /boot/initrd-2.6.34.7-0.3-desktop
press Enter to move back to the Grub menu lines.:’(

Now press “b” to boot.

After booting log in, open your file manager as root, browse to /boot/grub and open the menu.lst file to edit and change the kernel old version numbers to the new one.
Save it and next time it your machine will boot normally again.:slight_smile:

Thanks for the detailed information on how you restored your menu.lst file. I don’t know what happened, but I might suggest you consider changing YaST so that it keeps your old kernel when you add a new one. At least your old one would still work and then you could edit the menu.lst file in more comfort. Here is a reprint of that process:

It is possible to keep both your old and new kernels. You need to change how YaST Software Management works with kernel updates, to allow you to maintain both the old kernel and the newer kernel.

edit the file /etc/zypp/zypp.conf to say:
    ##
    ## Packages which can be installed in different versions at the same time.
    ##
    ## Packages are selected either by name, or by provides. In the later case
    ## the string must start with "provides:" immediately followed by the capability.
    ##
    ## Example:
    ##    kernel                - just packages whith name 'kernel'
    ##    provides:multiversion(kernel)   - all packages providing 'multiversion(kernel)'
    ##                      (kenel and kmp packages should do this)
    ## Valid values:
    ##    Comma separated list of packages.
    ##
    ## Default value:
    ##    empty
    ##
    # multiversion = provides:multiversion(kernel)

    **multiversion = kernel-desktop**
If you use KDE, you can use the menu Run Command:
kdesu kwrite /etc/zypp/zypp.conf
The file zypp.conf has a whole lot more in it than the small portion shown above. You are adding only the line shown in bold (and it will not be in bold in your file after being added. So be careful not to mess anything else up. caf 4926, posted a page from Software Management showing how to then select the added kernel, though this is from the newer openSUSE 11.4, in beta testing right now.

http://dl.dropbox.com/u/10573557/SUSE%20Misc/kernel-radio-switch.png

After making the change, restart your computer and then do the following after you are logged back into openSUSE:

menu / System / YaST & Enter Root User Password, then in YaST Select:

Software Management / View (top Left) / Package Groups / Multiversion Packages

There will be a listing for your loaded kernel. Now select the Versions Tab. Notice on the versions tab that instead of having a Bullet to select, where only one bullet can be active, you now have check blocks and more than one check can be selected.

Now when you select more than one kernel to be loaded, each installed kernel will have two (or more) entries made in your grub, menu.lst file. Thus allowing you to select both the old and new kernel loads. If you install a new kernel and normally install a binary video driver, the hard way, you must reinstall the video driver for each new kernel that you install.

Finally, I have a script file that you can use to compile and install the very latest kernel which also maintains (and does not replace) your old kernel. This thread is located at:

[S.A.K.C - SuSE Automated Kernel Compiler](http://forums.opensuse.org/english/development/programming-scripting/445637-s-k-c-suse-automated-kernel-compiler.html)

This is not something a new user would do, but I don't really know your user level here. Be aware that if you load many kernels, you may begin to forget just what kernel does what, so take it easy and don't blow yourself up which a bunch of kernel installs.

Thank You,