From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 1 13:19:48 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5522D1065676 for ; Tue, 1 Mar 2011 13:19:48 +0000 (UTC) (envelope-from ml@my.gd) Received: from mail-ew0-f54.google.com (mail-ew0-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id E5E968FC1B for ; Tue, 1 Mar 2011 13:19:45 +0000 (UTC) Received: by ewy28 with SMTP id 28so1829186ewy.13 for ; Tue, 01 Mar 2011 05:19:44 -0800 (PST) Received: by 10.14.127.136 with SMTP id d8mr4813449eei.35.1298985584691; Tue, 01 Mar 2011 05:19:44 -0800 (PST) Received: from dfleuriot-at-hi-media.com ([83.167.62.196]) by mx.google.com with ESMTPS id b52sm4197070eei.7.2011.03.01.05.19.43 (version=SSLv3 cipher=OTHER); Tue, 01 Mar 2011 05:19:43 -0800 (PST) Message-ID: <4D6CF26E.3020602@my.gd> Date: Tue, 01 Mar 2011 14:19:42 +0100 From: Damien Fleuriot User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 To: freebsd-hackers@freebsd.org References: <4D6C78D3.5090803@telus.net> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: listing all modules compiled into a kernel instance X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Mar 2011 13:19:48 -0000 On 3/1/11 12:20 PM, Maxim Khitrov wrote: > On Mon, Feb 28, 2011 at 11:40 PM, 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 > > kldstat provides information about components that were loaded > dynamically. If your kernel was built with INCLUDE_CONFIG_FILE option > (enabled by default in GENERIC), then you can see the static > components using: > > config -x /boot/kernel/kernel > > See config(8) for more details. > > - Max kldstat also shows statically compiled modules, example below. Here's my kldstat: # kldstat Id Refs Address Size Name 1 16 0xffffffff80100000 91f9f8 kernel 2 1 0xffffffff80a20000 bbd8 geom_label.ko 3 1 0xffffffff80a2c000 21058 geom_mirror.ko 4 1 0xffffffff80a4e000 f078 aio.ko 5 1 0xffffffff80c22000 104d42 zfs.ko 6 1 0xffffffff80d27000 f217 krpc.ko 7 1 0xffffffff80d37000 1a15 opensolaris.ko Now, looking for my network card: # kldstat -v |grep bce 65 pci/bce 64 bce/miibus