:: Re: [DNG] /lib/modules on separate …
Inizio della pagina
Delete this message
Reply to this message
Autore: Marc Shapiro
Data:  
To: dng
Vecchi argomenti: Re: [DNG] /lib/modules on separate partition?
Nuovi argomenti: Re: [DNG] /lib/modules on separate partition? (COMPLETELY SOLVED)
Oggetto: Re: [DNG] /lib/modules on separate partition? (MOSTLY SOLVED)

On 11/21/22 07:54, Marc Shapiro wrote:
>
> On 11/20/22 21:01, Steve Litt wrote:
>> Marc Shapiro via Dng said on Sun, 20 Nov 2022 19:14:15 -0800
>>
>>> On 11/20/22 17:48, Gregory Nowak wrote:
>>>> On Sun, Nov 20, 2022 at 03:44:46PM -0800, Marc Shapiro via Dng
>>>> wrote:
>>>>> On 11/20/22 14:31, Gregory Nowak wrote:
>>>>>> On Sat, Nov 19, 2022 at 08:55:06PM -0800, Marc Shapiro via Dng
>>>>>> wrote:
>>>>>>> Is there a way to have the system mount /lib/modules immediately
>>>>>>> after mounting / and before loading the remaining kernel modules?
>>>>>>> Or even better, is there a way to have all modules that should be
>>>>>>> loaded during the boot process come from the initrd?
>>>>>> You already got the answer on how to include all needed modules in
>>>>>> the initrd. As for mounting /lib/modules right after /, add a line
>>>>>> similar to the following in /etc/fstab right below the entry for /:
>>>>>>
>>>>>> /dev/group-lvm  /lib/modules  ext4  defaults  0 1
>>>>>>
>>>>>> This should cause /lib/modules to be mounted right after /. Replace
>>>>>> /dev/group-lvm with the volume containing /lib/modules. Also adjust
>>>>>> the file system type to whatever fs you're using.
>>>>> That was the first thing that I tried, since it would be the
>>>>> easiest and not required any additional steps when a new kernel is
>>>>> installed. Unfortunately, /lib/modules still mounts along with all
>>>>> the rest of my partitions, after the modules are loaded.
>>>> So almost certainly, the modules are being loaded and the root fs is
>>>> being mounted in the initrd, before /etc/fstab gets read. Including
>>>> all the modules in the initrd maybe your only option then.
>>>>
>>>> Greg
>>> I found another way, which works on Debian Stretch, but not on Devuan
>>> Beowulf:
>>>
>>> I got the list of modules, as Tito suggested, but instead of updating
>>> the initrd, I put the list of modules into /etc/modules. In Stretch,
>>> this causes them to load after /lib/modules is mounted and everything
>>> works as it should.  For some reason, though, it does not work for
>>> Beowulf.
>> That's an excellent idea. It might be easy to find out why it doesn't
>> work with Devuan, and then either the distro fixes it or you provide
>> some sort of solution or workaround.
>>
>> Also, it seems to me that you could provide, either as a sysvinit start
>> script or an addition to the runit stage 1 script, a loop that modprobes
>> everything in /etc/modules.
>>
>> Personally, I wouldn't mess with an initrd if you paid me. It's a black
>> box very hard to understand or troubleshoot. Your solution seems a
>> whole lot better.
>>
>> SteveT
>
> Yeah, messing with the initrd is just something I don't think I want
> to do.  If you have any ideas as to why putting the module name is
> /etc/modules doesn't work, or how to figure it out, I would continue
> playing around with that, but, otherwise, I think I'm done.
>
> Marc


Looking at the init scripts in /etc/init.d, I found kmod, which does a
modprobe on the modules listed in /etc/modules.  The link to
/etc/init.d/kmod is in /etc/rcS.d.  Unfortunately, it is just BEFORE the
link to /etc/init.d/mountall.  So it attempts to install the modules
just before it mounts the filesystem that contains /lib/modules.

I have tried, unsuccessfully, to find a way to reorder the links so that
the call to kmod would come just after the call to mountall.

However, once I logon as myself, I can use sudo to run /etc/init.d/kmod
and it seems to run without errors and X starts up without errors.

Looks like time for another bash alias that will run this for me.  Then
I just need to run one command once the system is booted and I'm good
for weeks, or months.  Basically, I'm good until another new kernel gets
installed.  I don't reboot the system too often.


Marc