change_kernels (change the linux kernel being used)

Moderator: Forum moderators

Post Reply
User avatar
bigpup
Moderator
Posts: 6268
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 732 times
Been thanked: 1292 times

change_kernels (change the linux kernel being used)

Post by bigpup »

This is for frugal or live installs of Puppy Linux.
Installs on a USB drive, SD card, Hard drive.
Can not do this on a CD/DVD install or a full install. (CD/DVD installs have read only files. full install do not have needed files to change)

Change_kernels is a program most Puppy versions have.
It is a simple program to use to change the kernel being used.

A little Linux kernel background info:
The Linux kernels main purpose is to provide hardware support.
The Linux kernel used in a Puppy version, may not provide the needed support for the computers hardware.

Very new hardware requires a very new kernel.

Old or very old hardware, may be better supported, by an older kernel version.
Newer kernels are dropping support for very old hardware. (kind of hit and miss what is still supported)
Depends on how the kernel was compiled. There is huge amount of possible config choices.
For sure the newest kernel should support the newest hardware.

Consider kernels as different series.
2 series, 3 series, 4 series, 5 series, etc........
Those series have different versions.
Example:
Linux kernel series 4
Kernel 4.0.0
kernel 4.0.12
kernel 4.1.22
kernel 4.4.66
etc.......
These are updates to original series 4.0.0 kernel. Added drivers, changed settings and config, bug fixes, etc.....

General rule for what hardware should be supported.
Very, very very old hardware -> kernel 2 series and maybe series 3.
Very old hardware -> kernel series 4 and maybe some series 3. Even series 5, maybe still supports it.
Very new hardware -> kernel series 5 and maybe the newest one or a kernel not made yet.

you can change the kernel, to any kernel version, you would like to use, with this tool

In a terminal enter

Code: Select all

change_kernels

Note:
Best to use a kernel package that was compiled for Puppy Linux.

Here are all the normal Puppy kernel packages that can be used:
http://distro.ibiblio.org/puppylinux/huge_kernels/

Some newer Linux kernel packages are here:
viewforum.php?f=65

64 bit kernels have 64 in the package name.
No 64 in name, it is 32bit kernel.

Download a huge kernel tar.bz2 package and extract the files in it to a directory.
open the change_kernels program
open in rox file manager the directory holding the extracted huge kernel components
drag and drop the correct vmlinuz and kernel-modules.sfs or zdrv.sfs paths to the program input slots.
answer prompt yes
The program makes all the needed name changes.
reboot
Should now be using the new kernel.

Just to better understand the change_kernels program.

The info for the input slots is a little miss leading.
(Use nothing from the running Puppy)

What goes into the slots is stuff from the new kernel.
Top slot -->the vmlinuz file
Bottom slot -->the zdrv sfs or the kernel-modules sfs

There is a kernels button (bottom right) that will take you to the repository of all the regular Puppy versions kernels.
You can use any of them, however get too old a kernel and newer hardware may not be supported.

If you cannot run change_kernels program.
after you extract the new kernel package files.
Change the name of the zdrv.sfs to the exact name it is in the Puppy version.
Delete the vmlinuz and the zdrv sfs files from the Puppy install.
Replace them with the new ones from the new kernel package.
Reboot.

Note:
There are some newer versions of change_kernels that have more options.
So, your version may look a little different.
This info is basic operation of the program.

Example:
This is the newest version of change_kernels with more options.
.

Screenshot.jpg
Screenshot.jpg (32.38 KiB) Viewed 2752 times

.

Screenshot(1).jpg
Screenshot(1).jpg (31.66 KiB) Viewed 2752 times
Last edited by bigpup on Thu Jul 01, 2021 7:17 pm, edited 6 times in total.

Forum Global Moderator
The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

backi
Posts: 589
Joined: Thu Jul 23, 2020 2:28 pm
Has thanked: 71 times
Been thanked: 65 times

Re: change_kernels (change the linux kernel being used)

Post by backi »

Very good Tutorial........like it .......helps a lot :thumbup:
Thank you very much!

User avatar
Hesse James
Posts: 2
Joined: Wed Jul 22, 2020 3:48 pm
Location: Lower Saxony (Germany)
Been thanked: 4 times

Re: change_kernels (change the linux kernel being used)

Post by Hesse James »

Hello
Yes, the "change_kernels"-script is a useful tool to upgrade the linux kernel. It was developed by 01Micko.
But all that handling of the Kernel packages and which one to choose might be not handy enough for beginners.

I had another idea for my wifes' computer: I fused the known "change_kernels" script and new updated Kernels files of Kernel 5.4.196 for Focal Fossa Puppy Linux into a PET-package, added a prise of automation and obtained a package that installs the accompanied kernel full automatically without user confusion. An uninstall of this package generates the previous status of Focal Fossa back (e.g. with Kernel 5.4.53). I tested this on two computers under Focal Fossa and it does what it should do. But I am not sure, that it will work under all possible conditions. So it is at the moment an experimental idea and approach. So be careful if you want to try it.

Another thing why it is experimental only: Kernel 5.4 needs Aufs 5.4.3 which is no longer supported. There is an unpleasant modification within Kernel 5.4.196 that lets fail the kernel patching by Aufs. I corrected that but I am not 100% sure that it works correctly. I think it does, it compiled ok and I had no issues so far, but who knows...
So, try it on your own risk, best with an experimental installation.
Enjoy.
Christian
Linux Kernel 5.4.196, tested with Focal Fossa
Linux Kernel Heaaders 5.4.196, tested with Focal Fossa
P.S. By the way the "change_kernels" script leaves a real mess in the kernel folder after some installation trials. Hm...

Post Reply

Return to “Utility”