[arch-general] Kernel upgrades question, as can't revert to earlier kernel

Nigel Henry cave.dnb2m97pp at aliceadsl.fr
Fri May 30 08:17:53 EDT 2008


Update on the updated kernel below.

On Thursday 29 May 2008 01:08, Nigel Henry wrote:
> On Wednesday 28 May 2008 23:47, Aaron Griffin wrote:
> > On Wed, May 28, 2008 at 4:35 PM, Nigel Henry
> >
> > <cave.dnb2m97pp at aliceadsl.fr> wrote:
> > > I've noticed for some time now that some distros are upgrading the
> > > current running kernel, rather than installing a new kernel version,
> > > which if there are problems with the new kernel, you could boot the
> > > earlier kernel, which you know was working ok.
> > >
> > > I'm currently updating my Don't Panic install, and there is a kernel
> > > update to 2.6.25.4-1 , and 21% done so far. Is there some way that this
> > > latest kernel version can be installed as a new kernel, and leave the
> > > existing one alone?
> > >
> > > I don't like this way of updating the kernel, as you have no way of
> > > booting to the earlier one if the latest version is problematic.

> > > Nigel.
> >
> > We don't really support this due to the sheer hassle, but it is easy
> > enough to downgrade to an old kernel, as all packages are kept in a
> > cache on your machine. If a new kernel borks for you, just pacman -U
> > the right files from /var/cache/pacman/pkg
>
> Thanks for all the suggestions folks. I'll just let the upgrade run for
> now, and hope that the 2.6.25 kernel doesn't screw my sounds up.

> Nigel.

Well the 2.6.25 kernel didn't bork the sounds, but for some reason is unable 
to load the tuner module for my TV card, although the bttv module, and 
related deps are loaded. See below for the results of a modprobe tuner.

[root at myhost djmons]# modprobe tuner
FATAL: Error inserting tuner 
(/lib/modules/2.6.25-ARCH/kernel/drivers/media/video/tuner.ko): Unknown 
symbol in module, or unknown parameter (see dmesg)
[root at myhost djmons]#

Anyway, putting that little problem aside, I decided to install the earlier 
kernel that worked, and also keep the 2.6.25, to see if it was fixable. I 
renamed the files in /boot for the 2.6.25, and edited the relevant lines 
in /boot/grub/menu.lst to reflect the renaming in /boot.

Next to install the earlier 2.6.24 kernel, but there was a problem, in that 
the updates that had included the 2.6.25 kernel, also updated some wireless 
packages, and trying to install the 2.6.24 kernel , there were complaints 
that these updated wireless packages depended on the 2.6.25 kernel, see 
below.

[root at myhost djmons]# pacman 
-U /var/cache/pacman/pkg/kernel26-2.6.24.4-1-i686.pkg.tar.gz
loading package data...
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: ipw3945: requires kernel26>=2.6.25.3-1
:: madwifi: requires kernel26>=2.6.25.3-1
:: ndiswrapper: requires kernel26>=2.6.25.3-1
:: rt2500: requires kernel26>=2.6.25.3-1
:: wlan-ng26: requires kernel26>=2.6.25.3-1

Now I don't use wireless, so I removed the above packages, but I suppose if 
you do need wireless, I don't see how you could workaround this, if you 
wanted to revert to an earlier kernel version. Anyway having removed the 
offending packages, the 2.6.24 kernel installed ok, and the files vmlinuz26, 
kernel26-fallback.img, and kernel26.img turned up in /boot, along with my 
renamed ones for the 2.6.25 kernel. No new lines were added 
to /boot/grub/menu.lst though for the 2.6.24 kernel (but I've had that when 
installing a kernel with my Debian installs), so added the lines manually.

Reboot, selecting the 2.6.24 kernel, and that booted fine, and everything was 
working as before, including the TV card. Reboot again, selecting the 2.6.25, 
which "ahum" booted, but no sounds, Gkrellm was missing the eth0 section, so 
it looked like no network either, and the darned mouse pointer was stuck in 
the middle of the screen. couldn't get the menu to show with the keyboard, 
ctrl alt backspace worked, and got the menu to shutdown on the login screen.

