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.
It's not the time spent on loading the modules that matters.
It's the time spent compressing them (the whole initrd).
zstd -9 takes less than 5% the time by xz -6.
It was about "universal initramfs file" containing all the modules.
If you leave modules uncompressed and compress the whole initrd, it will explode when the initrd is loaded because all the uncompressed modules would use lots of RAM. The idea is to compress all the modules individually with xz. Look at the initrd of the slackware install disk. When the boot loader loads the initrd, the modules stay compressed, so RAM is saved. Only those modules that are then modprobed are uncompressed. The time to do the compressing of modules does not matter, and PV does the compressing once. It's not much: I use xz to compress my bzImage, modules and firmware files.
It was about "universal initramfs file" containing all the modules.
If you leave modules uncompressed and compress the whole initrd, it will explode when the initrd is loaded because all the uncompressed modules would use lots of RAM. The idea is to compress all the modules individually with xz. Look at the initrd of the slackware install disk. When the boot loader loads the initrd, the modules stay compressed, so RAM is saved. Only those modules that are then modprobed are uncompressed. The time to do the compressing of modules does not matter, and PV does the compressing once. It's not much: I use xz to compress my bzImage, modules and firmware files.
Compressing individual modules is a good idea. There are however still two things that I don't quite understand --
1) The initrd will be removed from memory once the real init takes over, so what's the problem of it occupying a few hundred megabytes of memory for just a few seconds?
2) Compressing once looks good, but note that loading and decompression also happen for only once before the next kernel update if the system never reboots (could be suspended to disk).
On all the servers and workstations I manage I load the whole /lib/modules directory from /boot/initrd-tree/init in the form of a zstd compressed squashfs. It does not explode even the memory of tiny embedded systems and virtual machines.
I completely agree that your solution is good. I'm just saying that there are alternatives with advantages and possibly disadvantages.
It might be worth noting that the 6.1 kernel in Slackware current is a longterm kernel which hopefully will get updates some years after Slackware 15.1 has been released. This is probably why current uses the 6.1 kernel rather than the latest stable 6.5 kernel.
It might be worth noting that the 6.1 kernel in Slackware current is a longterm kernel which hopefully will get updates some years after Slackware 15.1 has been released. This is probably why current uses the 6.1 kernel rather than the latest stable 6.5 kernel.
regards Henrik
Kernel 6.1 is super-long-term stable (SLTS) so it will be kept for Slackware 15.1
Only after the release of 15.1 can we talk about a new kernel for Slackware64-current!
Kernel 6.1 is super-long-term stable (SLTS) so it will be kept for Slackware 15.1
Only after the release of 15.1 can we talk about a new kernel for Slackware64-current!
I have no hopes for the Slackware 15.1 with Plasma5 to be released before everybody else will ship Plasma6 . Yep, there will be the glorious Slackware 14.2 all over again. It's not crystal clear for everybody?
And that's plenty of time to have another LTS kernel or even two...
Last edited by LuckyCyborg; 10-31-2023 at 06:48 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.