SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Could someone please explain to me the difference in Slackware Kernels such as "generic-5.15.145" and a kernel that is built from scratch (i.e. Kernel-5.15.145)?
Also, if I build a custom kernel from say 5.15.150, does this need an initrd like the
"generic-5.15.145" since "huge-5.15.145" does not?
Are the kernel modules built when I try and build a kernal from scratch since Slackware
kernel upgrades have a "modules-5.15.145" ?
Just trying to figure out the difference between the Slackware64 kernels and one that may
be build from the Linux Kernel.org site.
Thanks for any info, I have been unsuccessful in trying to get this off of google (I may not
be asking the question in the corret manner).
A generic kernel is one that will work on practically any machine. Distro developers don't know what kind of hardware you have, so they build all the available drivers as modules. Udev loads the appropriate ones as the kernel identifies the hardware. The Slackware generic kernel is a kernel of this kind. All generic kernels need an initial root device (initrd or initramfs) from which to load filesystem (and other) drivers before they can access the true root partition.
If you build your own kernel, you don't need to build drivers for hardware that you don't have, so the build is faster. You can also build in things like filesystem drivers for your hard drive and root partition rather than building them as modules, so that you won't need an initrd. But if you misconfigure the kernel, it won't boot properly.
The huge kernel is unique to Slackware. It has practically everything built-in rather than built as modules so that it doesn't need an initrd either.
It's also a really, really good idea to keep two kernels installed at the same time--one new one and your last good one. (So I've got 6.6.29 and 6.6.30. 6.6.30 had a huge bug for me, so it's 6.6.29 until 6.6.31 comes out, then I'll keep v. 29 installed, uninstall 30, and see how it goes with 31.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.