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.
At the end of the installation of v 15, appeared a "note" in weird English, BTW; saying that i have to do something with initrd! i did it with old versions.
The thing is that i have had 1 ibm laptop for almost 23 years, with sda1 OpenBSD, sda2 Debian, and sda3 Slackware working perfectly.
But 1 week ago, my HD was broken, and i did a reinstallation using Slackware 15, by my surprise, it is more weird than Slackware 7 which was the king, for me.
First, at the end of installation, there is a very confuse note, at least by me, do you remember KISS ? talking about initrd, i stop there because it is unclear, it is written in european English, that has many words but no sense!
Edited.
What it says is:
Use huge kernel, it does not need initrd !
Second, lilo does not recognize OpenBSD and Debian.
Edited:
v i4.2 did the same initrd thing.
Third, lilo said that there is not a correct boot for Debian.
In few words, i had to go back to 14.2 and a question, does somebody know why and how to deal with that please?
Edited:
i went back to v 15, and it does not recognize Debian; OpenBSD is ok now.
The process was the same:
Partitions with cfdisk first and install Slack at the end!
install OpenBSD
install Debian
In Slackware 7, you would have chosen a kernel that suited your system provided on the install disk. In Slackware 12, all the options were merged into one huge kernel. When you install Slackware 15, you get the huge kernel too, which is the default choice and does not require an initrd. There is a generic kernel in Slackware 15, if you switch to that, you will then need to add an initrd. So you don't need to pick a kernel during install and do not need to create an initrd on your own. That is what it is saying.
If you had an issue in setting up your system, you can ask more.
At the end of the installation of v 15, appeared a "note" in weird English, BTW; saying that i have to do something with initrd!
Yeah. Read the manual:
Code:
$ less /boot/README.initrd
Quote:
Originally Posted by agropec
But 1 week ago, my HD was broken, and i did a reinstallation using Slackware 15, by my surprise, it is more weird than Slackware 7 which was the king, for me.
Slackware 7.0 was running Linux kernel version 2.2.13, which was small enough to not require a separate initrd... it could be built in. As the Linux kernel grew, though, this became unsustainable for system builders and distro packagers.
I miss many things about Slackware 7.0 as well, but unfortunately those days are long gone. initrds have been part of most Linux distributions for >20 years, including Slackware. If you haven't learned about them yet, then you should.
I see no good reason to rely on an initrd unless you actually want an encrypted file system. For most people all that's required to eliminate the "need" is to build a kernel with whatever filesystem your root uses as built-in instead of as a loadable module. You can select whether you'd like to start with a generic config and enable what you need at boot time,. or a huge config and pare down. Yes, I too have nostalgic memories of tweaking for hours to get a kernel to fit on a floppy but that was before the life-saver of loadable module support.
It no longer matters much if your kernel won't fit on 5 floppies since if a module doesn't load because it isn't needed the only real penalty is compile time for the accommodation for stuff you don't need. Once running, a modern kernel on the same machine that's even 10MB will run just as fast as one half that size on the same machine. The 10MB just took longer to make. Even that can be reduced these days by adding the "-j(number)" switch to "make" where the number is at least one more than your number of cores. I'm not certain about virtual cores, but on a decent machine it just doesn't take that long.
Those messages are notifying you that your kernel has been upgraded and that you may have to do something. With the Slackware it normally as simple as running 'lilo'. If you have other OS's on the computer or use other boot managers such as grub, then it's up to you to know how to do what is needed.
If you are using kernel-huge, which is the default kernel, nothing needs to be done. The initrd is used with kernel-generic and custom kernels plus as @enorbet mentions above a few other reasons.
Last edited by chrisretusn; 08-31-2023 at 03:56 AM.
You might also like to have a look at the bottom of /etc/lilo.conf_example for an indication of how to get Debian as a boot option from Slackware. ........ happy to be corrected.
I see no good reason to rely on an initrd unless you actually want an encrypted file system.
Except that the generic kernel doesn't have any filesystem support built in. Also, using =/= relying. An initrd is just an extension of the kernel that gets loaded at the same time. It's not difficult to learn how to create or use one... Why be so obstinate about it?
Quote:
Originally Posted by enorbet
For most people all that's required to eliminate the "need" is to build a kernel with whatever filesystem your root uses as built-in instead of as a loadable module.
lol
You honestly believe that building a kernel is less difficult than this:
Distribution: VM Host: Slackware-current, VM Guests: Artix, Venom, antiX, Gentoo, FreeBSD, OpenBSD, OpenIndiana
Posts: 1,011
Rep:
Quote:
Originally Posted by rkelsen
Except that the generic kernel doesn't have any filesystem support built in. Also, using =/= relying. An initrd is just an extension of the kernel that gets loaded at the same time. It's not difficult to learn how to create or use one... Why be so obstinate about it?
lol
You honestly believe that building a kernel is less difficult than this:
5 seconds and you're done... versus how many hours to build a kernel???
Between 4min:30sec to 5min:30sec, this is how much it takes to build kernel
That is on two years old Tigerlake, I would think that desktop systems are a bit faster.
..and you get stuff that default kernels do not have configured removing stuff not needed.
But that is a choice not sure why this is controversial. Plus issues like one with elilo not booting kernel never happened. So yes, I prefer custom kernel
Between 4min:30sec to 5min:30sec, this is how much it takes to build kernel
From the time you type "make," you are probably correct... But the part which takes the longest is not the actual building of the kernel itself, is it?
How long does it take to go through all of the configuration options to work out precisely what is needed and what is not? Truthfully speaking, it can take years of experience to obtain the level of knowledge required to end up with a fully functioning system at the end of a custom kernel build.
Quote:
Originally Posted by Aeterna
So yes, I prefer custom kernel
Excellent. More power to you! But everything does not have to be done the hard way...
Distribution: VM Host: Slackware-current, VM Guests: Artix, Venom, antiX, Gentoo, FreeBSD, OpenBSD, OpenIndiana
Posts: 1,011
Rep:
Quote:
Originally Posted by rkelsen
From the time you type "make," you are probably correct... But the part which takes the longest is not the actual building of the kernel itself, is it?
How long does it take to go through all of the configuration options to work out precisely what is needed and what is not? Truthfully speaking, it can take years of experience to obtain the level of knowledge required to end up with a fully functioning system at the end of a custom kernel build.
Excellent. More power to you! But everything does not have to be done the hard way...
I doubt that OP ever wanted to build custom kernel but your reaction sounds ridiculously exaggerated.
To be clear since I don't ever feel forced to upgrade kernels, even in 2023 when they now have new versions twice a week, I keep kernels for months. I might tie up 2 hours on a substantial version change, like moving from a 5x kernel to a 6x kernel, where "make oldconfig" or "make olddefconfig" takes a bit longer. That 2 hours over a few months, possibly a year or more (since I run a massively multiboot system) is preferable to having to mess with the extra step of even having to think about an initrd let alone the added element that nevertheless adds complexity in troubleshooting.
I see people complain about having to remember to run "lilo" after a config change or kernel upgrade. I think there is no comparison to having to deal with initrd. Others use KMS Nvidia to avoid having to run "NVIDIA-foo.run" with a kernel upgrade. I prefer to boot clean, verify, then run the manufacturers own installer.
I'm not saying anyone is silly for using a generic kernel and an initrd and messing with mklinitrd or geninitrd. If that works for you that is perfectly valid but I am going to build a custom kernel anyway to increase performance to suit the quality hardware I buy and the work I do, so why not eliminate an extra step since I'm going to build one anyway?
In Slint if a kernel (with associated modules in the same package) is among the new packages, running "slapt-get --upgrade" triggers building an initrd for the new kernel then running "update-grub" to update the boot menu without further user's intervention.
However users who have blacklisted kernels in /etc/slapt-get/slapt-getrc are informed when running "slapt-get --upgrade" that a kernel upgrade is available but won't be applied. They can manage their kernels as they see fit, including doing nothing or building a custom kernel with or without an initrd.
I think there is no comparison to having to deal with initrd.
The barrier is in your head. You've built it up in your mind to be bigger than it is.
Everything you need to know is in the 598 word mini-HOWTO symlinked in the /boot directory of a standard Slackware installation. This document first appeared in Slackware on 21 June 2004, and was first included in the 10.0 release... >19 years ago. It's worth reading, if only to slay the dragon in your own head.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.