Re: Kernel modules not loading on 15-prerelease

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On Sep 1, 2025, at 18:03, bob prohaska <[email protected]> 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     [email protected]:/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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.