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

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
#	$NetBSD: rc.conf,v 1.165 2023/07/02 12:39:05 nia Exp $
#
# /etc/defaults/rc.conf --
#	default configuration of /etc/rc.conf
#
# see rc.conf(5) for more information.
#
# DO NOT EDIT THIS FILE DIRECTLY; IT MAY BE REPLACED DURING A SYSTEM UPGRADE.
# EDIT /etc/rc.conf INSTEAD.
#

#
# Use program=YES to enable program, NO to disable it. program_flags are
# passed to the program on the command line.
#

# Uncomment this if you want to use local paths in rc.
#
#export PATH=$PATH:/usr/pkg/sbin:/usr/pkg/bin:/usr/local/sbin:/usr/local/bin

# Uncomment the following to execute each /etc/rc.d script in
# the current shell rather than in a subshell.  This may be
# faster on very slow machines that have an expensive fork(2).
#	NOTE:	USE THIS AT YOUR OWN RISK; A ROGUE COMMAND
#		MAY INADVERTENTLY PREVENT BOOT TO MULTIUSER.
#
#rc_fast_and_loose=YES

# If rc_silent is true then /etc/rc will suppress most output to
# the console.  The default is taken from the AB_SILENT flag passed
# from the boot loader to the kernel in the boothowto(9) variable.
#
# rc_silent_cmd is executed once for each suppressed line of output.
# Useful values are ":" and "twiddle".
#
rc_silent=$( [ "$(( $(/sbin/sysctl -n kern.boothowto 2>/dev/null || echo 0) \
		    & 0x40000 ))" != 0 ] && echo true || echo false )
rc_silent_cmd=twiddle

# Additional flags to the rcorder(8) that's run by /etc/rc.
#
rc_rcorder_flags=""

# The directories searched for rc scripts.
# These directories must be part of the root file system.
rc_directories=/etc/rc.d 

# If this is set to NO, shutdown(8) will not run /etc/rc.shutdown.
#
do_rcshutdown=YES

# Additional flags to the rcorder(8) that's run by /etc/rc.shutdown.
#
rcshutdown_rcorder_flags=""

# If this is non-blank, use as the number of seconds to run a watchdog
# timer which will terminate /etc/rc.shutdown if the timeout expires.
#
rcshutdown_timeout=""


# Basic network configuration
#

# Fully Qualified Internet Domain Name (a.k.a. hostname, e.g. foo.baz.edu).
# If blank, use /etc/myname.
#
hostname=""

# If there's only one way out of your IPv4 network, set this to the hostname
# or the IPv4 address of the router that will get your packets off the LAN.
# If blank, use /etc/mygate.
#
defaultroute=""

# Same thing for IPv6.  If blank, use /etc/mygate6.
#
defaultroute6=""

# The NIS domain name (formerly known as Yellow Pages); not in any way
# related to Internet domain names.
# If blank, use /etc/defaultdomain.
#
domainname=""

# Filesystems to mount early in boot-up.
# Note that `/var' is needed in $critical_filesystems_local (or
# implied as part of `/') as certain services that need /var (such as
# dhcpcd) may be needed to get the network operational enough to mount
# the $critical_filesystems_remote.  Prepending "OPTIONAL:"  means it
# will not be an error if that file system is not present in fstab(5).
#
critical_filesystems_local="OPTIONAL:/var"
critical_filesystems_remote="OPTIONAL:/usr"
critical_filesystems_zfs=""

# Swap device controls.
#
no_swap=NO		# Set to YES if you have purposefully setup no swap
			# partitions and don't want to be warned about it.
swapoff=YES		# Remove block-type swap partitions upon shutdown
			# This defaults to yes, so that raids shutdown cleanly
swapoff_umount=auto	# Set to 'manual' to umount the tmpfs partitions listed
			# in swapoff_umount_fs before removing swap. Set to
			# 'auto' to umount all tmpfs partitions that contain
			# no device nodes.
swapoff_umount_fs=	# space-separated list of tmpfs mount points to umount
			# before removing swap if swapoff_umount=manual

# Concatenated disk driver.
#
ccd=YES

# RAIDframe driver (manually configured devices).
#
raidframe=YES

# Crypto file system.
#
cgd=YES

# Logical Volume Manager
#
lvm=NO

# One-time actions and programs on boot-up.
#
savecore=YES		savecore_flags="-z"
			savecore_dir="/var/crash"
resize_disklabel=NO				# resize disklabel to fill disk
resize_gpt=NO					# resize GPT to fill disk
resize_root=NO					# resize root to fill partition
per_user_tmp=NO					# per-user /tmp directories
per_user_tmp_dir="/private/tmp"			# real storage for /tmp
clear_tmp=YES					# clear /tmp after reboot
update_motd=YES					# updates /etc/motd
update_motd_release=NO	motd_release_tag=""	# release info in /etc/motd
dmesg=YES		dmesg_flags="-t"	# write /var/run/dmesg.boot
accounting=NO					# uses /var/account/acct
newsyslog=NO		newsyslog_flags=""	# trim log files
quota=YES					# check and enable quotas
ldconfig=YES					# rebuild a.out ldconfig cache
sysdb=YES					# build system databases
rndctl=NO		rndctl_flags=""		# configure rndctl(8)
gpio=NO						# configure GPIO devices
modules=YES					# process /etc/modules.conf

