Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

.\"
.\" Copyright (c) 1997 Doug Rabson
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd January 19, 2016
.Dt KLDSTAT 8
.Os
.Sh NAME
.Nm kldstat
.Nd display status of dynamic kernel linker
.Sh SYNOPSIS
.Nm
.Op Fl h
.Op Fl q
.Op Fl v
.Op Fl d
.Op Fl i Ar id
.Op Fl n Ar filename
.Nm
.Op Fl q
.Op Fl d
.Op Fl m Ar modname
.Sh DESCRIPTION
The
.Nm
utility displays the status of any files dynamically linked into the
kernel.
.Pp
The following options are available:
.Bl -tag -width indentXX
.It Fl h
Display the size field in a human-readable form, using unit suffixes
instead of hex values.
.It Fl v
Be more verbose.
.It Fl d
Show the module specific data (as int, unsigned int and unsigned long)
.It Fl i Ar id
Display the status of only the file with this ID.
.It Fl n Ar filename
Display the status of only the file with this filename.
.It Fl q
Only check if file is loaded or compiled into the kernel.
.It Fl m Ar modname
Display the status of only the module with this modname.
.El
.Sh EXIT STATUS
.Ex -std
.Sh EXAMPLES
Show files dynamically linked into the kernel.
Note the kernel itself is shown in the list.
.Em Refs
shows the number of modules referenced by each file:
.Bd -literal -offset indent
$ kldstat
Id Refs Address                Size Name
 1   38 0xffffffff80200000  2448f20 kernel
 2    3 0xffffffff82649000    b7bd8 linux.ko
 3    5 0xffffffff82701000     9698 linux_common.ko
 4    1 0xffffffff82b11000     1eae linsysfs.ko
 5    1 0xffffffff82b13000    f2af8 nvidia-modeset.ko
 6    1 0xffffffff82c06000  122b020 nvidia.ko
 7    1 0xffffffff83e32000     2668 intpm.ko
 8    1 0xffffffff83e35000      b50 smbus.ko
 9    1 0xffffffff83e36000     18a0 uhid.ko
10    1 0xffffffff83e38000     2928 ums.ko
11    1 0xffffffff83e3b000     1aa0 wmt.ko
12    1 0xffffffff83e3d000     cd70 snd_uaudio.ko
.Ed
.Pp
Show the verbose status of the
.Em linux
file and show the size in a human readable fashion:
.Bd -literal -offset indent
$ kldstat -h -v -n linux
Id Refs Address             Size Name
 2    3 0xffffffff82649000  735K linux.ko (/boot/kernel/linux.ko)
        Contains modules:
                 Id Name
                  2 linuxelf
.Ed
.Pp
Same as above using the
.Em id
of the file:
.Bd -literal -offset indent
$ kldstat -h -i 2 -v
Id Refs Address             Size Name
 2    3 0xffffffff82649000  735K linux.ko (/boot/kernel/linux.ko)
        Contains modules:
                 Id Name
                  2 linuxelf
.Ed
.Pp
Show the status of the
.Em linuxelf
module obtained from the example above:
.Bd -literal -offset indent
$ kldstat -v -m linuxelf
Id  Refs Name
  2    1 linuxelf
.Ed
.Pp
Show the module specific data for the
.Em g_raid
module:
.Bd -literal -offset indent
$ kldstat -d -m g_raid
Id  Refs Name data..(int, uint, ulong)
366    1 g_raid (0, 0, 0x0)
.Ed
.Pp
Check if the module
.Em fakefile
is linked.
Returns 0 if it is, 1 otherwise:
.Bd -literal -offset indent
$ kldstat -q -n fakefile || echo file not linked
file not linked
.Ed
.Sh SEE ALSO
.Xr kldstat 2 ,
.Xr kldload 8 ,
.Xr kldunload 8
.Sh HISTORY
The
.Nm
utility first appeared in
.Fx 3.0 ,
replacing the
.Nm lkm
interface.
.Sh AUTHORS
.An Doug Rabson Aq Mt dfr@FreeBSD.org