Re: Kernel modules not loading on 15-prerelease

From: Mark Millard <marklmi_at_yahoo.com>
Date: Tue, 02 Sep 2025 19:30:29 UTC
On Sep 1, 2025, at 18:03, bob prohaska <fbsd@www.zefox.net> wrote:

> H Pi2 self-hosting with 
> bob@pelorus:~ % uname -a
> FreeBSD pelorus.zefox.org 15.0-PRERELEASE FreeBSD 15.0-PRERELEASE #63 main-n279991-21628c79d541: Mon Sep  1 12:06:31 PDT 2025     bob@pelorus.zefox.org:/usr/obj/usr/src/arm.armv7/sys/GENERIC arm
> bob@pelorus:~ % uname -KU
> 1500063 1500061
>        ^^^^^^^
> [other hosts are at ...63]     
> 
> reports in part:
> .....
> Loading kernel...
> /boot/kernel/kernel text=0x1b4 text=0x6fa9cc text=0x203c4c data=0xc3968 data=0x0+0x258000 0x4+0xb2d40+0x4+0x136a32\
> Loading configured modules...
> /boot/kernel/filemon.ko text=0x1540 text=0x1940 data=0x270+0x10 0x4+0x1040+0x4+0x7c7
> loading required module 'kernel'
> module 'kernel' exists but with wrong version

That "exists but with wrong version" message is from
the likes of (main source here) stand/common/module.c :

static int
file_load_dependencies(struct preloaded_file *base_file)
{
. . .
                        /*
                         * If module loaded via kld name which isn't listed
                         * in the linker.hints file, we should check if it have
                         * required version.
                         */
                        mp = file_findmodule(NULL, dmodname, verinfo);
                        if (mp == NULL) {
                                snprintf(command_errbuf, sizeof(command_errbuf),
                                  "module '%s' exists but with wrong version", dmodname);
                                error = ENOENT;
                                break;
                        }
. . .

You might be able to see some of what is going on via
a command like:

 # kldxref -d /boot/kernel/ /boot/modules/ | grep -e kernel -e modules/ | less
/boot/kernel/accf_data.ko
  depends on kernel.1500063 (1500063,1500063)
/boot/kernel/accf_dns.ko
. . .
/boot/kernel/zfs.ko
  depends on kernel.1500063 (1500063,1500063)
  depends on kernel.1500063 (1500063,1500063)
  depends on kernel.1500063 (1500063,1500063)
  depends on kernel.1500063 (1500063,1500063)
/boot/kernel/zlib.ko
  depends on kernel.1500063 (1500063,1500063)

(I do not have anything in /boot/modules/ .)

You might be able to fix things via the likes of:

# kldxref /boot/kernel/ /boot/modules/

which would try to regenerate the linker hints
file(s).

See:

# man 8 kldxref

> /boot/entropy size=0x1000
> /boot/kernel/umodem.ko text=0x1be0 text=0x12d0 data=0x2cc+0x4 0x4+0x1050+0x4+0xb34
> loading required module 'ucom'
> /boot/kernel/ucom.ko text=0x2368 text=0x2f08 data=0x538+0x83c 0x4+0x1680+0x4+0xc08
> loading required module 'kernel'
> module 'kernel' exists but with wrong version
> /etc/hostid size=0x25
> ......
> 
> There are also a flurry of seemingly non-fatal USB errors in the boot
> output, including complaints about the USB root device, which eventually
> go away and root mounts successfully..
> 
> In the end neither filemon.ko nor uftdi.ko get loaded, but both are
> present with dates matching the kernel.
> 
> The simplest problem seems to be the failure to update the userland
> version. Git seems to run and reports no errors, git reset --hard
> didn't change anything.
> 
> Any suggestions welcome. At this poing progress seems to be stuck.


===
Mark Millard
marklmi at yahoo.com