Mailing List Archive

Why has genkernel initramfs changed behaviour!?
Just filed bug 824282.

In the past, I've always done "make kernel, make kernel_modules, make
install, make modules_install, genkernel initramfs ...".

This worked fine, and I then ran grub-mkconfig, sorted out grub.cfg, and
all was well.

My new setup, I have a /boot WHICH I WANT TO SORT OUT MYSELF! I got
thoroughly confused because genkernel was finding /boot in fstab,
mounting it by default, and sticking the initramfs there. So of course,
grub-mkconfig screwed up because the kernel was in the /boot directory,
but the initramfs was in the /boot partition!

So I told genkernel not to mount the boot partition ...

WAH WAH WAH FATAL ERROR YOU WON'T LET ME MOUNT BOOT SULK SULK SULK.

If I tell it not to mount boot then that's my lookout, not for genconfig
to nanny me and sulk!


And it gets worse. I've always done "make modules_install, genkernel
initramfs". Which now seems to be an unsupported option. genkernel is
now looking in /var/tmp/genkernel/... for the modules - no surprise the
modules aren't there! The error says "did you forget to compile the
kernel" - no I didn't - it is compiled, the modules are installed, I
just didn't use genkernel to do it.

Why oh why does everything change ... for the worse ... now let's see if
allowing it to mount the boot partition makes it work properly ...

and allowing it to mount boot made everything work perfectly afaict ...
what a mess ...

Cheers,
Wol
Re: Why has genkernel initramfs changed behaviour!? [ In reply to ]
On 2021.11.17 18:15, Wol wrote:
> Just filed bug 824282.
>
> In the past, I've always done "make kernel, make kernel_modules, make
> install, make modules_install, genkernel initramfs ...".
>
> This worked fine, and I then ran grub-mkconfig, sorted out grub.cfg,
> and all was well.
>
> My new setup, I have a /boot WHICH I WANT TO SORT OUT MYSELF! I got
> thoroughly confused because genkernel was finding /boot in fstab,
> mounting it by default, and sticking the initramfs there. So of
> course, grub-mkconfig screwed up because the kernel was in the /boot
> directory, but the initramfs was in the /boot partition!
>
> So I told genkernel not to mount the boot partition ...
>
> WAH WAH WAH FATAL ERROR YOU WON'T LET ME MOUNT BOOT SULK SULK SULK.
>
> If I tell it not to mount boot then that's my lookout, not for
> genconfig to nanny me and sulk!
>
>
> And it gets worse. I've always done "make modules_install, genkernel
> initramfs". Which now seems to be an unsupported option. genkernel is
> now looking in /var/tmp/genkernel/... for the modules - no surprise
> the modules aren't there! The error says "did you forget to compile
> the kernel" - no I didn't - it is compiled, the modules are
> installed, I just didn't use genkernel to do it.
>
> Why oh why does everything change ... for the worse ... now let's see
> if allowing it to mount the boot partition makes it work properly ...
>
> and allowing it to mount boot made everything work perfectly afaict
> ... what a mess ...
>
> Cheers,
> Wol
I have no problem telling genkernel not to mount ./boot, but then I
always have /boot mounted, so I suppose it might not complain only
because it's set up the way it wants it anyway.