# cope with other OSes using the real time clock at localtime on this
# machine (by adjusting kern.rtc_offset at boot)
rtclocaltime=NO

# NOTE: default coredump name now set in /etc/sysctl.conf

#
# File system check flags; default to preen mode, checking file systems
# that are listed in /etc/fstab in parallel as the fsck pass number
# permits. Fix minor faults automatically, and exit with non 0 only
# when major errors occur.
#
fsck_flags=-p

# Security setting.  If $securelevel is non-empty, the system securelevel
# is set to this value early in the boot sequence.  Otherwise the default
# action is taken (see init(8)).
#
securelevel=""					# securelevel to set to

# To set the IP address of an interface either use
#  ifconfig_xxN="IP-NO"
# where xxN is the interface.  If this variable is not set then
# contents of the file /etc/ifconfig.xxN is used.

# Networking startup.
#
# Wait up to 15 seconds for the tentative flag to clear from all addresses.
# Wait up to 5 seconds for the detached flag to clear from all addresses.
# Addresses are detached if there is no carrier, thus we have a small
# wait to see if we get a carrier.
# Even a wired interface may not recognise it has a carrier right away.
ifconfig_wait_dad_flags="-w 15 -W 5"

mdnsd=NO
npf=NO
npfd=NO			npfd_flags=""
ipfilter=NO		ipfilter_flags=""	# uses /etc/ipf.conf
ipnat=NO					# uses /etc/ipnat.conf
ipfs=NO			ipfs_flags=""		# save/load ipnat and ipf states
ipsec=NO					# uses /etc/ipsec.conf
ipmon=NO		ipmon_flags="-Dns"	# syslog ipfilter messages
pf=NO			pf_rules="/etc/pf.conf" pf_flags=""
pflogd=NO
ftp_proxy=NO
racoon=NO					# IKE daemon
auto_ifconfig=YES				# config all avail. interfaces
net_interfaces=""				# used only if above is NO
flushroutes=YES					# flush routes in netstart
dhcpcd=NO		dhcpcd_flags="-qM"	# For ifconfig_XXX=dhcp.
ntpdate=NO  		ntpdate_flags="-b -s"	# May need '-u' thru firewall
ppp=YES			ppp_peers=""		# /etc/ppp/peers to call
ip6mode=host					# host, autohost or router
ip6uniquelocal=NO				# IPv6 unique-local forwarding

# Special treatment for interfaces that need to be downed on
# shutdown (because they might cause unnecessary costs or block resources
# on the peer). All pppoe* interfaces are automatically included in this
# list, add others here manually.
#force_down_interfaces=""

ifwatchd=NO	# execute up/down scripts for in-kernel PPPoE interfaces
	ifwatchd_flags="-u /etc/ppp/ip-up -d /etc/ppp/ip-down pppoe0"

# ALTQ configuration/monitoring daemon
altqd=NO		altqd_flags=""

# Daemons required by servers.  These are not needed for strictly client use.
#

# inetd is used to start the IP-based services enabled in /etc/inetd.conf
#
inetd=YES		inetd_flags="-l"	# -l logs libwrap

# identd
#
identd=NO		identd_flags="-b -l -u nobody"

# rpcbind (formerly known as 'portmap') is used to look up RPC-based services.
#
rpcbind=NO		rpcbind_flags="-l"	# -l logs libwrap

# Commonly used daemons.
#
syslogd=YES		syslogd_flags="-s"	# -s "secure" unix domain only
cron=YES
named=NO		named_flags=""		# see below for named_chrootdir
timed=NO		timed_flags=""
ntpd=NO			ntpd_flags=""		# see below for ntpd_chrootdir
# The default setting for postfix here is YES, but gets re-examined by
# the rc.d/postfix startup script when it runs.  The script sets
# _rc_d_postfix to "check", and then causes all rc.conf settings to
# be re-evaluated.  If the value of $postfix after this is "check",
# the script then checks to see if /etc/mailer.conf selects the system
# postfix. If not, it does print a warning and does not start postfix 
# to avoid conflict with a different MTA.
postfix=${_rc_d_postfix:-YES}
lpd=NO			lpd_flags="-s"		# -s "secure" unix domain only
sshd=NO			sshd_flags=""
ssh_keygen_flags=""
ftpd=NO			ftpd_flags="-ll"
httpd=NO		httpd_flags=""
			httpd_wwwdir="/var/www"
			httpd_wwwuser="_httpd"

# To run the named(8) DNS server as an unprivileged user under a
# chroot(2) cage, uncomment the following after migrating the contents
# of /etc/namedb to /var/chroot/named/etc/namedb
#
#named_chrootdir="/var/chroot/named"

# To run the ntpd(8) NTP server as an unprivileged user under a
# chroot(2) cage, uncomment the following, after ensuring that:
#	- The kernel has "pseudo-device clockctl" compiled in
#	- /dev/clockctl is present
#
#ntpd_chrootdir="/var/chroot/ntpd"