Booted up using the 2.6.24 kernel, and as I want to keep it, did another 
renaming session in /boot, and an editing session in grubs menu.lst. Now I 
have for the 2.6.24, vmlinuz26-2.6.24.4-1, kernel26-2.6.24.4-1.img, and 
kernel26-2.6.24.4-1-fallback.img. And the same files for the 2.6.25, renamed 
to vmlinuz26, etc, so that a further kernel update will only update the 
2.6.25, and leave the 2.6.24 alone.

Reboot a couple of times to make sure the renaming worked, 2.6.24 is still ok, 
but still the same problems with 2.6.25. Just for fun I did a pacman -Sy, and 
a pacman -Su, and this is a bit strange, as packman said the 2.6.25 needed 
updating, nothing to download, so it wasn't another new 2.6.25, but the one 
in the cache, and as far as I was concerned was already installed, but gone a 
bit pear shaped. I said yes to this supposed updating of the 2.6.25, and the 
kernel was installed, as below.

[root at myhost djmons]# pacman -Su
:: Starting full system upgrade...
resolving dependencies...
looking for inter-conflicts...

Targets: kernel26-2.6.25.4-1

Total Download Size:    0.00 MB
Total Installed Size:   74.36 MB

Proceed with installation? [Y/n]
checking package integrity...
(1/1) checking for file conflicts                   [############] 100%
(1/1) upgrading kernel26                            [############] 100%
>>>
>>> If you use the LILO bootloader, you should run 'lilo' before rebooting.
>>>
>>> Updating module dependencies. Please wait ...
>>> MKINITCPIO SETUP
>>> ----------------
>>> If you use LVM2, Encrypted root or software RAID,
>>> Ensure you enable support in /etc/mkinitcpio.conf .
>>> More information about mkinitcpio setup can be found here:
>>> http://wiki.archlinux.org/index.php/Mkinitcpio

>>> Generating initial ramdisk, using mkinitcpio.  Please wait...
==> Building image "default"
==> Running command: /sbin/mkinitcpio -k 2.6.25-ARCH -c /etc/mkinitcpio.conf 
-g /boot/kernel26.img
:: Begin build
:: Parsing hook [base]
:: Parsing hook [udev]
:: Parsing hook [autodetect]
:: Parsing hook [pata]
:: Parsing hook [scsi]
:: Parsing hook [sata]
:: Parsing hook [keymap]
:: Parsing hook [filesystems]
:: Generating module dependencies
:: Generating image '/boot/kernel26.img'...SUCCESS
==> SUCCESS
==> Building image "fallback"
==> Running command: /sbin/mkinitcpio -k 2.6.25-ARCH -c /etc/mkinitcpio.conf 
-g /boot/kernel26-fallback.img -S autodetect
:: Begin build
:: Parsing hook [base]
:: Parsing hook [udev]
:: Parsing hook [pata]
:: Parsing hook [scsi]
:: Parsing hook [sata]
:: Parsing hook [keymap]
:: Parsing hook [filesystems]
:: Generating module dependencies
:: Generating image '/boot/kernel26-fallback.img'...SUCCESS
==> SUCCESS
[root at myhost djmons]#

Well all that seemed a bit bizarre, but I went with it. I was obviously doing 
this while booted up with the 2.6.24 kernel, so rebooted using the 2.6.25 
one, and now everything is again working ok, sounds, eth0, and the mouse, 
excepting of course the original problem of the inserting of the tuner 
module.

Sorry for this rambling diatribe, but I thought I'd post this, as it wasn't a 
5 min job, adding an earlier kernel, while retaining the latest.

I'll have a look at the "savekernel" package that Jaroslav mentioned, as this 
has to be easier than the time it took me.

Feel free to trim this exceedingly long reply of all the irrelevant stuff.

Nigel.






More information about the arch-general mailing list