Date: Tue, 01 Mar 2011 13:03:27 +0100 From: Damien Fleuriot <ml@my.gd> To: freebsd-hackers@freebsd.org Subject: Re: listing all modules compiled into a kernel instance Message-ID: <4D6CE08F.6060103@my.gd> In-Reply-To: <4D6C78D3.5090803@telus.net> References: <4D6C78D3.5090803@telus.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 3/1/11 5:40 AM, Carl wrote: > Kernel drivers can be (and in at least one case are) compiled into the > kernel but are not reported when queried for, at least not in a way that > I am aware of. For example, the ucom driver is present in the GENERIC > kernel in this way. My expectation was that "kldstat -v" would list it, > if present, but it does not. A design flaw? > > # ls /boot/kernel/ucom.ko > /boot/kernel/ucom.ko > # grep ucom /usr/src/sys/i386/conf/GENERIC > # kldstat -v | grep ucom > # kldload ucom.ko > # tail -n 1 /var/log/messages > Feb 28 18:18:15 xxxxxx kernel: interface ucom.1 already present in the > KLD 'kernel'! > > How does one query an existing kernel for *all* compiled-in modules? > > I'm using FreeBSD-8.1-RELEASE-amd64/i386. > > Carl / K0802647 > Well AFAIK kldstat -v should return them all... Also, as a side note to your question, find below an excerpt from ucom's man page: SYNOPSIS To compile this driver into the kernel, place the following line in your kernel configuration file: device ucom Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5): ucom_load="YES" So indeed if you want it statically in the kernel, you need to add "device ucom" Have you tried doing that, building again then querying again with kldstat -v ?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D6CE08F.6060103>