# Routing daemons.
#
routed=NO		routed_flags="-q"
gated=NO
mrouted=NO		mrouted_flags=""
route6d=NO		route6d_flags=""
ldpd=NO

# Daemons used to boot other hosts over a network.
#
rarpd=NO		rarpd_flags="-a"
bootparamd=NO		bootparamd_flags=""
dhcpd=NO		dhcpd_flags="-q"
dhcpd6=NO		dhcpd6_flags="-q -cf /etc/dhcpd6.conf"
dhcrelay=NO		dhcrelay_flags=""
rbootd=NO		rbootd_flags=""
mopd=NO			mopd_flags="-a"
ndbootd=NO		ndbootd_flags="-s /tftpboot /tftpboot/bootyy"
rtadvd=NO		rtadvd_flags=""
isibootd=NO		isibootd_flags=""

# X11 daemons.
#
xfs=NO			xfs_flags=""		# X11 font server
xdm=NO			xdm_flags=""		# X11 display manager; needs
						# wscons=YES for local displays.

# Update fontconfig cache at boot
fccache=YES

# YP (NIS) daemons.
#
ypbind=NO		ypbind_flags=""
ypserv=NO		ypserv_flags="-d"
yppasswdd=NO		yppasswdd_flags=""

# NFS daemons and parameters.
#
mountd=NO		mountd_flags=""		# NFS mount requests daemon
nfs_client=NO					# enable client daemons
nfs_server=NO					# enable server daemons
			nfsd_flags=""
lockd=NO		lockd_flags=""
statd=NO		statd_flags=""
amd=NO			amd_flags="-l syslog -x error,noinfo,nostats"
			amd_dir=/amd			# mount dir

# Heimdal Kerberos 5 KDC (with Kerberos IV compatibility)
kdc=NO			kdc_flags="--detach"

# iSCSI target
iscsi_target=NO		iscsi_target_flags=""
# iSCSI kernel initiator
iscsid=NO
# iSCSI attach from /etc/iscsi/volumes
iscsid_volumes=YES

# WPA daemons.
hostapd=NO		hostapd_flags="-Bs /etc/hostapd.conf"
wpa_supplicant=NO	wpa_supplicant_flags="-Ms -c /etc/wpa_supplicant.conf"

# Bluetooth configuration
bluetooth=NO
# and the following are used when bluetooth=YES
btconfig_devices=""                             # all
bthcid=YES              bthcid_flags=""
sdpd=YES                sdpd_flags=""

# Other daemons.
#
rwhod=NO		rwhod_flags="-u _rwhod"
devpubd=NO		devpubd_flags=""	# autocreate nodes for new devs
envsys=NO					# Set /etc/envsys.conf preferences
autofs=NO		automount_flags=""
			automountd_flags=""
			autounmountd_flags=""

# Hardware daemons.
#
apmd=NO			apmd_flags=""		# APM power management daemon.
powerd=NO		powerd_flags=""		# power management daemon
screenblank=NO		screenblank_flags=""	# wscons and FBIO screenblanker

moused=NO					# serial mouse handler
			moused_flags="-p /dev/tty00"

wdogctl=NO					# watchdog timer control
#			wdogctl_flags="-k devicename"
irdaattach=NO					# attach serial lines to IrDA 
			irdaattach_flags="tty00"

# Configuration of "wscons" console driver virtual screens.
#
wscons=NO		wscons_flags=""		# setup wscons from wscons.conf

# Configuration of "wsmoused" console driver cut-n-paste support
#
wsmoused=NO		wsmoused_flags=""

# Configuration of "tpctl" touch panel calibration utility
#
tpctl=NO		tpctl_flags=""

# Mixer setting
#
mixerctl=NO		mixerctl_mixers=""	# "mixer0 mixer1" means saving
						# and restoring their settings

# Vi recovery notification.  Vi(1)'s -r option can recover files which were
# accidentally closed.  See vi(1) for more details.
# 
virecover=YES

# Veriexec signature loading.
#
veriexec=NO
veriexec_strict=0
veriexec_verbose=0
veriexec_flags="-k"

# Entropy load/save to/from /dev/random at startup/shutdown
#
random_seed=YES

# Set to `check' to abort multi-user boot if not enough entropy, or
# `wait' to wait until enough entropy, or `' (empty) to boot without
# waiting or checking.
#
entropy="wait"

# Creating / updating of man page index on boot
makemandb=YES

# Disable Simultaneous Multi-Threading
smtoff=NO

# blocklist daemon, needs npf
blocklistd=NO

# IPv6 address selection policy
ip6addrctl=NO
# ipv6_prefer, ipv4_prefer, auto
ip6addrctl_policy=auto
ip6addrctl_verbose=NO

# Unbound
unbound=NO
unbound_chrootdir=/var/chroot/unbound

# Nsd
nsd=NO
nsd_chrootdir=/var/chroot/nsd
nsd_flags="-t ${nsd_chrootdir}"

# ZFS
zfs=NO