You are not logged in.
Hi,
I'm a recent Arch convert, and after a week of experimenting and sinking my teeth into the documentation, I'm really happy with it.
Just out of curiosity: what possible problems can occur on a major upgrade, like a kernel upgrade? Let me try to figure it out by myself, and then correct me if I'm wrong.
1) new kernel stanza in /boot/grub/menu.lst. OK, this one should be no problem.
2) Does an upgrade delete the old version of the kernel, or is it kept? If you update on a RHEL system for instance, kernel packages are always kept on the system, so you can easily use the old kernel to fall back on.
3) Most obvious: modules. What about third-party modules like NVidia modules, gspca webcam modules or the likes... are they all part of a "bundled" upgrade? E. g. let's say I have installed nvidia and gspca, will the binary modules also be available for the new kernel?
While I'm at it, another thought crosses my mind. What happens when the whole toolchain is rebuilt? One huuuuuge update?
I'm curious...
Dyslexics have more fnu.
Offline
For modules, see thread.
I don't trust a distro with such important things as the kernel and kernel modules - I make sure they are compiled by *me*, so that the tinkering is limited to the things I am interested in, and that they are compiled correctly. This does of course involve extra effort.
The toolchain was recompiled about 2 months ago, IIRC. Yes, big update, but I wouldn't call it huuuge. Kinda like upgrading gnome from one version to the next.
Improve your desktop responsiveness and font rendering and ALSA sound and BusyBox init
Offline
The toolchain was recompiled about 2 months ago, IIRC. Yes, big update, but I wouldn't call it huuuge.
Admit I have a "dated" toolchain, and a system with software built on top (if I may say so) of that toolchain: X11, XFCE desktop, applications, ...
I thought that updating the toolchain also meant that you had to rebuild all the software on your system on the new toolchain. Or is there some sort of "backwards compatibility"? (I'm not a developer, so I have to use my own words to describe my ignorance
)
Dyslexics have more fnu.
Offline
2) Does an upgrade delete the old version of the kernel, or is it kept? If you update on a RHEL system for instance, kernel packages are always kept on the system, so you can easily use the old kernel to fall back on.
Usually the kernel and initrd image are simple overwritten, old modules are removed, new ones are installed, you can't easily go back to previos kernel (however if you can boot the system, and old kernel package is still somewhere in /var/cache/pacman/pkg/ you can reinstall the old kernel)
3) Most obvious: modules. What about third-party modules like NVidia modules, gspca webcam modules or the likes... are they all part of a "bundled" upgrade? E. g. let's say I have installed nvidia and gspca, will the binary modules also be available for the new kernel?
Devs usually push kernel updates together with modules updates.
Completly new kernel (2.6.X) usually stays in testing for a week or so, all modules are recompiled for new kernel, some testing/patching occures, then it's pushed to core
Patched kernels (line 2.6.X.Y) do not require module recompile, and are pushed much easier to core.
If you have compiled your own kernel or modules, than it's your task to keep them updated and synchronized.
While I'm at it, another thought crosses my mind. What happens when the whole toolchain is rebuilt? One huuuuuge update?
It's not uncommon to have gcc, or glibc update once in few months, usually nothing happens, you just download few changed packages, install it and life goes on.
Offline
Or is there some sort of "backwards compatibility"?
Yes.
Improve your desktop responsiveness and font rendering and ALSA sound and BusyBox init
Offline
1) new kernel stanza in /boot/grub/menu.lst. OK, this one should be no problem.
Nothing happens here. Generally, we never change configuration files, and in grub's case, we don't have to.
2) Does an upgrade delete the old version of the kernel, or is it kept? If you update on a RHEL system for instance, kernel packages are always kept on the system, so you can easily use the old kernel to fall back on.
We overwrite the existing kernel. If we upload a broken kernel, you're screwed. Our package management only allows one version of each package to be installed, so we cannot easily keep the old one.
Some very cautious people have their own fallback kernel (either a copy of an old Arch kernel or their own self-built one) for emergencies. I have to add that no official Arch kernel ever failed on my systems.
3) Most obvious: modules. What about third-party modules like NVidia modules, gspca webcam modules or the likes... are they all part of a "bundled" upgrade? E. g. let's say I have installed nvidia and gspca, will the binary modules also be available for the new kernel?
The modules we provide in binary packages are always kept in sync with the kernel. So as long as you installed the modules from an official repository with pacman, you should be fine.
We always use a version number like 2.6.24-ARCH, minor updates do not change that number and a module rebuild is only necessary for major updates. However, as soon as you use unofficial repositories or build modules yourself, you must take care of the module rebuilds yourself.
While I'm at it, another thought crosses my mind. What happens when the whole toolchain is rebuilt? One huuuuuge update?
We don't rebuild the whole repository when we update the toolchain, we neither have the time nor the manpower to do that. We recently updated to gcc 4.3 and glibc 2.7, all built with the userspace linux headers included in 2.6.24. Binaries built with older compilers still work fine. However, many of our PKGBUILDs will now be broken, so not all packages will compile, those are fixed when recompiling is needed.
Offline