I also use genkernel to compile the kernel and modules, but I do "make
xconfig" to set my own choice of options, and tell genkernel to skip
any of that configuring. I've had no problems with doing it that way.
if you want, I can send you a copy of my genkernel.conf. I launch it
with "genkernel --no-gpg --lvm --firmware --microcode
--kernel-append-localversion=$1 all | tee genkern.log 2>&1" so I can
have multiple versions of the same kernel version (usually because I
want to test some different setting, but don't want the original to be
overwritten in case the new version doesn't work or just doesn't do
what I want.

Jack
Re: Why has genkernel initramfs changed behaviour!? [ In reply to ]
On 18/11/21 7:24 am, Jack wrote:
> On 2021.11.17 18:15, Wol wrote:
>> Just filed bug 824282.
>>
>> In the past, I've always done "make kernel, make kernel_modules, make
>> install, make modules_install, genkernel initramfs ...".
>>
>> This worked fine, and I then ran grub-mkconfig, sorted out grub.cfg,
>> and all was well.
>>
>> My new setup, I have a /boot WHICH I WANT TO SORT OUT MYSELF! I got
>> thoroughly confused because genkernel was finding /boot in fstab,
>> mounting it by default, and sticking the initramfs there. So of
>> course, grub-mkconfig screwed up because the kernel was in the /boot
>> directory, but the initramfs was in the /boot partition!
>>
>> So I told genkernel not to mount the boot partition ...
>>
>> WAH WAH WAH FATAL ERROR YOU WON'T LET ME MOUNT BOOT SULK SULK SULK.
>>
>> If I tell it not to mount boot then that's my lookout, not for
>> genconfig to nanny me and sulk!
>>
>>
>> And it gets worse. I've always done "make modules_install, genkernel
>> initramfs". Which now seems to be an unsupported option. genkernel is
>> now looking in /var/tmp/genkernel/... for the modules - no surprise
>> the modules aren't there! The error says "did you forget to compile
>> the kernel" - no I didn't - it is compiled, the modules are
>> installed, I just didn't use genkernel to do it.
>>
>> Why oh why does everything change ... for the worse ... now let's see
>> if allowing it to mount the boot partition makes it work properly ...
>>
>> and allowing it to mount boot made everything work perfectly afaict
>> ... what a mess ...
>>
>> Cheers,
>> Wol
> I have no problem telling genkernel not to mount ./boot, but then I
> always have /boot mounted, so I suppose it might not complain only
> because it's set up the way it wants it anyway.
>
> I also use genkernel to compile the kernel and modules, but I do "make
> xconfig" to set my own choice of options, and tell genkernel to skip
> any of that configuring.  I've had no problems with doing it that
> way.  if you want, I can send you a copy of my genkernel.conf.  I
> launch it with "genkernel --no-gpg --lvm --firmware --microcode
> --kernel-append-localversion=$1 all | tee genkern.log 2>&1" so I can
> have multiple versions of the same kernel version (usually because I
> want to test some different setting, but don't want the original to be
> overwritten in case the new version doesn't work or just doesn't do
> what I want.
>
> Jack
>
I agree something is amiss in the current genkernel.  I have a raspberry
pi with a number of OS variants in separate partitions that I maintain
via chroot's ... genkernel somehow mounted /boot into the chroot
properly clobbering things there by putting a 32bit kernel in /boot for
the 64bit OS ...

BillK
Re: Why has genkernel initramfs changed behaviour!? [ In reply to ]
On Thursday, November 18, 2021 12:15:30 AM CET Wol wrote:
> Just filed bug 824282.
>
> In the past, I've always done "make kernel, make kernel_modules, make
> install, make modules_install, genkernel initramfs ...".
>
> This worked fine, and I then ran grub-mkconfig, sorted out grub.cfg, and
> all was well.
>
> My new setup, I have a /boot WHICH I WANT TO SORT OUT MYSELF! I got
> thoroughly confused because genkernel was finding /boot in fstab,
> mounting it by default, and sticking the initramfs there. So of course,
> grub-mkconfig screwed up because the kernel was in the /boot directory,
> but the initramfs was in the /boot partition!
>
> So I told genkernel not to mount the boot partition ...
>
> WAH WAH WAH FATAL ERROR YOU WON'T LET ME MOUNT BOOT SULK SULK SULK.
>
> If I tell it not to mount boot then that's my lookout, not for genconfig
> to nanny me and sulk!
>
>
> And it gets worse. I've always done "make modules_install, genkernel
> initramfs". Which now seems to be an unsupported option. genkernel is
> now looking in /var/tmp/genkernel/... for the modules - no surprise the
> modules aren't there! The error says "did you forget to compile the
> kernel" - no I didn't - it is compiled, the modules are installed, I
> just didn't use genkernel to do it.
>
> Why oh why does everything change ... for the worse ... now let's see if
> allowing it to mount the boot partition makes it work properly ...
>
> and allowing it to mount boot made everything work perfectly afaict ...
> what a mess ...

I've never been happy with genkernel and roll my own using a config-file that's
configured directly into the kernel.
All it needs to do is enable LVM, mount the partitions and then continue with
booting. On my laptop, it also decrypts the partition that contains LVM. All
very simple and easy.

For this reason, I'm also not happy with the mandatory dependency on "sys-
kernel/installkernel-gentoo"

--
Joost
Re: Why has genkernel initramfs changed behaviour!? [ In reply to ]
On Thu, 18 Nov 2021 09:12:41 +0100, J. Roeleveld wrote:

> I've never been happy with genkernel and roll my own using a
> config-file that's configured directly into the kernel.
> All it needs to do is enable LVM, mount the partitions and then
> continue with booting. On my laptop, it also decrypts the partition
> that contains LVM. All very simple and easy.

I used to do the same, building the initramfs into the kernel, avoiding
the need for a separate file. But now I use dracut, which does it all for
me without the need for me to keep on top it.


--
Neil Bothwick

Quality control, n.:
Assuring that the quality of a product does not get out of hand
and add to the cost of its manufacture or design.
Re: Why has genkernel initramfs changed behaviour!? [ In reply to ]
On Thursday, November 18, 2021 11:31:57 AM CET Neil Bothwick wrote:
> On Thu, 18 Nov 2021 09:12:41 +0100, J. Roeleveld wrote:
> > I've never been happy with genkernel and roll my own using a
> > config-file that's configured directly into the kernel.
> > All it needs to do is enable LVM, mount the partitions and then
> > continue with booting. On my laptop, it also decrypts the partition
> > that contains LVM. All very simple and easy.
>
> I used to do the same, building the initramfs into the kernel, avoiding
> the need for a separate file. But now I use dracut, which does it all for
> me without the need for me to keep on top it.

My script is simpler and faster than what dracut or genkernel come up with. I
also only need to enter a decryption password once, with dracut and genkernel,
that is not (easily?) to set up.

I actually did the opposite as I got fed up with trying to get dracut and
genkernel to produce something that would actually boot properly without too
many questions during boot.

--
Joost