On 1/30/25 11:49 AM, gevisz wrote:
I have not updated my Gentoo system since May 31, 2024, so in the
middle of October 2024 I had to install it anew.
Why did you have to install it anew?
I've pulled Gentoo systems more than three years forward. I've talked
about how to do it on this mailing list in the past, including the
scripts that I was using at the time.
I posted about pulling a system last updated in March '21 to current
last November.
https://oldbytes.space/@drscriptt/113460218243172979
In short, switch to a git based Gentoo repo and do a bunch of tiny jumps
from the last update you did through current. It takes time and does a
LOT of compilation. But it works.
Just to remind you: during that time we all had to switch to the new
Gentoo profile scheme, which made an update from my old system more
difficult than a new install.
I'm not able to log in and check the profile the system is on. But I
feel like I could have handled the profile change in December '24 just
like I could have when the profile change came out. The repo just
needed to have the branch checked out that was shortly after when the
profile came out.
On October 26, I compiled a new Linux kernel. It had version 6.6.52
and worked quite well.
However, with time it disappeared from the Gentoo portage tree. So,
11 days ago I compiled kernel version 6.6.62 and successfully booted
my Gentoo system with it over the next 9 days.
The old kernel of version 6.6.52 was deleted from the /boot directory
just after compilation of kernel version 6.6.62 just because it could
not support my home ZFS disks any more (because zfs-kmod should be
compiled against the specific kernel version and would not work with
another one).
Um ... kernel modules are kernel version dependent. You should have had
two different kernel modules, one for each kernel.
/lib/modules/6.6.52.../zfs.ko
/lib/modules/6.6.62.../zfs.ko
But yesterday, after booting my Gentoo system, the uname -a command
reported that I have been booted with the deleted old kernel version
6.6.52 compiled on October 26, 2024! And, of course, it did not
mount my ZFS /home.
So the kernel is still there.
Did you manually delete the zfs / spl kernel modules?
I've had various other types of things break zfs / spl kernel module
compatibility even in the same version. I'd have to look at my motes of
what I do to get the module to work again. I think it usually involves
a round of make bzImage modules modules_prepare, and re-emerging the zfs
kmodule. But I may be mis-remembering.
I have double checked everything: the old kernel of version 6.6.52
together with its initramfs have been deleted from the /boot directory.
Moreover, just a day before I deleted /usr/lib/modules/6.6.52-gentoo/
directory.
initramfs complicate things and I tend to not use them. They have their
own modules and other things in them. They are usually based off of the
current system but can get out of sync relatively easily. So you could
have modules coming from the initramfs and not the root file system.
I tried to reboot and found out that GRUB menu had only an option of
loading the old kernel of version 6.6.52.
Did you try going to the GRUB command line and modifying it to match
what should have been on the system?
I've found that contemporary GRUB has tab completion and is generally
nicer to work with than older Korn shells.
However, I soon understood that the latter was because I have attached
additional HDD before booting my Gentoo system, and as a result of
this the system decided to boot from another HDD where I have not
installed a new GRUB file. So, I fixed it and my Gentoo system was
finally able to boot with the new kernel of version 6.6.62.
Ya, device ordering can be a problem. That's one of the main reasons
that I like UUIDs to identify file systems et al. If you can get the
boot loader to start off of the correct disk, you're usually in place
that you can pull yourself up by your boot straps.
But the mystery of loading my Gentoo system with deleted kernel and
deleted modules remains. How could that happen at all?
The kernel and modules are somewhere that GRUB found them lest it
wouldn't have booted them.
My only explanation is that XFS actually had not deleted the old kernel
and the modules directory but only marked them as such. So, the old
GRUB file could load them even when they had been marked as deleted.
But is this explanation actually correct?
I don't know that it's not correct, but I am very suspicious of it. I
would expect that GRUB's support for XFS would look at files that aren't
marked for deletion.
There are a number of things that come to mind that are pure speculation
if you're no longer in that configuration to be able to look. Not the
least of which is files in file systems on different devices; e.g. /boot
vs /. Have a file in the /boot directory on the / (root) file system
and it will be covered up when the /boot file system is mounted. Or
something like that.
--
Grant. . . .