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.
initrd is needed under certain circumstances (LUKS/LVM/RAID rootfs being some of the primary ones¹).
While an initrd may not be required on an individual host level, at the distro level it seems quite reasonable to say: "If some of the users will need one, then lets just use one for everyone, whether it's strictly needed or not, and keep things consistent".
¹ early firmware loading also being another one, which is more important than it used to be post spectre/meltdown.
Distribution: slackware 15.0 64bit, 14.2 64 and 32bit and arm, ubuntu and rasbian
Posts: 495
Rep:
i must confess I always use huge, and if i compile my own kernels I include the fs support (ext2/3/4) etc. to avoid having to create an initrd, so I'm greatful for those "huge" kernels. it does follow the KISS principle, and if you have very limited ram and don't want to do your own kernel, you can still use what is available.
I don't think that is something in common between the initrd usage and not following whatever KISS principles.
And regarding the memory consumption, the default "huge" kernel is rather memory wasteful, because the allocated memory for initrd is freed after switching to real root, if I understand right from what other distributions says.
Last edited by ZhaoLin1457; 01-30-2019 at 01:34 PM.
initrd is needed under certain circumstances (LUKS/LVM/RAID rootfs being some of the primary ones¹).
While an initrd may not be required on an individual host level, at the distro level it seems quite reasonable to say: "If some of the users will need one, then lets just use one for everyone, whether it's strictly needed or not, and keep things consistent".
¹ early firmware loading also being another one, which is more important than it used to be post spectre/meltdown.
Fair enough, but if I was betting person, most people would be ignorant of teh fact and not need it.
I've always used hardware RAID, even at home since 2000ish, so I admit not looking into it, but, if it goes in an initrd image, then surely it can be used in boot kernel, I cant imagine linux in 2019 needing it for software RAID, but.. as vI said I admit ignorance in software RAID.
early firmware loading also being another one, which is more important than it used to be post spectre/meltdown.
Although I'm initrd fan, sometime ago somebody emailed me that it is possible to load microcode with the huge kernel.
There will come the day I'll investigate it ;-)
Although I'm initrd fan, sometime ago somebody emailed me that it is possible to load microcode with the huge kernel.
There will come the day I'll investigate it ;-)
you can just load the microcode in place of the initrd, like (excerpt from lilo.conf)
But, but, but /boot/intel-ucode.cpio is still an initrd, which by its own existence and usage, defeats the claim that you can load the microcode without an initrd.
That the kernel is capable to load multiple (concatenated) initrds, that's entirely another story.
Last edited by ZhaoLin1457; 01-30-2019 at 03:49 PM.
I built a custom kernel this morning. That is something I hadn't done in maybe 4 years. I just really got tired of building an initrd on each kernel upgrade. I was really tired of kernel upgrades in current. I blacklisted those things and all its parts.
I took out loads of stuff from the generic kernel, especially for embedded and stuff I was sure about. I also used the latest stable release - 4.20.5. That way, I won't be tempted to upgrade so often.
The only boo-boo was not building the nvidia driver for the second kernel. The three finger salute sent me back to correct that self-inflicted bludgeoning.
So far, everything works, and it seems to have shaved about 20 seconds. I'm too lazy to go back and time that again.
I built a custom kernel this morning. That is something I hadn't done in maybe 4 years. I just really got tired of building an initrd on each kernel upgrade. I was really tired of kernel upgrades in current. I blacklisted those things and all its parts.
I took out loads of stuff from the generic kernel, especially for embedded and stuff I was sure about. I also used the latest stable release - 4.20.5. That way, I won't be tempted to upgrade so often.
The only boo-boo was not building the nvidia driver for the second kernel. The three finger salute sent me back to correct that self-inflicted bludgeoning.
So far, everything works, and it seems to have shaved about 20 seconds. I'm too lazy to go back and time that again.
I was just about to ask what happened to roll your own people
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.