LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Suggested update to README.initrd in Slackware 14 (https://www.linuxquestions.org/questions/slackware-14/suggested-update-to-readme-initrd-in-slackware-14-a-4175424135/)

kikinovak 08-27-2012 05:09 AM

Quote:

Originally Posted by brianL (Post 4765175)
I do it after the first reboot, using /usr/share/mkinitrd/mkinitrd_command_generator.sh as a guideline. Is there any advantage to doing it before the first reboot?

One less reboot, since you'd have to configure LILO accordingly. When you have more than twenty machines to install (as I do right now in a school), this sort of detail is a timesaver. (Thus I can spend the time saved playing minesweeper or posting on LQ :D)

brianL 08-27-2012 05:20 AM

Quote:

Originally Posted by kikinovak (Post 4765248)
When you have more than twenty machines to install (as I do right now in a school), this sort of detail is a timesaver. (Thus I can spend the time saved playing minesweeper or posting on LQ :D)

Ah, yes, never thought of that. I've only got three. :)

mrascii 08-27-2012 08:24 AM

Quote:

Originally Posted by Ramurd (Post 4765204)
afaik you need to build an initrd.gz also for LVM; at least if your entire setup is on LVM. iirc I would get kernel panics if I didn't build the initrd before the first reboot... A simple mkinitrd -k <kernel version> -f <filesystem> -r <root device> -h <resume from hibernate device> -L -o <outputfile> is all that's needed, but still, it's needed.

Exactly right. I should have made it clear that I encrypted /, /home and swap. Even booting huge.s an initrd is needed. In addition, following the recovery instructions to boot using "root=/dev/sdax" will not work if root is encrypted. The / volume must first be decrypted and made active then /proc and /sys mounted before lilo can be used to write a new lilo.comf file.

DNA
AKA mrascii

mrascii 08-27-2012 08:33 AM

Quote:

Originally Posted by T3slider (Post 4765025)
I'm pretty sure the generic kernel+initrd was solving the problem of on-demand module loading with configurable options. The huge kernel solved installation with a single monolithic kernel rather than having to ship several but its purpose in a running system has always been as a backup.

As to the question at hand, if you're using LUKS encryption then you're expected to read README_CRYPT.TXT anyway, which gives you more than enough information including how to create a satisfactory initrd. I think that file is more appropriate since it is more specific (and thus trumps the more generic README.initrd). Just my opinion though.

Yes, The README_CRYPT.TXT is excellent and your point his well taken, T3slider. However, a sentence in README.initrd would remind anyone to use the instructions in the README.CRYPT.TXT instead if they are using luks and LVM. I purposely used the mkinitrd command in README.initrid upgrading from RC2 to RC3 to see if it would break my test box which it did and to make sure I could recover from a non-bootable encrypted LVM if needed.

DNA
AKA mrascii

ReaperX7 08-29-2012 12:35 AM

Choosing a kernel was, at one time, included originally in the Slackware installation, but the scripts were removed possibly because it was confusing to do so and using the generic kernel with initrd.gz was considered a customization feature that often proved unnecessary for common systems.

Plus with the addition of rerunning LILO each time you reconfigured the kernel, you would also have to regenerate the initrd.gz with the specific modules you needed if you upgraded the kernel. Huge eliminated the need to hunt down and trial and error solve which modules were needed at load time so it became the default.

The last time I saw this was between releases 10.0 and 13.0 before EXT4 was finalized as the recommended default Slackware filesystem. Haven't seen it since.

T3slider 08-29-2012 11:50 AM

From -current's CHANGES_AND_HINTS.TXT (and as far as I know CHANGES_AND_HINTS.TXT from at least 12.0, which introduced the huge/generic split):
Code:

Use one of the provided generic kernels for daily use.  Do not report
  bugs until/unless you have reproduced them using one of the stock
  generic kernels.  You will need to create an initrd in order to boot
  the generic kernels - see /boot/README.initrd for instructions.
  The huge kernels are primarily intended as "installer" and "emergency"
  kernels in case you forget to make an initrd.

The generic kernel replaced the myriad of specific kernels shipped with pre-12.0 Slackware, and was always meant to be used as the standard kernel. Even in 12.0's CHANGES_AND_HINTS.TXT it mentions the huge kernel's use as primarily an install kernel. Huge has always been the default kernel because it requires no setup, but it has always been advised to switch to the generic kernel. An initrd should be nothing new to those using post-11.0 Slackware.

ReaperX7 08-29-2012 03:49 PM

The good thing is we do have a choice.

ottavio 08-30-2012 01:25 PM

Quote:

Originally Posted by kikinovak (Post 4765054)

If you stay with the huge kernel, just look out for "unsupported features" in your boot messages.

I am using the huge kernel but nothing here:
Code:

root@local:~# grep -i 'unsupported features' /var/log/dmesg
root@local:~# grep -i 'unsupported feature' /var/log/dmesg
root@local:~# grep -i 'unsupported' /var/log/dmesg
root@local:~#



All times are GMT -5. The time now is 03:39 PM.