this post was submitted on 02 Oct 2023
23 points (100.0% liked)

Arch Linux

7750 readers
2 users here now

The beloved lightweight distro

founded 4 years ago
MODERATORS
 

Hello mates,

As you know, in arch Linux the kernel is updated frequently but, is mandatory or good practice reboot any time the kernel is updated?

Edit: Thank you guys for your replies

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 10 points 1 year ago* (last edited 1 year ago) (1 children)

The kernel is loaded into RAM so it shouldn't cause issues unless for some reason it gets unloaded. The updated kernel is written to disc first then loaded into RAM apon a reboot. Other parts of the system can cause issues when updated tho, like the audio stack as it gets unloaded whenever it's not in use.

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago) (3 children)

Except for kernel modules - which are stored on disk and often loaded on demand. Though most distros keep around the old kernel and kernel modules to avoid issues. You can still get issues on distro such as Arch which replace the kernel and modules on an upgrade - though there is the kernel-modules-hook package with pacman hooks to keep the old modules around until the next reboot to fix this.

If you don't have the kernel-modules-hook package installed on Arch you really should reboot shortly after an upgrade to the kernel or else new devices you plug in might not function until you do (typically USB as those tend to be what you hotplug the most).

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

To further clarify : On Arch Linux, the new kernel and its corresponding modules are installed on the system, but they are not immediately loaded into RAM. Until you reboot your system, the old kernel and its associated modules remain in memory. Once you restart your system, the new kernel is loaded into RAM, and the old kernel and its modules are unloaded from memory. From that point onward, the system uses the new kernel and its modules.

If the modules from the old Kernel weren't loaded previously then they won't be loadable into RAM when you say pluggin a USB device, but USB devices that were already plugged in will continue to work because the module was already loaded into RAM from the old kernel.
You'd have to unplug the USB device and wait for the system to unload the module from memory automatically(which doesn't happen often because it's in best interest for the system to keep the module around in case it's needed again) Or unload it yourself for problems to occurred.
By unplugging and replugging the same USB device during this time, it'll still work as the model wasn't immediately unloaded.

The package you shared makes a copy of the old kernel modules on disc to a different location prior to the Kernel update process replacement of the old Kernel as to load them if they're not already available in RAM.

[–] [email protected] 1 points 1 year ago (1 children)

First time I hear about kernel-modules-hook. For sure I'm going to try.

Thanks for the recommendation