New upstream version 242

This commit is contained in:
Michael Biebl 2019-04-19 01:12:47 +02:00
parent 7c20daf69c
commit bb4f798a04
1206 changed files with 38193 additions and 17322 deletions

1
.ctags Normal file
View File

@ -0,0 +1 @@
--links=no

View File

@ -15,7 +15,8 @@
(eval . (c-set-offset 'statement-case-open 0))
(eval . (c-set-offset 'case-label 0))
(eval . (c-set-offset 'arglist-intro '++))
(eval . (c-set-offset 'arglist-close 0))))
(eval . (c-set-offset 'arglist-close 0))
(eval . (c-set-offset 'arglist-cont-nonempty '(c-lineup-gcc-asm-reg c-lineup-arglist)))))
(nxml-mode . ((nxml-child-indent . 2)
(fill-column . 109)))
(meson-mode . ((meson-indent-basic . 8)))

View File

@ -0,0 +1,54 @@
/**
* @name Use of potentially dangerous function
* @description Certain standard library functions are dangerous to call.
* @kind problem
* @problem.severity error
* @precision high
* @id cpp/potentially-dangerous-function
* @tags reliability
* security
*
* Borrowed from
* https://github.com/Semmle/ql/blob/master/cpp/ql/src/Security/CWE/CWE-676/PotentiallyDangerousFunction.ql
*/
import cpp
predicate potentiallyDangerousFunction(Function f, string message) {
(
f.getQualifiedName() = "fgets" and
message = "Call to fgets() is potentially dangerous. Use read_line() instead."
) or (
f.getQualifiedName() = "strtok" and
message = "Call to strtok() is potentially dangerous. Use extract_first_word() instead."
) or (
f.getQualifiedName() = "strsep" and
message = "Call to strsep() is potentially dangerous. Use extract_first_word() instead."
) or (
f.getQualifiedName() = "dup" and
message = "Call to dup() is potentially dangerous. Use fcntl(fd, FD_DUPFD_CLOEXEC, 3) instead."
) or (
f.getQualifiedName() = "htonl" and
message = "Call to htonl() is confusing. Use htobe32() instead."
) or (
f.getQualifiedName() = "htons" and
message = "Call to htons() is confusing. Use htobe16() instead."
) or (
f.getQualifiedName() = "ntohl" and
message = "Call to ntohl() is confusing. Use be32toh() instead."
) or (
f.getQualifiedName() = "ntohs" and
message = "Call to ntohs() is confusing. Use be16toh() instead."
) or (
f.getQualifiedName() = "strerror" and
message = "Call to strerror() is not thread-safe. Use strerror_r() or printf()'s %m format string instead."
) or (
f.getQualifiedName() = "accept" and
message = "Call to accept() is not O_CLOEXEC-safe. Use accept4() instead."
)
}
from FunctionCall call, Function target, string message
where
call.getTarget() = target and
potentiallyDangerousFunction(target, message)
select call, message

View File

@ -1,21 +0,0 @@
/**
* @name Use of fgets()
* @description fgets() is dangerous to call. Use read_line() instead.
* @kind problem
* @problem.severity error
* @precision high
* @id cpp/fgets
* @tags reliability
* security
*/
import cpp
predicate dangerousFunction(Function function) {
exists (string name | name = function.getQualifiedName() |
name = "fgets")
}
from FunctionCall call, Function target
where call.getTarget() = target
and dangerousFunction(target)
select call, target.getQualifiedName() + " is potentially dangerous"

View File

@ -198,3 +198,5 @@ David Santamaría Rogado <howl.nsp@gmail.com>
Mike Auty <mike.auty@gmail.com>
Roger James <roger@beardandsandals.co.uk>
Stephan Edel <se@se-it.eu>
Andrey Yashkin <38919268+AndreyYashkin@users.noreply.github.com>
Ronald Tschalär <ronald@innovation.ch>

View File

@ -13,7 +13,7 @@ Format=raw_btrfs
Bootable=yes
[Partitions]
RootSize=2G
RootSize=3G
[Packages]
Cache=/var/cache/pacman/pkg/

286
NEWS
View File

@ -1,5 +1,268 @@
systemd System and Service Manager
CHANGES WITH 242:
* In .link files, MACAddressPolicy=persistent (the default) is changed
to cover more devices. For devices like bridges, tun, tap, bond, and
similar interfaces that do not have other identifying information,
the interface name is used as the basis for persistent seed for MAC
and IPv4LL addresses. The way that devices that were handled
previously is not changed, and this change is about covering more
devices then previously by the "persistent" policy.
MACAddressPolicy=random may be used to force randomized MACs and
IPv4LL addresses for a device if desired.
Hint: the log output from udev (at debug level) was enhanced to
clarify what policy is followed and which attributes are used.
`SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/<name>`
may be used to view this.
* The .device units generated by systemd-fstab-generator and other
generators do not automatically pull in the corresponding .mount unit
as a Wants= dependency. This means that simply plugging in the device
will not cause the mount unit to be started automatically. But please
note that the mount unit may be started for other reasons, in
particular if it is part of local-fs.target, and any unit which
(transitively) depends on local-fs.target is started.
* networkctl list/status/lldp now accept globbing wildcards for network
interface names to match against all existing interfaces.
* The $PIDFILE environment variable is set to point the absolute path
configured with PIDFile= for processes of that service.
* The fallback DNS server list was augmented with Cloudflare public DNS
servers. Use `-Ddns-servers=` to set a different fallback.
* A new special target usb-gadget.target will be started automatically
when a USB Device Controller is detected (which means that the system
is a USB peripheral).
* A new unit setting CPUQuotaPeriodSec= assigns the time period
relatively to which the CPU time quota specified by CPUQuota= is
measured.
* A new unit setting ProtectHostname= may be used to prevent services
from modifying hostname information (even if they otherwise would
have privileges to do so).
* A new unit setting NetworkNamespacePath= may be used to specify a
namespace for service or socket units through a path referring to a
Linux network namespace pseudo-file.
* The PrivateNetwork= setting and JoinsNamespaceOf= dependencies now
have an effect on .socket units: when used the listening socket is
created within the configured network namespace instead of the host
namespace.
* ExecStart= command lines in unit files may now be prefixed with ':'
in which case environment variable substitution is
disabled. (Supported for the other ExecXYZ= settings, too.)
* .timer units gained two new boolean settings OnClockChange= and
OnTimezoneChange= which may be used to also trigger a unit when the
system clock is changed or the local timezone is
modified. systemd-run has been updated to make these options easily
accessible from the command line for transient timers.
* Two new conditions for units have been added: ConditionMemory= may be
used to conditionalize a unit based on installed system
RAM. ConditionCPUs= may be used to conditionalize a unit based on
install CPU cores.
* The @default system call filter group understood by SystemCallFilter=
has been updated to include the new rseq() system call introduced in
kernel 4.15.
* A new time-set.target has been added that indicates that the system
time has been set from a local source (possibly imprecise). The
existing time-sync.target is stronger and indicates that the time has
been synchronized with a precise external source. Services where
approximate time is sufficient should use the new target.
* "systemctl start" (and related commands) learnt a new
--show-transaction option. If specified brief information about all
jobs queued because of the requested operation is shown.
* systemd-networkd recognizes a new operation state 'enslaved', used
(instead of 'degraded' or 'carrier') for interfaces which form a
bridge, bond, or similar, and an new 'degraded-carrier' operational
state used for the bond or bridge master interface when one of the
enslaved devices is not operational.
* .network files learnt the new IgnoreCarrierLoss= option for leaving
networks configured even if the carrier is lost.
* The RequiredForOnline= setting in .network files may now specify a
minimum operational state required for the interface to be considered
"online" by systemd-networkd-wait-online. Related to this
systemd-networkd-wait-online gained a new option --operational-state=
to configure the same, and its --interface= option was updated to
optionally also take an operational state specific for an interface.
* systemd-networkd-wait-online gained a new setting --any for waiting
for only one of the requested interfaces instead of all of them.
* systemd-networkd now implements L2TP tunnels.
* Two new .network settings UseAutonomousPrefix= and UseOnLinkPrefix=
may be used to cause autonomous and onlink prefixes received in IPv6
Router Advertisements to be ignored.
* New MulticastFlood=, NeighborSuppression=, and Learning= .network
file settings may be used to tweak bridge behaviour.
* The new TripleSampling= option in .network files may be used to
configure CAN triple sampling.
* A new .netdev settings PrivateKeyFile= and PresharedKeyFile= may be
used to point to private or preshared key for a WireGuard interface.
* /etc/crypttab now supports the same-cpu-crypt and
submit-from-crypt-cpus options to tweak encryption work scheduling
details.
* systemd-tmpfiles will now take a BSD file lock before operating on a
contents of directory. This may be used to temporarily exclude
directories from aging by taking the same lock (useful for example
when extracting a tarball into /tmp or /var/tmp as a privileged user,
which might create files with really old timestamps, which
nevertheless should not be deleted). For further details, see:
https://systemd.io/TEMPORARY_DIRECTORIES
* systemd-tmpfiles' h line type gained support for the
FS_PROJINHERIT_FL ('P') file attribute (introduced in kernel 4.5),
controlling project quota inheritance.
* sd-boot and bootctl now implement support for an Extended Boot Loader
(XBOOTLDR) partition, that is intended to be mounted to /boot, in
addition to the ESP partition mounted to /efi or /boot/efi.
Configuration file fragments, kernels, initrds and other EFI images
to boot will be loaded from both the ESP and XBOOTLDR partitions.
The XBOOTLDR partition was previously described by the Boot Loader
Specification, but implementation was missing in sd-boot. Support for
this concept allows using the sd-boot boot loader in more
conservative scenarios where the boot loader itself is placed in the
ESP but the kernels to boot (and their metadata) in a separate
partition.
* A system may now be booted with systemd.volatile=overlay on the
kernel command line, which causes the root file system to be set up
an overlayfs mount combining the root-only root directory with a
writable tmpfs. In this setup, the underlying root device is not
modified, and any changes are lost at reboot.
* Similar, systemd-nspawn can now boot containers with a volatile
overlayfs root with the new --volatile=overlay switch.
* systemd-nspawn can now consume OCI runtime bundles using a new
--oci-bundle= option. This implementation is fully usable, with most
features in the specification implemented, but since this a lot of
new code and functionality, this feature should most likely not
be used in production yet.
* systemd-nspawn now supports various options described by the OCI
runtime specification on the command-line and in .nspawn files:
--inaccessible=/Inaccessible= may be used to mask parts of the file
system tree, --console=/--pipe may be used to configure how standard
input, output, and error are set up.
* busctl learned the `emit` verb to generate D-Bus signals.
* systemd-analyze cat-config may be used to gather and display
configuration spread over multiple files, for example system and user
presets, tmpfiles.d, sysusers.d, udev rules, etc.
* systemd-analyze calendar now takes an optional new parameter
--iterations= which may be used to show a maximum number of iterations
the specified expression will elapse next.
* The sd-bus C API gained support for naming method parameters in the
introspection data.
* systemd-logind gained D-Bus APIs to specify the "reboot parameter"
the reboot() system call expects.
* journalctl learnt a new --cursor-file= option that points to a file
from which a cursor should be loaded in the beginning and to which
the updated cursor should be stored at the end.
* ACRN hypervisor and Windows Subsystem for Linux (WSL) are now
detected by systemd-detect-virt (and may also be used in
ConditionVirtualization=).
* The behaviour of systemd-logind may now be modified with environment
variables $SYSTEMD_REBOOT_TO_FIRMWARE_SETUP,
$SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU, and
$SYSTEMD_REBOOT_TO_BOOT_LOADER_ENTRY. They cause logind to either
skip the relevant operation completely (when set to false), or to
create a flag file in /run/systemd (when set to true), instead of
actually commencing the real operation when requested. The presence
of /run/systemd/reboot-to-firmware-setup,
/run/systemd/reboot-to-boot-loader-menu, and
/run/systemd/reboot-to-boot-loader-entry, may be used by alternative
boot loader implementations to replace some steps logind performs
during reboot with their own operations.
* systemctl can be used to request a reboot into the boot loader menu
or a specific boot loader entry with the new --boot-load-menu= and
--boot-loader-entry= options to a reboot command. (This requires a
boot loader that supports this, for example sd-boot.)
* kernel-install will no longer unconditionally create the output
directory (e.g. /efi/<machine-id>/<kernel-version>) for boot loader
snippets, but will do only if the machine-specific parent directory
(i.e. /efi/<machine-id>/) already exists. bootctl has been modified
to create this parent directory during sd-boot installation.
This makes it easier to use kernel-install with plugins which support
a different layout of the bootloader partitions (for example grub2).
* During package installation (with `ninja install`), we would create
symlinks for systemd-networkd.service, systemd-networkd.socket,
systemd-resolved.service, remote-cryptsetup.target, remote-fs.target,
systemd-networkd-wait-online.service, and systemd-timesyncd.service
in /etc, as if `systemctl enable` was called for those units, to make
the system usable immediately after installation. Now this is not
done anymore, and instead calling `systemctl preset-all` is
recommended after the first installation of systemd.
* A new boolean sandboxing option RestrictSUIDSGID= has been added that
is built on seccomp. When turned on creation of SUID/SGID files is
prohibited.
* The NoNewPrivileges= and the new RestrictSUIDSGID= options are now
implied if DynamicUser= is turned on for a service. This hardens
these services, so that they neither can benefit from nor create
SUID/SGID executables. This is a minor compatibility breakage, given
that when DynamicUser= was first introduced SUID/SGID behaviour was
unaffected. However, the security benefit of these two options is
substantial, and the setting is still relatively new, hence we opted
to make it mandatory for services with dynamic users.
Contributions from: Adam Jackson, Alexander Tsoy, Andrey Yashkin,
Andrzej Pietrasiewicz, Anita Zhang, Balint Reczey, Beniamino Galvani,
Ben Iofel, Benjamin Berg, Benjamin Dahlhoff, Chris, Chris Morin,
Christopher Wong, Claudius Ellsel, Clemens Gruber, dana, Daniel Black,
Davide Cavalca, David Michael, David Rheinsberg, emersion, Evgeny
Vereshchagin, Filipe Brandenburger, Franck Bui, Frantisek Sumsal,
Giacinto Cifelli, Hans de Goede, Hugo Kindel, Ignat Korchagin, Insun
Pyo, Jan Engelhardt, Jonas Dorel, Jonathan Lebon, Jonathon Kowalski,
Jörg Sommer, Jörg Thalheim, Jussi Pakkanen, Kai-Heng Feng, Lennart
Poettering, Lubomir Rintel, Luís Ferreira, Martin Pitt, Matthias
Klumpp, Michael Biebl, Michael Niewöhner, Michael Olbrich, Michal
Sekletar, Mike Lothian, Paul Menzel, Piotr Drąg, Riccardo Schirone,
Robin Elvedi, Roman Kulikov, Ronald Tschalär, Ross Burton, Ryan
Gonzalez, Sebastian Krzyszkowiak, Stephane Chazelas, StKob, Susant
Sahani, Sylvain Plantefève, Szabolcs Fruhwald, Taro Yamada, Theo
Ouzhinski, Thomas Haller, Tobias Jungel, Tom Yan, Tony Asleson, Topi
Miettinen, unixsysadmin, Van Laser, Vesa Jääskeläinen, Yu, Li-Yu,
Yu Watanabe, Zbigniew Jędrzejewski-Szmek
— Warsaw, 2019-04-11
CHANGES WITH 241:
* The default locale can now be configured at compile time. Otherwise,
@ -83,6 +346,9 @@ CHANGES WITH 241:
* udevadm control learnt a new option for --ping for testing whether a
systemd-udevd instance is running and reacting.
* udevadm trigger learnt a new option for --wait-daemon for waiting
systemd-udevd daemon to be initialized.
Contributions from: Aaron Plattner, Alberts Muktupāvels, Alex Mayer,
Ayman Bagabas, Beniamino Galvani, Burt P, Chris Down, Chris Lamb, Chris
Morin, Christian Hesse, Claudius Ellsel, dana, Daniel Axtens, Daniele
@ -101,7 +367,7 @@ CHANGES WITH 241:
Miettinen, YiFei Zhu, YmrDtnJu, YunQiang Su, Yu Watanabe, Zbigniew
Jędrzejewski-Szmek, zsergeant77, Дамјан Георгиевски
— Berlin, 2018-02-14
— Berlin, 2019-02-14
CHANGES WITH 240:
@ -1954,12 +2220,14 @@ CHANGES WITH 234:
systemd-logind to be safe. See
https://cgit.freedesktop.org/xorg/xserver/commit/?id=dc48bd653c7e101.)
* All kernel install plugins are called with the environment variable
* All kernel-install plugins are called with the environment variable
KERNEL_INSTALL_MACHINE_ID which is set to the machine ID given by
/etc/machine-id. If the file is missing or empty, the variable is
empty and BOOT_DIR_ABS is the path of a temporary directory which is
removed after all the plugins exit. So, if KERNEL_INSTALL_MACHINE_ID
is empty, all plugins should not put anything in BOOT_DIR_ABS.
/etc/machine-id. If the machine ID could not be determined,
$KERNEL_INSTALL_MACHINE_ID will be empty. Plugins should not put
anything in the entry directory (passed as the second argument) if
$KERNEL_INSTALL_MACHINE_ID is empty. For backwards compatiblity, a
temporary directory is passed as the entry directory and removed
after all the plugins exit.
Contributions from: Adrian Heine né Lang, Aggelos Avgerinos, Alexander
Kurtz, Alexandros Frantzis, Alexey Brodkin, Alex Lu, Amir Pakdel, Amir
@ -5743,7 +6011,7 @@ CHANGES WITH 214:
* Socket units gained a new Symlinks= setting. It takes a list
of symlinks to create to file system sockets or FIFOs
created by the specific Unix sockets. This is useful to
manage symlinks to socket nodes with the same life-cycle as
manage symlinks to socket nodes with the same lifecycle as
the socket itself.
* The /dev/log socket and /dev/initctl FIFO have been moved to
@ -6051,7 +6319,7 @@ CHANGES WITH 212:
users who are logged out cannot continue to consume IPC
resources. This covers SysV memory, semaphores and message
queues as well as POSIX shared memory and message
queues. Traditionally, SysV and POSIX IPC had no life-cycle
queues. Traditionally, SysV and POSIX IPC had no lifecycle
limits. With this functionality, that is corrected. This may
be turned off by using the RemoveIPC= switch of logind.conf.
@ -6201,7 +6469,7 @@ CHANGES WITH 211:
systemd-networkd.
* The sd-bus.h bus API gained a new sd_bus_track object for
tracking the life-cycle of bus peers. Note that sd-bus.h is
tracking the lifecycle of bus peers. Note that sd-bus.h is
still not a public API though (unless you specify
--enable-kdbus on the configure command line, which however
voids your warranty and you get no API stability guarantee).

4
README
View File

@ -158,6 +158,7 @@ REQUIREMENTS:
openssl >= 1.1.0 (optional, required to support DNS-over-TLS with openssl)
elfutils >= 158 (optional)
polkit (optional)
tzdata >= 2014f (optional)
pkg-config
gperf
docbook-xsl (optional, required for documentation)
@ -316,8 +317,7 @@ WARNINGS:
that valgrind generates nice output only on exit(), hence on shutdown
we don't execve() systemd-shutdown.
STABLE BRANCHES AND BACKPORTS
STABLE BRANCHES AND BACKPORTS:
Stable branches with backported patches are available in the
systemd-stable repo at https://github.com/systemd/systemd-stable.

View File

@ -3,6 +3,7 @@
<a href="https://in.waw.pl/systemd-github-state/systemd-systemd-issues.svg"><img align="right" src="https://in.waw.pl/systemd-github-state/systemd-systemd-issues-small.svg" alt="Count of open issues over time"></a>
<a href="https://in.waw.pl/systemd-github-state/systemd-systemd-pull-requests.svg"><img align="right" src="https://in.waw.pl/systemd-github-state/systemd-systemd-pull-requests-small.svg" alt="Count of open pull requests over time"></a>
[![Semaphore CI Build Status](https://semaphoreci.com/api/v1/projects/28a5a3ca-3c56-4078-8b5e-7ed6ef912e14/443470/shields_badge.svg)](https://semaphoreci.com/systemd/systemd)<br/>
[![Coverity Scan Status](https://scan.coverity.com/projects/350/badge.svg)](https://scan.coverity.com/projects/350)<br/>
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1369/badge)](https://bestpractices.coreinfrastructure.org/projects/1369)<br/>
[![Travis CI Build Status](https://travis-ci.org/systemd/systemd.svg?branch=master)](https://travis-ci.org/systemd/systemd)<br/>
[![Language Grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/systemd/systemd.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/systemd/systemd/context:cpp)<br/>

62
TODO
View File

@ -1,13 +1,9 @@
Bugfixes:
* copy.c: set the right chattrs before copying files and others after
* Many manager configuration settings that are only applicable to user
manager or system manager can be always set. It would be better to reject
them when parsing config.
* Clarify what IPAddress* matches (source, destination, both?)
External:
* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
@ -23,6 +19,19 @@ Janitorial Clean-ups:
Features:
* tweak journald context caching. In addition to caching per-process attributes
keyed by PID, cache per-cgroup attributes (i.e. the various xattrs we read)
keyed by cgroup path, and guarded by ctime changes. This should provide us
with a nice speed-up on services that have many processes running in the same
cgroup.
* clean up sleep.c:
- Use CLOCK_BOOTTIME_ALARM for waking up s2h instead of RTC ioctls
- Parse sleep.conf only once, and parse its whole contents so that we don't
have to parse it again and again in s2h
- Make sure resume= and resume_offset= on the kernel cmdline always take
precedence
* make MAINPID= message reception checks even stricter: if service uses User=,
then check sending UID and ignore message if it doesn't match the user or
root.
@ -51,13 +60,8 @@ Features:
* When logind.conf contains HandleLidSwitch=suspend-then-hibernate and we can't
hibernate because the swap partition isn't large enough, still suspend
* bootctl: implement Type #2 boot loader entry discovery
* bootctl,sd-boot: actually honour the "architecture" key
* when a socket unit is spawned with an AF_UNIX path in /var/run, complain and
patch it to use /run instead
* set memory.oom.group in cgroup v2 for all leaf cgroups (kernel v4.19+)
* add a new syscall group "@esoteric" for more esoteric stuff such as bpf() and
@ -65,7 +69,7 @@ Features:
* paranoia: whenever we process passwords, call mlock() on the memory
first. i.e. look for all places we use string_erase()/string_free_erase() and
augment them with mlock()
augment them with mlock(). Also use MADV_DONTDUMP
* whenever oom_kill memory.event event is triggered print a nice log message
@ -77,8 +81,6 @@ Features:
* maybe implicitly attach monotonic+realtime timestamps to outgoing messages in
log.c and sd-journal-send
* chown() tty a service is attached to after the service goes down
* optionally: turn on cgroup delegation for per-session scope units
* introduce per-unit (i.e. per-slice, per-service) journal log size limits.
@ -90,23 +92,12 @@ Features:
show state of these flags, and optionally trigger such a factory reset on
next boot by setting the flag.
* sd-boot: search drop-ins in $BOOT, too
* sd-boot: add "oneshot boot timeout" variable support
* sd-boot: automatically load EFI modules from some drop-in dir, so that people
can add in file system drivers and such
* esp generator: also mount $BOOT if found
* sd-boot: optionally, show boot menu when previous default boot item has
non-zero "tries done" count
* logind: add "boot into bootmenu" API, and possibly even "boot into windows"
and "boot into macos".
* bootspec.c: also enumerate EFI unified kernel images.
* maybe set a special xattr on cgroups that have delegate=yes set, to make it
easy to mark cut points
@ -150,9 +141,6 @@ Features:
* When reloading configuration PID 1 should reset all its properties to the
original defaults before calling parse_config()
* Add OnTimezoneChange= and OnTimeChange= stanzas to .timer units in order to
schedule events based on time and timezone changes.
* nspawn: greater control over selinux label?
* hibernate/s2h: make this robust and safe to enable in Fedora by default.
@ -268,8 +256,6 @@ Features:
* support projid-based quota in machinectl for containers
* Add NetworkNamespacePath= to specify a path to a network namespace
* maybe use SOURCE_DATE_EPOCH (i.e. the env var the reproducible builds folks
introduced) as the RTC epoch, instead of the mtime of NEWS.
@ -449,8 +435,6 @@ Features:
* optionally, also require WATCHDOG=1 notifications during service start-up and shutdown
* resolved: when routing queries, make sure only look for the *longest* suffix...
* delay activation of logind until somebody logs in, or when /dev/tty0 pulls it
in or lingering is on (so that containers don't bother with it until PAM is used). also exit-on-idle
@ -595,12 +579,6 @@ Features:
service instances processing the listening socket, and open this up
for ReusePort=
* socket units: support creating sockets in different namespace,
opening it up for JoinsNamespaceOf=. This would require to fork off
a tiny process that joins the namespace and creates/binds the socket
and passes this back to PID1 via SCM_RIGHTS. This also could be used
to allow Chown/chgrp on sockets without requiring NSS in PID 1.
* introduce bus call FreezeUnit(s, b), as well as "systemctl freeze
$UNIT" and "systemctl thaw $UNIT" as wrappers around this. The calls
should SIGSTOP all unit processes in a loop until all processes of
@ -641,9 +619,6 @@ Features:
* load .d/*.conf dropins for device units
* allow implementation of InaccessibleDirectories=/ plus
ReadOnlyDirectories=... for whitelisting files for a service.
* sd-bus:
- EBADSLT handling
- GetAllProperties() on a non-existing object does not result in a failure currently
@ -710,6 +685,10 @@ Features:
- honor language efi variables for default language selection (if there are any?)
- honor timezone efi variables for default timezone selection (if there are any?)
- change bootctl to be backed by systemd-bootd to control temporary and persistent default boot goal plus efi variables
* bootctl
- verify that the files boot entries point to exist
- recognize the case when not booted on EFI
- specify paths for boot entries
* maybe do not install getty@tty1.service symlink in /etc but in /usr?
@ -742,8 +721,6 @@ Features:
- follow PropertiesChanged state more closely, to deal with quick logouts and
relogins
* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
* journal:
- consider introducing implicit _TTY= + _PPID= + _EUID= + _EGID= + _FSUID= + _FSGID= fields
- import and delete pstore filesystem content at startup
@ -825,6 +802,7 @@ Features:
- man: document the very specific env the shutdown drop-in tools live in
- man: add more examples to man pages
- man: maybe sort directives in man pages, and take sections from --help and apply them to man too
- document root=gpt-auto properly
* systemctl:
- add systemctl switch to dump transaction without executing it
@ -844,9 +822,7 @@ Features:
* timer units:
- timer units should get the ability to trigger when:
o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
o DST changes
o timezone changes
- Modulate timer frequency based on battery state
* add libsystemd-password or so to query passwords during boot using the password agent logic

View File

@ -0,0 +1,5 @@
@@
expression s;
@@
- (isempty(s) || streq(s, "-"))
+ empty_or_dash(s)

View File

@ -0,0 +1,8 @@
@@
expression e, v, flags;
expression list args;
@@
+ return
- json_log(v, flags, 0, args);
+ json_log(v, flags, SYNTHETIC_ERRNO(e), args);
- return -e;

View File

@ -4,20 +4,33 @@ title: The Boot Loader Specification
# The Boot Loader Specification
_TL;DR: Currently there's little cooperation between multiple distributions in dual-boot (or triple, ... multi-boot) setups, and we'd like to improve this situation by getting everybody to commit to a single boot configuration format that is based on drop-in files, and thus is robust, simple, works without rewriting configuration files and is free of namespace clashes._
_TL;DR: Currently there's no common boot scheme across architectures and
platforms for open-source operating systems. There's also little cooperation
between multiple distributions in dual-boot (or triple, … multi-boot)
setups. We'd like to improve this situation by getting everybody to commit to a
single boot configuration format that is based on drop-in files, and thus is
robust, simple, works without rewriting configuration files and is free of
namespace clashes._
The Boot Loader Specification defines a scheme how different operating systems can cooperatively manage a boot loader configuration directory, that accepts drop-in files for boot menu items that are defined in a format that is shared between various boot loader implementations, operating systems, and userspace programs. The target audience for this specification is:
The Boot Loader Specification defines a scheme how different operating systems
can cooperatively manage a boot loader configuration directory, that accepts
drop-in files for boot menu items that are defined in a format that is shared
between various boot loader implementations, operating systems, and userspace
programs. The same scheme can be used to prepare OS media for cases where the
firmware includes a boot loader. The target audience for this specification is:
* Boot loader developers, to write a boot loader that directly reads its configuration at runtime from these drop-in snippets
* Firmware developers, to add generic boot loading support directly to the firmware itself
* Distribution and Core OS developers, in order to create these snippets at OS/kernel package installation time
* UI developers, for implementing a user interface that discovers the available boot options
* OS Installer developers, for setting up the initial drop-in directory
* OS Installer developers, to prepare their installation media and for setting up the initial drop-in directory
## Why is there a need for this specification?
Of course, without this specification things already work mostly fine. But here's why we think this specification is needed:
* To make the boot more robust, as no explicit rewriting of configuration files is required any more
* To allow an out of the box boot experience on any platform without the need of traditional firmware mechanisms (e.g. BIOS calls, UEFI Boot Services)
* To improve dual-boot scenarios. Currently, multiple Linux installations tend to fight over which boot loader becomes the primary one in possession of the MBR, and only that one installation can then update the boot loader configuration of it freely. Other Linux installs have to be manually configured to never touch the MBR and instead install a chain-loaded boot loader in their own partition headers. In this new scheme as all installations share a loader directory no manual configuration has to take place, and all participants implicitly cooperate due to removal of name collisions and can install/remove their own boot menu entries at free will, without interfering with the entries of other installed operating systems.
* Drop-in directories are otherwise now pretty ubiquitous on Linux as an easy way to extend configuration without having to edit, regenerate or manipulate configuration files. For the sake of uniformity, we should do the same for extending the boot menu.
* Userspace code can sanely parse boot loader configuration which is essential with modern BIOSes which do not necessarily initialize USB keyboards anymore during boot, which makes boot menus hard to reach for the user. If userspace code can parse the boot loader configuration, too, this allows for UIs that can select a boot menu item to boot into, before rebooting the machine, thus not requiring interactivity during early boot.
@ -26,7 +39,9 @@ Of course, without this specification things already work mostly fine. But here'
## Why not simply rely on the EFI boot menu logic?
The EFI specification provides a boot options logic that can offer similar functionality. Here's why we think that it is not enough for our uses:
EFI is not ubiquitous, especially not in embedded systems. If you have an EFI
system, it provides a boot options logic that can offer similar
functionality. Here's why we think that it is not enough for our uses:
* The various EFI implementations implement the boot order/boot item logic to different levels. Some firmware implementations do not offer a boot menu at all and instead unconditionally follow the EFI boot order, booting the first item that is working.
* If the firmware setup is used to reset all data usually all EFI boot entries are lost, making the system entirely unbootable, as the firmware setups generally do not offer a UI to define additional boot items. By placing the menu item information on disk, it is always available, regardless if the BIOS setup data is lost.
@ -42,16 +57,21 @@ Everything described below is located on a placeholder file system `$BOOT`. The
* If the OS is installed on a disk with MBR disk label, and a partition with the MBR type id of 0xEA already exists it should be used as `$BOOT`.
* Otherwise, if the OS is installed on a disk with MBR disk label, a new partition with MBR type id of 0xEA shall be created, of a suitable size (let's say 500MB), and it should be used as `$BOOT`.
* On disks with GPT disk labels
* If the OS is installed on a disk with GPT disk label, and a partition with the GPT type GUID of bc13c2ff-59e6-4262-a352-b275fd6f7172 already exists, it should be used as `$BOOT`.
* Otherwise, if the OS is installed on a disk with GPT disk label, and an ESP partition (i.e. with the GPT type UID of c12a7328-f81f-11d2-ba4b-00a0c93ec93b) already exists and is large enough (let's say 250MB) and otherwise qualifies, it should be used as `$BOOT`.
* Otherwise, if the OS is installed on a disk with GPT disk label, and if the ESP partition already exists but is too small, a new suitably sized (let's say 500MB) partition with GPT type GUID of bc13c2ff-59e6-4262-a352-b275fd6f7172 shall be created and it should be used as `$BOOT`.
* If the OS is installed on a disk with GPT disk label, and a partition with the GPT type GUID of `bc13c2ff-59e6-4262-a352-b275fd6f7172` already exists, it should be used as `$BOOT`.
* Otherwise, if the OS is installed on a disk with GPT disk label, and an ESP partition (i.e. with the GPT type UID of `c12a7328-f81f-11d2-ba4b-00a0c93ec93b`) already exists and is large enough (let's say 250MB`) and otherwise qualifies, it should be used as `$BOOT`.
* Otherwise, if the OS is installed on a disk with GPT disk label, and if the ESP partition already exists but is too small, a new suitably sized (let's say 500MB) partition with GPT type GUID of `bc13c2ff-59e6-4262-a352-b275fd6f7172` shall be created and it should be used as `$BOOT`.
* Otherwise, if the OS is installed on a disk with GPT disk label, and no ESP partition exists yet, a new suitably sized (let's say 500MB) ESP should be created and should be used as `$BOOT`.
This placeholder file system shall be determined during _installation time_, and an fstab entry may be created. It should be mounted to either `/boot/` or `/efi/`. Additional locations like `/boot/efi/`, with `/boot/` being a separate file system, might be supported by implementations. This is not recommended because the mounting of `$BOOT` is then dependent on and requires the mounting of the intermediate file system.
**Note:** _`$BOOT` should be considered **shared** among all OS installations of a system. Instead of maintaining one `$BOOT` per installed OS (as `/boot/` was traditionally handled), all installed OS share the same place to drop in their boot-time configuration._
For systems where the firmware is able to read file systems directly, `$BOOT` must be a file system readable by the firmware. For other systems, `$BOOT` must be a VFAT (16 or 32) file system. Applications accessing `$BOOT` should hence not assume that fancier file system features such as symlinks, hardlinks, access control or case sensitivity are supported.
For systems where the firmware is able to read file systems directly, `$BOOT`
must be a file system readable by the firmware. For other systems and generic
installation and live media, `$BOOT` must be a VFAT (16 or 32) file
system. Applications accessing `$BOOT` should hence not assume that fancier
file system features such as symlinks, hardlinks, access control or case
sensitivity are supported.
This specification defines two types of boot loader entries. The first type is
text based, very simple and suitable for a variety of firmware, architecture
@ -80,7 +100,7 @@ We define two directories below `$BOOT`:
Inside the `$BOOT/loader/entries/` directory each OS vendor may drop one or more configuration snippets with the suffix ".conf", one for each boot menu item. The file name of the file is used for identification of the boot item but shall never be presented to the user in the UI. The file name may be chosen freely but should be unique enough to avoid clashes between OS installations. More specifically it is suggested to include the machine ID (`/etc/machine-id` or the D-Bus machine ID for OSes that lack `/etc/machine-id`), the kernel version (as returned by `uname -r`) and an OS identifier (The ID field of `/etc/os-release`). Example: `$BOOT/loader/entries/6a9857a393724b7a981ebb5b8495b9ea-3.8.0-2.fc19.x86_64.conf`.
These configuration snippets shall be Unix-style text files (i.e. line separation with a single newline character), in the UTF-8 encoding. The configuration snippets are loosely inspired on Grub1's configuration syntax. Lines beginning with '#' shall be ignored and used for commenting. The first word of a line is used as key and shall be separated by a space from its value. The following keys are known:
These configuration snippets shall be Unix-style text files (i.e. line separation with a single newline character), in the UTF-8 encoding. The configuration snippets are loosely inspired on Grub1's configuration syntax. Lines beginning with '#' shall be ignored and used for commenting. The first word of a line is used as key and shall be separated by one or more spaces from its value. The following keys are known:
* `title` shall contain a human readable title string for this menu item. This will be displayed in the boot menu for the item. It is a good idea to initialize this from the `PRETTY_NAME` of `/etc/os-release`. This name should be descriptive and does not have to be unique. If a boot loader discovers two entries with the same title it is a good idea to show more than just the raw title in the UI, for example by appending the `version` field. This field is optional. Example: "Fedora 18 (Spherical Cow)".
* `version` shall contain a human readable version string for this menu item. This is usually the kernel version and is intended for use by OSes to install multiple kernel versions at the same time with the same `title` field. This field shall be in a syntax that is useful for Debian-style version sorts, so that the boot loader UI can determine the newest version easily and show it first or preselect it automatically. This field is optional. Example: `3.7.2-201.fc18.x86_64`.
@ -105,7 +125,16 @@ Each configuration drop-in snippet must include at least a `linux` or an `efi` k
linux /6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.x86_64/linux
initrd /6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.x86_64/initrd
On EFI systems all Linux kernel images should be EFI images. In order to increase compatibility with EFI systems it is highly recommended only to install EFI kernel images, even on non-EFI systems, if that's applicable and supported on the specific architecture.
On EFI systems all Linux kernel images should be EFI images. In order to
increase compatibility with EFI systems it is highly recommended only to
install EFI kernel images, even on non-EFI systems, if that's applicable and
supported on the specific architecture.
Conversely, in order to increase compatibility it is recommended to install
generic kernel images that make few assumptions about the firmware they run on,
i.e. it is a good idea that both images shipped as UEFI PE images and those
which are not don't make unnecessary assumption on the underlying firmware,
i.e. don't hard depend on legacy BIOS calls or UEFI boot services.
Note that these configuration snippets may only reference kernels (and EFI programs) that reside on the same file system as the configuration snippets, i.e. everything referenced must be contained in the same file system. This is by design, as referencing other partitions or devices would require a non-trivial language for denoting device paths. If kernels/initrds are to be read from other partitions/disks the boot loader can do this in its own native configuration, using its own specific device path language, and this is out of focus for this specification. More specifically, on non-EFI systems configuration snippets following this specification cannot be used to spawn other operating systems (such as Windows).

View File

@ -31,6 +31,20 @@ distribution:
print the initial transaction it would execute during boot-up.
This will also inform you about ordering loops and suchlike.
## Compilation options
The default configuration does not enable any optimization or hardening
options. This is suitable for development and testing, but not for end-user
installations.
For deployment, optimization (`-O2` or `-O3` compiler options), link time
optimization (`-Db_lto=true` meson option), and hardening (e.g.
`-D_FORTIFY_SOURCE=2`, `-fstack-protector-strong`, `-fstack-clash-protection`,
`-fcf-protection`, `-pie` compiler options, and `-z relro`, `-z now`,
`--as-needed` linker options) are recommended. The most appropriate set of
options depends on the architecture and distribution specifics so no default is
provided.
## NTP Pool
By default, systemd-timesyncd uses the Google Public NTP servers
@ -49,8 +63,8 @@ NTP servers.
## DNS Servers
By default, systemd-resolved uses the Google Public DNS servers
`8.8.8.8`, `8.8.4.4`, `2001:4860:4860::8888`, `2001:4860:4860::8844`
By default, systemd-resolved uses Cloudflare and Google Public DNS servers
`1.1.1.1`, `8.8.8.8`, `1.0.0.1`, `8.8.4.4`, `2606:4700:4700::1111`, `2001:4860:4860::8888`, `2606:4700:4700::1001`, `2001:4860:4860::8844`
as fallback, if no other DNS configuration is available.
Use `-Ddns-servers=` to direct systemd-resolved to different fallback

View File

@ -107,6 +107,51 @@ systemd-udevd:
with `:` in which case the kernel command line option takes precedence, if it
is specified as well.
* `$SYSTEMD_REBOOT_TO_FIRMWARE_SETUP` — if set overrides systemd-logind's
built-in EFI logic of requesting a reboot into the firmware. Takes a
boolean. If set to false the functionality is turned off entirely. If set to
true instead of requesting a reboot into the firmware setup UI through EFI a
file `/run/systemd/reboot-to-firmware-setup` is created whenever this is
requested. This file may be checked for by services run during system
shutdown in order to request the appropriate operation from the firmware in
an alternative fashion.
* `$SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU` — similar to the above, allows
overriding of systemd-logind's built-in EFI logic of requesting a reboot into
the boot loader menu. Takes a boolean. If set to false the functionality is
turned off entirely. If set to true instead of requesting a reboot into the
boot loader menu through EFI a file `/run/systemd/reboot-to-boot-loader-menu`
is created whenever this is requested. The file contains the requested boot
loader menu timeout in µs, formatted in ASCII decimals, or zero in case no
time-out is requested. This file may be checked for by services run during
system shutdown in order to request the appropriate operation from the boot
loader in an alternative fashion.
* `$SYSTEMD_REBOOT_TO_BOOT_LOADER_ENTRY` — similar to the above, allows
overriding of systemd-logind's built-in EFI logic of requesting a reboot into
a specific boot loader entry. Takes a boolean. If set to false the
functionality is turned off entirely. If set to true instead of requesting a
reboot into a specific boot loader entry through EFI a file
`/run/systemd/reboot-to-boot-loader-entry` is created whenever this is
requested. The file contains the requested boot loader entry identifier. This
file may be checked for by services run during system shutdown in order to
request the appropriate operation from the boot loader in an alternative
fashion. Note that by default only boot loader entries which follow the [Boot
Loader Specification](https://systemd.io/BOOT_LOADER_SPECIFICATION) and are
placed in the ESP or the Extended Boot Loader partition may be selected this
way. However, if a directory `/run/boot-loader-entries/` exists, the entries
are loaded from there instead. The directory should contain the usual
directory hierarchy mandated by the Boot Loader Specification, i.e. the entry
drop-ins should be placed in
`/run/boot-loader-entries/loader/entries/*.conf`, and the files referenced by
the drop-ins (including the kernels and initrds) somewhere else below
`/run/boot-loader-entries/`. Note that all these files may be (and are
supposed to be) symlinks. systemd-logind will load these files on-demand,
these files can hence be updated (ideally atomically) whenever the boot
loader configuration changes. A foreign boot loader installer script should
hence synthesize drop-in snippets and symlinks for all boot entries at boot
or whenever they change if it wants to integrate with systemd-logind's APIs.
installed systemd tests:
* `$SYSTEMD_TEST_DATA` — override the location of test data. This is useful if

View File

@ -153,9 +153,9 @@ images should just work the way they are. Specifically, the following
requirements are made for an image that can be attached/detached with
`portablectl`.
1. It must contain a binary (and its dependencies) that shall be invoked,
including all its dependencies. If binary code, the code needs to be
compiled for an architecture compatible with the host.
1. It must contain an executable that shall be invoked, along with all its
dependencies. If binary code, the code needs to be compiled for an
architecture compatible with the host.
2. The image must either be a plain sub-directory (or btrfs subvolume)
containing the binaries and its dependencies in a classic Linux OS tree, or
@ -177,15 +177,35 @@ requirements are made for an image that can be attached/detached with
5. The image must contain the files `/etc/resolv.conf` and `/etc/machine-id`
(empty files are ok), they will be bind mounted from the host at runtime.
Note that generally images created by tools such as `debootstrap`, `dnf
--installroot=` or `mkosi` qualify for all of the above in one way or
another. If you wonder what the most minimal image would be that complies with
the requirements above, it could consist of this:
6. The image must contain directories `/proc/`, `/sys/`, `/dev/`, `/run/`,
`/tmp/`, `/var/tmp/` that can be mounted over with the corresponding version
from the host.
7. The OS might require other files or directories to be in place. For example,
if the image is built based on glibc, the dynamic loader needs to be
available in `/lib/ld-linux.so.2` or `/lib64/ld-linux-x86-64.so.2` (or
similar, depending on architecture), and if the distribution implements a
merged `/usr/` tree, this means `/lib` and/or `/lib64` need to be symlinks
to their respective counterparts below `/usr/`. For details see your
distribution's documentation.
Note that images created by tools such as `debootstrap`, `dnf --installroot=`
or `mkosi` generally qualify for all of the above in one way or another. If you
wonder what the most minimal image would be that complies with the requirements
above, it could consist of this:
```
/usr/bin/minimald # a statically compiled binary
/usr/lib/systemd/minimal-test.service # the unit file for the service, with ExecStart=/usr/bin/minimald
/usr/lib/os-release # an os-release file explaining what this is
/usr/bin/minimald # a statically compiled binary
/usr/lib/systemd/system/minimal-test.service # the unit file for the service, with ExecStart=/usr/bin/minimald
/usr/lib/os-release # an os-release file explaining what this is
/etc/resolv.conf # empty file to mount over with host's version
/etc/machine-id # ditto
/proc/ # empty directory to use as mount point for host's API fs
/sys/ # ditto
/dev/ # ditto
/run/ # ditto
/tmp/ # ditto
/var/tmp/ # ditto
```
And that's it.
@ -195,6 +215,11 @@ own. If they do, it's fine, it will be ignored by the portable service logic,
but they generally don't have to, and it might make sense to avoid any, to keep
images minimal.
If the image is writable, and some of the files or directories that are
overmounted from the host do not exist yet they are automatically created. On
read-only, immutable images (e.g. squashfs images) all files and directories to
over-mount must exist already.
Note that as no new image format or metadata is defined, it's very
straight-forward to define images than can be made use of it a number of
different ways. For example, by using `mkosi -b` you can trivially build a

View File

@ -5,12 +5,15 @@ title: Steps to a Successful Release
# Steps to a Successful Release
1. Add all items to NEWS
2. Update the contributors list in NEWS ("make git-contrib")
2. Update the contributors list in NEWS (`ninja -C build git-contrib`)
3. Update the time and place in NEWS
4. Update version in configure.ac and library numbers in Makefile.am
5. Check that "make distcheck" works
6. Tag the release ("make git-tag")
7. Upload the documentation ("make doc-sync")
8. Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones)
9. Send announcement to systemd-devel, with a copy&paste from NEWS
10. Update IRC topic ("/msg chanserv TOPIC #systemd Version NNN released")
4. Update version and library numbers in `meson.build`
5. Tag the release: `version=vXXX-rcY && git tag -s "${version}" -m "systemd ${version}"`
6. Do `ninja -C build`
7. Make sure that the version string and package string match: `build/systemctl --version`
8. Upload the documentation: `ninja -C build doc-sync`
9. [After final release] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones)
10. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate.
11. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically.
12. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released`)
13. [After final release] Also push commits to stable, create an empty -stable branch: `git push systemd-stable origin/master:master origin/master:v${version}-stable`, and change the default branch to latest release (https://github.com/systemd/systemd-stable/settings/branches).

View File

@ -0,0 +1,220 @@
---
title: Using /tmp/ And /var/tmp/ Safely
---
# Using `/tmp/` And `/var/tmp/` Safely
`/tmp/` and `/var/tmp/` are two world-writable directories Linux systems
provide for temporary files. The former is typically on `tmpfs` and thus
backed by RAM/swap, and flushed out on each reboot. The latter is typically a
proper, persistent file system, and thus backed by physical storage. This
means:
1. `/tmp/` should be used for smaller, size-bounded files only; `/var/tmp/`
should be used for everything else.
2. Data that shall survive a boot cycle shouldn't be placed in `/tmp/`.
If the `$TMPDIR` environment variable is set, use that path, and neither use
`/tmp/` nor `/var/tmp/` directly.
See
[file-hierarchy(7)](https://www.freedesktop.org/software/systemd/man/file-hierarchy.html)
for details about these two (and most other) directories of a Linux system.
## Common Namespace
Note that `/tmp/` and `/var/tmp/` each define a common namespace shared by all
local software. This means guessable file or directory names below either
directory directly translate into a 🚨 Denial-of-Service (DoS) 🚨 vulnerability
or worse: if some software creates a file or directory `/tmp/foo` then any
other software that wants to create the same file or directory `/tmp/foo`
either will fail (as the file already exists) or might be tricked into using
untrusted files. Hence: do not use guessable names in `/tmp/` or `/var/tmp/`
if you do you open yourself up to a local DoS exploit or worse. (You can get
away with using guessable names, if you pre-create subdirectories below `/tmp/`
for them, like X11 does with `/tmp/.X11-unix/` through `tmpfiles.d/`
drop-ins. However this is not recommended, as it is fully safe only if these
directories are pre-created during early boot, and thus problematic if package
installation during runtime is permitted.)
To protect yourself against these kinds of attacks Linux provides a couple of
APIs that help you avoiding guessable names. Specifically:
1. Use [`mkstemp()`](http://man7.org/linux/man-pages/man3/mkstemp.3.html)
(POSIX), `mkostemp()` (glibc),
[`mkdtemp()`](http://man7.org/linux/man-pages/man3/mkdtemp.3.html) (POSIX),
[`tmpfile()`](http://man7.org/linux/man-pages/man3/tmpfile.3.html) (C89)
2. Use [`open()`](http://man7.org/linux/man-pages/man2/open.2.html) with
`O_TMPFILE` (Linux)
3. [`memfd_create()`](http://man7.org/linux/man-pages/man2/memfd_create.2.html)
(Linux; this doesn't bother with `/tmp/` or `/var/tmp/` at all, but uses the
same RAM/swap backing as `tmpfs` uses, hence is very similar to `/tmp/`
semantics.)
For system services systemd provides the `PrivateTmp=` boolean setting. If
turned on for a service (👍 which is highly recommended), `/tmp/` and
`/var/tmp/` are replaced by private sub-directories, implemented through Linux
file system namespacing and bind mounts. This means from the service's point of
view `/tmp/` and `/var/tmp/` look and behave like they normally do, but in
reality they are private sub-directories of the host's real `/tmp/` and
`/var/tmp/`, and thus not system-wide locations anymore, but service-specific
ones. This reduces the surface for local DoS attacks substantially. While it is
recommended to turn this option on, it's highly recommended for applications
not to rely on this solely to avoid DoS vulnerabilities, because this option is
not available in environments where file system namespaces are prohibited, for
example in certain container environments. This option is hence an extra line
of defense, but should not be used as an excuse to rely on guessable names in
`/tmp/` and `/var/tmp/`. When this option is used, the per-service temporary
directories are removed whenever the service shuts down, hence the lifecycle of
temporary files stored in it is substantially different from the case where
this option is not used. Also note that some applications use `/tmp/` and
`/var/tmp/` for sharing files and directories. If this option is turned on this
is not possible anymore as after all each service gets its own instances of
both directories.
## Automatic Clean-Up
By default, `systemd-tmpfiles` will apply a concept of ⚠️ "ageing" to all files
and directories stored in `/tmp/` and `/var/tmp/`. This means that files that
have neither been changed nor read within a specific time frame are
automatically removed in regular intervals. (This concept is not new to
`systemd-tmpfiles` btw, it's inherited from previous subsystems such as
`tmpwatch`.) By default files in `/tmp/` are cleaned up after 10 days, and
those in `/var/tmp` after 30 days.
This automatic clean-up is important to ensure disk usage of these temporary
directories doesn't grow without bounds, even when programs abort unexpectedly
or otherwise don't clean up the temporary files/directories they create. On the
other hand it creates problems for long-running software that does not expect
temporary files it operates on to be suddenly removed. There are a couple of
strategies to avoid these issues:
1. Make sure to always keep a file descriptor to the temporary files you
operate on open, and only access the files through them. This way it doesn't
matter whether the files have been unlinked from the file system: as long as
you have the file descriptor open you can still access the file for both
reading and writing. When operating this way it is recommended to delete the
files right after creating them to ensure that on unexpected program
termination the files or directories are implicitly released by the kernel.
2. 🥇 Use `memfd_create()` or `O_TMPFILE`. This is an extension of the
suggestion above: files created this way are never linked under a filename
in the file system. This means they are not subject to ageing (as they come
unlinked out of the box), and there's no time window where a directory entry
for the file exists in the file system, and thus behaviour is fully robust
towards unexpected program termination as there are never files on disk that
need to be explicitly deleted.
3. 🥇 Operate below a sub-directory of `/tmp/` and `/var/tmp/` you created, and
take a BSD file lock ([`flock(dir_fd,
LOCK_SH)`](http://man7.org/linux/man-pages/man2/flock.2.html)) on that
sub-directory. This is particularly interesting when operating on more than
a single file, or on file nodes that are not plain regular files, for
example when extracting a tarball to a temporary directory. The ageing
algorithm will skip all directories (and everything below them) that are
locked through a BSD file lock. As BSD file locks are automatically released
when the file descriptor they are taken on is closed, and all file
descriptors opened by a process are implicitly closed when it exits, this is
a robust mechanism that ensures all temporary files are subject to ageing
when the program that owns them dies, but not while it is still running. Use
this when decompressing tarballs that contain files with old
modification/access times, as extracted files are otherwise immediately
candidates for deletion by the ageing algorithm. The
[`flock`](http://man7.org/linux/man-pages/man1/flock.1.html) tool of the
`util-linux` packages makes this concept available to shell scripts. Note
that `systemd-tmpfiles` only checks for BSD file locks on directories, locks
on other types of file nodes (including regular files) are not considered.
4. Keep the access time of all temporary files created current. In regular
intervals, use `utimensat()` or a related call to update the access time
("atime") of all files that shall be kept around. Since the ageing algorithm
looks at the access time of files when deciding whether to delete them, it's
sufficient to update their access times in sufficiently frequent intervals to
ensure the files are not deleted. Since most applications (and tools such as
`ls`) primarily care for the modification time (rather than the access time)
using the access time for this purpose should be acceptable.
5. Set the "sticky" bit on regular files. The ageing logic skips deletion of
all regular files that have the sticky bit (`chmod +t`) set. This is
honoured for regular files only however, and has no effect on directories as
the sticky bit has a different meaning for them.
6. Don't use `/tmp/` or `/var/tmp/`, but use your own sub-directory under
`/run/` or `$XDG_RUNTIME_DIRECTORY` (the former if privileged, the latter if
unprivileged), or `/var/lib/` and `~/.config/` (similar, but with
persistency and suitable for larger data). The two temporary directories
`/tmp/` and `/var/tmp/` come with the implicit clean-up semantics described
above. When this is not desired, it's possible to create private per-package
runtime or state directories, and place all temporary files there. However,
do note that this means opting out of any kind of automatic clean-up, and it
is hence particularly essential that the program cleans up generated files
in these directories when they are no longer needed, in particular when the
program dies unexpectedly. Note: this strategy is only really suitable for
packages that operate in a "system wide singleton" fashion with "long"
persistance of its data or state, i.e. as opposed to programs that run in
multiple parallel or short-living instances. This is because a private
directory under `/run` (and the other mentioned directories) is itself
system and package specific singleton with greater longevity.
5. Exclude your temporary files from clean-ups via a `tmpfiles.d/` drop-in
(which includes drop-ins in the runtime-only directory
`/run/tmpfiles.d/`). The `x`/`X` line types may be used to exclude files
matching the specified globbing patterns from the ageing logic. If this is
used, automatic clean-up is not done for matching files and directory, and
much like with the previous option it's hence essential that the program
generating these temporary files carefully removes the temporary files it
creates again, and in particular so if it dies unexpectedly.
🥇 The semantics of options 2 (in case you only deal with temporary files, not
directories) and 3 (in case you deal with both) in the list above are in most
cases the most preferable. It is thus recommended to stick to these two
options.
While the ageing logic is very useful as a safety concept to ensure unused
files and directories are eventually removed a well written program avoids even
creating files that need such a clean-up. In particular:
1. Use `memfd_create()` or `O_TMPFILE` when creating temporary files.
2. `unlink()` temporary files right after creating them. This is very similar
to `O_TMPFILE` behaviour: consider deleting temporary files right after
creating them, while keeping open a file descriptor to them. Unlike
`O_TMPFILE` this method also works on older Linux systems and other OSes
that do not implement `O_TMPFILE`.
## Disk Quota
Generally, files allocated from `/tmp/` and `/var/tmp/` are allocated from a
pool shared by all local users. Moreover the space available in `/tmp/` is
generally more restricted than `/var/tmp/`. This means, that in particular in
`/tmp/` space should be considered scarce, and programs need to be prepared
that no space is available. Essential programs might require a fallback logic
using a different location for storing temporary files hence. Non-essential
programs at least need to be prepared for `ENOSPC` errors and generate useful,
actionable error messages.
Some setups employ per-user quota on `/var/tmp/` and possibly `/tmp/`, to make
`ENOSPC` situations less likely, and harder to trigger from unprivileged
users. However, in the general case no such per-user quota is implemented
though, in particular not when `tmpfs` is used as backing file system, because
— even today — `tmpfs` still provides no native quota support in the kernel.
## Early Boot Considerations
Both `/tmp/` and `/var/tmp/` are not necessarily available during early boot,
or — if they are available early — are not writable. This means software that
is intended to run during early boot (i.e. before `basic.target` — or more
specifically `local-fs.target` — is up) should not attempt to make use of
either. Interfaces such as `memfd_create()` or files below a package-specific
directory in `/run/` are much better options in this case. (Note that some
packages instead use `/dev/shm/` for temporary files during early boot; this is
not advisable however, as it offers no benefits over a private directory in
`/run/` as both are backed by the same concept: `tmpfs`. The directory
`/dev/shm/` exists to back POSIX shared memory (see
[`shm_open()`](http://man7.org/linux/man-pages/man3/shm_open.3.html) and
related calls), and not as a place for temporary files. `/dev/shm` is
problematic as it is world-writable and there's no automatic clean-up logic in
place.)

View File

@ -155,6 +155,7 @@ All execution-related settings are available for transient units.
✓ MemoryDenyWriteExecute=
✓ RestrictNamespaces=
✓ RestrictRealtime=
✓ RestrictSUIDSGID=
✓ RestrictAddressFamilies=
✓ LockPersonality=
✓ LimitCPU=
@ -224,6 +225,7 @@ All cgroup/resource control settings are available for transient units
✓ CPUShares=
✓ StartupCPUShares=
✓ CPUQuota=
✓ CPUQuotaPeriodSec=
✓ MemoryAccounting=
✓ MemoryMin=
✓ MemoryLow=
@ -334,10 +336,12 @@ All automount unit setting is available to transient units:
Most timer unit settings are available to transient units.
```
✓ OnCalendar=
✓ OnActiveSec=
✓ OnBootSec=
✓ OnCalendar=
✓ OnClockChange=
✓ OnStartupSec=
✓ OnTimezoneChange
✓ OnUnitActiveSec=
✓ OnUnitInactiveSec=
✓ Persistent=

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
# This file is part of systemd.
#
# Data imported from:
# http://www.uefi.org/uefi-pnp-export
# http://www.uefi.org/uefi-acpi-export
# https://uefi.org/uefi-pnp-export
# https://uefi.org/uefi-acpi-export
#
# With various additions from other sources

View File

@ -1,9 +1,9 @@
--- 20-acpi-vendor.hwdb.base 2019-02-14 10:59:47.388792656 +0100
+++ 20-acpi-vendor.hwdb 2019-02-14 10:59:47.398792674 +0100
--- 20-acpi-vendor.hwdb.base 2019-04-08 11:36:50.727757815 +0200
+++ 20-acpi-vendor.hwdb 2019-04-08 11:36:50.735757868 +0200
@@ -3,6 +3,8 @@
# Data imported from:
# http://www.uefi.org/uefi-pnp-export
# http://www.uefi.org/uefi-acpi-export
# https://uefi.org/uefi-pnp-export
# https://uefi.org/uefi-acpi-export
+#
+# With various additions from other sources

File diff suppressed because it is too large Load Diff

View File

@ -449,6 +449,9 @@ usb:v03EBp7800*
usb:v03EBp800C*
ID_MODEL_FROM_DATABASE=Airspy HF+
usb:v03EBpFF02*
ID_MODEL_FROM_DATABASE=WootingTwo
usb:v03EBpFF07*
ID_MODEL_FROM_DATABASE=Tux Droid fish dongle
@ -512,6 +515,9 @@ usb:v03F0p0024*
usb:v03F0p002A*
ID_MODEL_FROM_DATABASE=LaserJet P1102
usb:v03F0p0053*
ID_MODEL_FROM_DATABASE=DeskJet 2620 All-in-One Printer
usb:v03F0p0101*
ID_MODEL_FROM_DATABASE=ScanJet 4100c
@ -674,6 +680,9 @@ usb:v03F0p0517*
usb:v03F0p051D*
ID_MODEL_FROM_DATABASE=Bluetooth Interface
usb:v03F0p052A*
ID_MODEL_FROM_DATABASE=LaserJet M1212nf MFP
usb:v03F0p0601*
ID_MODEL_FROM_DATABASE=ScanJet 6300c
@ -3809,6 +3818,9 @@ usb:v0419p0001*
usb:v0419p0600*
ID_MODEL_FROM_DATABASE=Desktop Wireless 6000
usb:v0419p2694*
ID_MODEL_FROM_DATABASE=Laila
usb:v0419p3001*
ID_MODEL_FROM_DATABASE=Xerox P1202 Laser Printer
@ -4772,9 +4784,6 @@ usb:v0424p223A*
usb:v0424p2503*
ID_MODEL_FROM_DATABASE=USB 2.0 Hub
usb:v0424p2504*
ID_MODEL_FROM_DATABASE=USB 2.0 Hub
usb:v0424p2507*
ID_MODEL_FROM_DATABASE=hub
@ -4808,6 +4817,9 @@ usb:v0424p2744*
usb:v0424p274D*
ID_MODEL_FROM_DATABASE=HTC Hub Controller
usb:v0424p2807*
ID_MODEL_FROM_DATABASE=Hub
usb:v0424p3FCC*
ID_MODEL_FROM_DATABASE=RME MADIface
@ -4829,6 +4841,9 @@ usb:v0424p5534*
usb:v0424p5744*
ID_MODEL_FROM_DATABASE=Hub
usb:v0424p5807*
ID_MODEL_FROM_DATABASE=Hub
usb:v0424p7500*
ID_MODEL_FROM_DATABASE=LAN7500 Ethernet 10/100/1000 Adapter
@ -7154,6 +7169,9 @@ usb:v045Ep07A5*
usb:v045Ep07B2*
ID_MODEL_FROM_DATABASE=2.4GHz Transceiver v8.0 used by mouse Wireless Desktop 900
usb:v045Ep07B6*
ID_MODEL_FROM_DATABASE=Comfort Curve Keyboard 3000
usb:v045Ep07B9*
ID_MODEL_FROM_DATABASE=Wired Keyboard 200
@ -9542,6 +9560,9 @@ usb:v0480p0200*
usb:v0480p0820*
ID_MODEL_FROM_DATABASE=Canvio Advance Disk
usb:v0480p0821*
ID_MODEL_FROM_DATABASE=Canvio Advance 2TB model DTC920
usb:v0480pA006*
ID_MODEL_FROM_DATABASE=External Disk 1.5TB
@ -9728,6 +9749,9 @@ usb:v0483p5731*
usb:v0483p5740*
ID_MODEL_FROM_DATABASE=Virtual COM Port
usb:v0483p5750*
ID_MODEL_FROM_DATABASE=LED badge -- mini LED display -- 11x44
usb:v0483p7270*
ID_MODEL_FROM_DATABASE=ST Micro Serial Bridge
@ -9860,6 +9884,9 @@ usb:v048Dp9507*
usb:v048Dp9910*
ID_MODEL_FROM_DATABASE=IT9910 chipset based grabber
usb:v048DpFF59*
ID_MODEL_FROM_DATABASE=Hdmi-CEC Bridge
usb:v048F*
ID_VENDOR_FROM_DATABASE=Eicon Tech.
@ -10061,6 +10088,9 @@ usb:v0499p160F*
usb:v0499p1613*
ID_MODEL_FROM_DATABASE=Clavinova CLP535
usb:v0499p1617*
ID_MODEL_FROM_DATABASE=PSR-E353 digital keyboard
usb:v0499p1704*
ID_MODEL_FROM_DATABASE=Steinberg UR44
@ -12821,6 +12851,9 @@ usb:v04B0p0429*
usb:v04B0p042A*
ID_MODEL_FROM_DATABASE=D800 (ptp)
usb:v04B0p0430*
ID_MODEL_FROM_DATABASE=D7100
usb:v04B0p043F*
ID_MODEL_FROM_DATABASE=D5600
@ -14549,6 +14582,12 @@ usb:v04D8pC001*
usb:v04D8pE11C*
ID_MODEL_FROM_DATABASE=TL866CS EEPROM Programmer [MiniPRO]
usb:v04D8pEDB4*
ID_MODEL_FROM_DATABASE=micro PLC (ATSAMD51G19A) [Black Brix ECU II]
usb:v04D8pEDB5*
ID_MODEL_FROM_DATABASE=ATMEGA32U4 [Black Brix ECU]
usb:v04D8pF2C4*
ID_MODEL_FROM_DATABASE=Macareux-labs Hygrometry Temperature Sensor
@ -15470,6 +15509,9 @@ usb:v04E8p342D*
usb:v04E8p344F*
ID_MODEL_FROM_DATABASE=SCX-3400 Series
usb:v04E8p347E*
ID_MODEL_FROM_DATABASE=C48x Series Color Laser Multifunction Printer
usb:v04E8p3605*
ID_MODEL_FROM_DATABASE=InkJet Color Printer
@ -15707,6 +15749,9 @@ usb:v04E8p61B5*
usb:v04E8p61B6*
ID_MODEL_FROM_DATABASE=M3 Portable Hard Drive 1TB
usb:v04E8p61B7*
ID_MODEL_FROM_DATABASE=M3 Portable Hard Drive 4TB
usb:v04E8p61F3*
ID_MODEL_FROM_DATABASE=Portable SSD T3 (MU-PT250B, MU-PT500B)
@ -15893,6 +15938,9 @@ usb:v04E8p7080*
usb:v04E8p7081*
ID_MODEL_FROM_DATABASE=Human Interface Device
usb:v04E8p7301*
ID_MODEL_FROM_DATABASE=Fingerprint Device
usb:v04E8p8001*
ID_MODEL_FROM_DATABASE=Handheld
@ -16319,6 +16367,9 @@ usb:v04F3p0381*
usb:v04F3p04A0*
ID_MODEL_FROM_DATABASE=Dream Cheeky Stress/Panic Button
usb:v04F3p2234*
ID_MODEL_FROM_DATABASE=Touchscreen
usb:v04F4*
ID_VENDOR_FROM_DATABASE=Harting Elektronik, Inc.
@ -17855,6 +17906,15 @@ usb:v04F9p2061*
usb:v04F9p2064*
ID_MODEL_FROM_DATABASE=PT-P700 P-touch Label Printer RemovableDisk
usb:v04F9p209B*
ID_MODEL_FROM_DATABASE=QL-800 P-touch Label Printer
usb:v04F9p209C*
ID_MODEL_FROM_DATABASE=QL-810W P-touch Label Printer
usb:v04F9p209D*
ID_MODEL_FROM_DATABASE=QL-820NWB P-touch Label Printer
usb:v04F9p2100*
ID_MODEL_FROM_DATABASE=Card Reader Writer
@ -19103,6 +19163,9 @@ usb:v054Cp0045*
usb:v054Cp0046*
ID_MODEL_FROM_DATABASE=Network Walkman
usb:v054Cp0049*
ID_MODEL_FROM_DATABASE=UP-D895
usb:v054Cp004A*
ID_MODEL_FROM_DATABASE=Memory Stick Hi-Fi System
@ -19355,6 +19418,9 @@ usb:v054Cp01D5*
usb:v054Cp01DE*
ID_MODEL_FROM_DATABASE=VRD-VC10 [Video Capture]
usb:v054Cp01E7*
ID_MODEL_FROM_DATABASE=UP-D897
usb:v054Cp01E8*
ID_MODEL_FROM_DATABASE=UP-DR150 Photo Printer
@ -20222,6 +20288,12 @@ usb:v056Ap0038*
usb:v056Ap0039*
ID_MODEL_FROM_DATABASE=DTU-710
usb:v056Ap003A*
ID_MODEL_FROM_DATABASE=DTI-520
usb:v056Ap003B*
ID_MODEL_FROM_DATABASE=Integrated Hub
usb:v056Ap003F*
ID_MODEL_FROM_DATABASE=DTZ-2100 [Cintiq 21UX]
@ -20289,7 +20361,7 @@ usb:v056Ap0081*
ID_MODEL_FROM_DATABASE=CTE-630BT [Graphire Wireless (6x8)]
usb:v056Ap0084*
ID_MODEL_FROM_DATABASE=Wireless adapter for Bamboo tablets
ID_MODEL_FROM_DATABASE=ACK-40401 [Wireless Accessory Kit]
usb:v056Ap0090*
ID_MODEL_FROM_DATABASE=TPC90
@ -20426,6 +20498,9 @@ usb:v056Ap00ED*
usb:v056Ap00EF*
ID_MODEL_FROM_DATABASE=TPCEF
usb:v056Ap00F0*
ID_MODEL_FROM_DATABASE=DTU-1631
usb:v056Ap00F4*
ID_MODEL_FROM_DATABASE=DTK-2400 [Cintiq 24HD] tablet
@ -20501,9 +20576,51 @@ usb:v056Ap0317*
usb:v056Ap0318*
ID_MODEL_FROM_DATABASE=CTH-301 [Bamboo]
usb:v056Ap0319*
ID_MODEL_FROM_DATABASE=CTH-300 [Bamboo Pad wireless]
usb:v056Ap0323*
ID_MODEL_FROM_DATABASE=CTL-680 [Intuos Pen (M)]
usb:v056Ap032A*
ID_MODEL_FROM_DATABASE=DTK-2700 [Cintiq 27QHD]
usb:v056Ap032B*
ID_MODEL_FROM_DATABASE=DTH-2700 [Cintiq 27QHD touch] tablet
usb:v056Ap032C*
ID_MODEL_FROM_DATABASE=DTH-2700 [Cintiq 27QHD touch] touchscreen
usb:v056Ap032F*
ID_MODEL_FROM_DATABASE=DTU-1031X
usb:v056Ap0331*
ID_MODEL_FROM_DATABASE=ACK-411050 [ExpressKey Remote]
usb:v056Ap0333*
ID_MODEL_FROM_DATABASE=DTH-1300 [Cintiq 13HD Touch] tablet
usb:v056Ap0335*
ID_MODEL_FROM_DATABASE=DTH-1300 [Cintiq 13HD Touch] touchscreen
usb:v056Ap0336*
ID_MODEL_FROM_DATABASE=DTU-1141
usb:v056Ap033B*
ID_MODEL_FROM_DATABASE=CTL-490 [Intuos Draw (S)]
usb:v056Ap033C*
ID_MODEL_FROM_DATABASE=CTH-490 [Intuos Art/Photo/Comic (S)]
usb:v056Ap033D*
ID_MODEL_FROM_DATABASE=CTL-690 [Intuos Draw (M)]
usb:v056Ap033E*
ID_MODEL_FROM_DATABASE=CTH-690 [Intuos Art (M)]
usb:v056Ap0343*
ID_MODEL_FROM_DATABASE=DTK-1651
usb:v056Ap0347*
ID_MODEL_FROM_DATABASE=Integrated Hub
@ -20552,6 +20669,9 @@ usb:v056Ap0357*
usb:v056Ap0358*
ID_MODEL_FROM_DATABASE=PTH-860 [Intuos Pro (L)]
usb:v056Ap0359*
ID_MODEL_FROM_DATABASE=DTU-1141B
usb:v056Ap035A*
ID_MODEL_FROM_DATABASE=DTH-1152 tablet
@ -20702,6 +20822,15 @@ usb:v056Ep0075*
usb:v056Ep0077*
ID_MODEL_FROM_DATABASE=Laser mouse M-LY2UL
usb:v056Ep0079*
ID_MODEL_FROM_DATABASE=Laser mouse M-D21DL
usb:v056Ep007B*
ID_MODEL_FROM_DATABASE=Laser mouse M-D20DR
usb:v056Ep007C*
ID_MODEL_FROM_DATABASE=Laser Bluetooth mouse M-BT5BL
usb:v056Ep2003*
ID_MODEL_FROM_DATABASE=JC-U3613M
@ -27992,6 +28121,9 @@ usb:v06F8pA300*
usb:v06F8pB000*
ID_MODEL_FROM_DATABASE=Hercules DJ Console
usb:v06F8pB121*
ID_MODEL_FROM_DATABASE=Hercules P32 DJ
usb:v06F8pC000*
ID_MODEL_FROM_DATABASE=Hercules Muse Pocket
@ -36131,6 +36263,15 @@ usb:v0AADp0083*
usb:v0AADp0095*
ID_MODEL_FROM_DATABASE=NRP-Z86
usb:v0AADp0117*
ID_MODEL_FROM_DATABASE=HMF / HMP / HMS-X / HMO series Oscilloscopes
usb:v0AADp0118*
ID_MODEL_FROM_DATABASE=HMF / HMP / HMS-X / HMO series Oscilloscopes
usb:v0AADp0119*
ID_MODEL_FROM_DATABASE=HMF / HMP / HMS-X / HMO series Oscilloscopes
usb:v0AAE*
ID_VENDOR_FROM_DATABASE=NEC infrontia Corp. (Nitsuko)
@ -57092,6 +57233,15 @@ usb:v22B9p0006*
usb:v22BA*
ID_VENDOR_FROM_DATABASE=Technology Innovation Holdings, Ltd
usb:v22E0*
ID_VENDOR_FROM_DATABASE=secunet Security Networks AG
usb:v22E0p0002*
ID_MODEL_FROM_DATABASE=SINA Flash Drive
usb:v22E0p0003*
ID_MODEL_FROM_DATABASE=SINA ID Token A
usb:v2304*
ID_VENDOR_FROM_DATABASE=Pinnacle Systems, Inc.
@ -57500,6 +57650,51 @@ usb:v2676*
usb:v2676pBA02*
ID_MODEL_FROM_DATABASE=ace
usb:v2717*
ID_VENDOR_FROM_DATABASE=Xiaomi Inc.
usb:v2717p0011*
ID_MODEL_FROM_DATABASE=100Mbps Network Card Adapter
usb:v2717p0360*
ID_MODEL_FROM_DATABASE=Mi3W
usb:v2717p0368*
ID_MODEL_FROM_DATABASE=Mi4 LTE
usb:v2717p3801*
ID_MODEL_FROM_DATABASE=Mi ANC & Type-C In-Ear Earphones
usb:v2717p4106*
ID_MODEL_FROM_DATABASE=MediaTek MT7601U [MI WiFi]
usb:v2717pFF08*
ID_MODEL_FROM_DATABASE=Redmi Note 3 (ADB Interface)
usb:v2717pFF10*
ID_MODEL_FROM_DATABASE=Mi/Redmi series (PTP)
usb:v2717pFF18*
ID_MODEL_FROM_DATABASE=Mi/Redmi series (PTP + ADB)
usb:v2717pFF40*
ID_MODEL_FROM_DATABASE=Mi/Redmi series (MTP)
usb:v2717pFF48*
ID_MODEL_FROM_DATABASE=Mi/Redmi series (MTP + ADB)
usb:v2717pFF60*
ID_MODEL_FROM_DATABASE=redmi prime 2
usb:v2717pFF68*
ID_MODEL_FROM_DATABASE=Mi-4c
usb:v2717pFF80*
ID_MODEL_FROM_DATABASE=Mi/Redmi series (RNDIS)
usb:v2717pFF88*
ID_MODEL_FROM_DATABASE=Mi/Redmi series (RNDIS + ADB)
usb:v2730*
ID_VENDOR_FROM_DATABASE=Citizen

View File

@ -100,6 +100,32 @@ evdev:input:b0003v05ACp025B*
EVDEV_ABS_35=::94
EVDEV_ABS_36=::92
# MacBook8,1 (2015), MacBook9,1 (2016), MacBook10,1 (2017)
evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBook8,1:*
evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBook9,1:*
evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBook10,1:*
EVDEV_ABS_00=::95
EVDEV_ABS_01=::90
EVDEV_ABS_35=::95
EVDEV_ABS_36=::90
# MacBookPro13,* (Late 2016), MacBookPro14,* (Mid 2017)
evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBookPro13,1:*
evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBookPro13,2:*
evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBookPro14,1:*
evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBookPro14,2:*
EVDEV_ABS_00=::96
EVDEV_ABS_01=::94
EVDEV_ABS_35=::96
EVDEV_ABS_36=::94
evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBookPro13,3:*
evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBookPro14,3:*
EVDEV_ABS_00=::96
EVDEV_ABS_01=::95
EVDEV_ABS_35=::96
EVDEV_ABS_36=::95
#########################################
# ASUS
#########################################

View File

@ -66,3 +66,7 @@ id-input:modalias:input:b0003v5543p0081*
# XP-PEN STAR 06
id-input:modalias:input:b0003v28bdp0078*
ID_INPUT_TABLET=1
# Lite-On Tech IBM USB Travel Keyboard with Ultra Nav Mouse
id-input:modalias:input:b0003v04B3p301Ee0100-e0,1,2,4*
ID_INPUT_POINTINGSTICK=1

View File

@ -188,6 +188,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOA*:pvr*
###########################################################
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAlienware*:pn*
KEYBOARD_KEY_81=f21 # Touchpad toggle
KEYBOARD_KEY_8a=ejectcd
# Alienware/Dell reserves these keys; safe to apply on all their devices
@ -210,6 +211,10 @@ evdev:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
evdev:name:Asus Laptop extra buttons:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
KEYBOARD_KEY_6b=f21 # Touchpad Toggle
# USB keyboard in Asus FX503VD
evdev:input:b0003v0B05p1869*
KEYBOARD_KEY_ff31007c=f20 # Remap micmute to f20
###########################################################
# BenQ
###########################################################
@ -499,7 +504,8 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*Pavilion*dv7*Notebook*PC:
KEYBOARD_KEY_c6=break
KEYBOARD_KEY_94=reserved
# Pavilion x360 13 (Prevents random airplane mode activation)
# Pavilion and Spectre x360 13 (Prevents random airplane mode activation)
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[sS][pP][eE][cC][tT][rR][eE]*x360*13*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[pP][aA][vV][iI][lL][iI][oO][nN]*13*x360*:pvr*
KEYBOARD_KEY_d7=unknown
@ -802,6 +808,10 @@ evdev:atkbd:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr*
KEYBOARD_KEY_ae=!volumedown
KEYBOARD_KEY_b0=!volumeup
# Lenovo Y50-70
evdev:atkbd:dmi:bvn*:bvr*:svnLENOVO*:pn*20378*:pvr*
KEYBOARD_KEY_f3=f21 # Fn+F6 (toggle touchpad)
# V480
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr*
KEYBOARD_KEY_f1=f21

View File

@ -71,6 +71,9 @@ sensor:modalias:acpi:INVN6500*:dmi:*svn*Acer*:*pn*AspireSW5-012*
sensor:modalias:acpi:BMA250E*:dmi:*:svnAcer:pnIconiaW1-810:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
sensor:modalias:acpi:SMO8500:*:dmi:*Acer*:pnOneS1002*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, -1
sensor:modalias:acpi:KIOX0009*:dmi:*:svnAcer:pnOneS1003:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
@ -358,12 +361,26 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnLINX*:pnLINX1010B:*
sensor:modalias:acpi:KIOX000A*:dmi:*:svnLINX*:pnLINX12X64:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#########################################
# Medion
#########################################
sensor:modalias:acpi:SMO8500*:dmi:*:svnMEDION:pnAkoyaE2212TMD99720:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
# MSI
#########################################
sensor:modalias:acpi:SMO8500*:dmi:*:svnMicro-StarInternationalCo.,Ltd.:pnS100:*
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, 1
#########################################
# MYRIA
#########################################
# MY8307
sensor:modalias:acpi:BOSC0200*:dmi:*:svnCompletElectroServ:pnMY8307:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
# Nuvision (TMax)
#########################################
@ -459,6 +476,10 @@ sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.011:bd11/03/20
sensor:modalias:acpi:KIOX010A*:dmi:*:svnTECLAST:pnF5:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Teclast F6 Pro
sensor:modalias:acpi:KIOX010A*:dmi:*:svnTECLAST:pnF6Pro:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
#########################################
# Trekstor
#########################################
@ -467,6 +488,7 @@ sensor:modalias:acpi:BMA250*:dmi:*:bvrTREK.G.WI71C.JGBMRBA*:*:svnTrekStor:pnSurf
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTREKSTOR:pnPrimetabT13B:*
sensor:modalias:acpi:BOSC0200*:dmi:*:svnTrekStor*:pnSurfTabtwin11.6:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################

View File

@ -681,7 +681,7 @@ mouse:usb:v0425p0101:name:G-Tech CHINA USB Wireless Mouse & KeyBoard V1.01 :
# Razer Abyssus
mouse:usb:v1532p0042:name:Razer Razer Abyssus:
MOUSE_DPI=3500@1000
MOUSE_DPI=1600@1000
# Razer DeathAdder Black Edition
mouse:usb:v1532p0029:name:Razer Razer DeathAdder:

View File

@ -48,3 +48,11 @@ touchpad:bluetooth:*
touchpad:usb:v056a*
ID_INPUT_TOUCHPAD_INTEGRATION=external
###########################################################
# Apple
###########################################################
# Magic Trackpad (1 and 2)
touchpad:usb:v05acp030e:*
touchpad:usb:v05acp0265:*
ID_INPUT_TOUCHPAD_INTEGRATION=external

View File

@ -72,8 +72,8 @@ b = open("pnp_id_registry.html")
print('# This file is part of systemd.\n'
'#\n'
'# Data imported from:\n'
'# http://www.uefi.org/uefi-pnp-export\n'
'# http://www.uefi.org/uefi-acpi-export')
'# https://uefi.org/uefi-pnp-export\n'
'# https://uefi.org/uefi-acpi-export')
read_table(a)
read_table(b)

View File

@ -5,6 +5,7 @@ import sys
from pyparsing import (Word, White, Literal, Regex,
LineEnd, SkipTo,
ZeroOrMore, OneOrMore, Combine, Optional, Suppress,
Group,
stringEnd, pythonStyleComment)
EOL = LineEnd().suppress()
@ -23,10 +24,10 @@ def klass_grammar():
subclass_line = TAB + NUM2('subclass') + text_eol('text')
protocol_line = TAB + TAB + NUM2('protocol') + text_eol('name')
subclass = (subclass_line('SUBCLASS') -
ZeroOrMore(protocol_line('PROTOCOLS*')
ZeroOrMore(Group(protocol_line)('PROTOCOLS*')
^ COMMENTLINE.suppress()))
klass = (klass_line('KLASS') -
ZeroOrMore(subclass('SUBCLASSES*')
ZeroOrMore(Group(subclass)('SUBCLASSES*')
^ COMMENTLINE.suppress()))
return klass
@ -34,7 +35,7 @@ def usb_ids_grammar():
vendor_line = NUM4('vendor') + text_eol('text')
device_line = TAB + NUM4('device') + text_eol('text')
vendor = (vendor_line('VENDOR') +
ZeroOrMore(device_line('VENDOR_DEV*') ^ COMMENTLINE.suppress()))
ZeroOrMore(Group(device_line)('VENDOR_DEV*') ^ COMMENTLINE.suppress()))
klass = klass_grammar()
@ -44,7 +45,8 @@ def usb_ids_grammar():
other_group = (other_line - ZeroOrMore(TAB + text_eol('text')))
commentgroup = OneOrMore(COMMENTLINE).suppress() ^ EMPTYLINE.suppress()
grammar = OneOrMore(vendor('VENDORS*') ^ klass('CLASSES*')
grammar = OneOrMore(Group(vendor)('VENDORS*')
^ Group(klass)('CLASSES*')
^ other_group.suppress() ^ commentgroup) + stringEnd()
grammar.parseWithTabs()
@ -56,14 +58,15 @@ def pci_ids_grammar():
subvendor_line = TAB + TAB + NUM4('a') + White(' ') + NUM4('b') + text_eol('name')
device = (device_line('DEVICE') +
ZeroOrMore(subvendor_line('SUBVENDORS*') ^ COMMENTLINE.suppress()))
ZeroOrMore(Group(subvendor_line)('SUBVENDORS*') ^ COMMENTLINE.suppress()))
vendor = (vendor_line('VENDOR') +
ZeroOrMore(device('DEVICES*') ^ COMMENTLINE.suppress()))
ZeroOrMore(Group(device)('DEVICES*') ^ COMMENTLINE.suppress()))
klass = klass_grammar()
commentgroup = OneOrMore(COMMENTLINE).suppress() ^ EMPTYLINE.suppress()
grammar = OneOrMore(vendor('VENDORS*') ^ klass('CLASSES*')
grammar = OneOrMore(Group(vendor)('VENDORS*')
^ Group(klass)('CLASSES*')
^ commentgroup) + stringEnd()
grammar.parseWithTabs()
@ -73,12 +76,14 @@ def sdio_ids_grammar():
vendor_line = NUM4('vendor') + text_eol('text')
device_line = TAB + NUM4('device') + text_eol('text')
vendor = (vendor_line('VENDOR') +
ZeroOrMore(device_line('DEVICES*') ^ COMMENTLINE.suppress()))
ZeroOrMore(Group(device_line)('DEVICES*') ^ COMMENTLINE.suppress()))
klass = klass_grammar()
commentgroup = OneOrMore(COMMENTLINE).suppress() ^ EMPTYLINE.suppress()
grammar = OneOrMore(vendor('VENDORS*') ^ klass('CLASSES*') ^ commentgroup) + stringEnd()
grammar = OneOrMore(Group(vendor)('VENDORS*')
^ Group(klass)('CLASSES*')
^ commentgroup) + stringEnd()
grammar.parseWithTabs()
return grammar
@ -102,7 +107,7 @@ def oui_grammar(type):
grammar = (Literal('OUI') + text_eol('header')
+ text_eol('header') + text_eol('header') + EMPTYLINE
+ OneOrMore(vendor('VENDORS*')) + stringEnd())
+ OneOrMore(Group(vendor)('VENDORS*')) + stringEnd())
grammar.parseWithTabs()
return grammar
@ -126,8 +131,8 @@ def usb_vendor_model(p):
items = {}
for vendor_group in p.VENDORS:
vendor = vendor_group.VENDOR.vendor.upper()
text = vendor_group.VENDOR.text.strip()
vendor = vendor_group.vendor.upper()
text = vendor_group.text.strip()
add_item(items, (vendor,), text)
for vendor_dev in vendor_group.VENDOR_DEV:
@ -152,8 +157,8 @@ def usb_classes(p):
items = {}
for klass_group in p.CLASSES:
klass = klass_group.KLASS.klass.upper()
text = klass_group.KLASS.text.strip()
klass = klass_group.klass.upper()
text = klass_group.text.strip()
if klass != '00' and not re.match(r'(\?|None|Unused)\s*$', text):
add_item(items, (klass,), text)
@ -189,8 +194,8 @@ def pci_vendor_model(p):
items = {}
for vendor_group in p.VENDORS:
vendor = vendor_group.VENDOR.vendor.upper()
text = vendor_group.VENDOR.text.strip()
vendor = vendor_group.vendor.upper()
text = vendor_group.text.strip()
add_item(items, (vendor,), text)
for device_group in vendor_group.DEVICES:
@ -227,8 +232,8 @@ def pci_classes(p):
items = {}
for klass_group in p.CLASSES:
klass = klass_group.KLASS.klass.upper()
text = klass_group.KLASS.text.strip()
klass = klass_group.klass.upper()
text = klass_group.text.strip()
add_item(items, (klass,), text)
for subclass_group in klass_group.SUBCLASSES:
@ -260,8 +265,8 @@ def sdio_vendor_model(p):
items = {}
for vendor_group in p.VENDORS:
vendor = vendor_group.VENDOR.vendor.upper()
text = vendor_group.VENDOR.text.strip()
vendor = vendor_group.vendor.upper()
text = vendor_group.text.strip()
add_item(items, (vendor,), text)
for device_group in vendor_group.DEVICES:
@ -286,8 +291,8 @@ def sdio_classes(p):
items = {}
for klass_group in p.CLASSES:
klass = klass_group.KLASS.klass.upper()
text = klass_group.KLASS.text.strip()
klass = klass_group.klass.upper()
text = klass_group.text.strip()
add_item(items, klass, text)
with open('20-sdio-classes.hwdb', 'wt') as out:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
#
# List of PCI ID's
#
# Version: 2019.02.13
# Date: 2019-02-13 03:15:01
# Version: 2019.04.06
# Date: 2019-04-06 03:15:02
#
# Maintained by Albert Pool, Martin Mares, and other volunteers from
# the PCI ID Project at https://pci-ids.ucw.cz/.
@ -219,8 +219,7 @@
0eac SHF Communication Technologies AG
0008 Ethernet Powerlink Managing Node 01
0f62 Acrox Technologies Co., Ltd.
# Formerly NCR
1000 LSI Logic / Symbios Logic
1000 Broadcom / LSI
0001 53c810
1000 1000 LSI53C810AE PCI to SCSI I/O Processor
0002 53c820
@ -266,6 +265,7 @@
1000 1000 LSI53C875A PCI to Ultra SCSI Controller
0014 MegaRAID Tri-Mode SAS3516
1028 1fd4 PERC H745P MX
1137 020e UCSC-RAID-M5 12G Modular RAID Controller
1d49 0602 ThinkSystem RAID 930-16i 4GB Flash PCIe 12Gb Adapter
1d49 0604 ThinkSystem RAID 930-8e 4GB Flash PCIe 12Gb Adapter
1d49 0607 ThinkSystem RAID 930-16i 8GB Flash PCIe 12Gb Adapter
@ -400,7 +400,7 @@
8086 3510 RMS25PB080 RAID Controller
8086 3511 RMS25PB040 RAID Controller
8086 3512 RMT3PB080 RAID Controller
8086 3513 RMS25CB080 RAID Controller
8086 3513 Integrated RAID Module RMS25CB080
8086 3514 RMS25CB040 RAID Controller
8086 351c RMS25PB080N RAID Controller
8086 351d RMS25CB080N RAID Controller
@ -479,7 +479,9 @@
0062 SAS1078 PCI-Express Fusion-MPT SAS
1000 0062 SAS1078 PCI-Express Fusion-MPT SAS
0064 SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]
1000 3030 9200-16e 6Gb/s SAS/SATA PCIe x8 External HBA
1000 30c0 SAS 9201-16i
1000 30d0 9201-16e 6Gb/s SAS/SATA PCIe x8 External HBA
0065 SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]
006e SAS2308 PCI-Express Fusion-MPT SAS-2
0070 SAS2004 PCI-Express Fusion-MPT SAS-2 [Spitfire]
@ -502,6 +504,7 @@
1000 9241 MegaRAID SAS 9240-4i
1000 92a0 MegaRAID SAS 9220-8i
1014 03b1 ServeRAID M1015 SAS/SATA Controller
1014 040d ServeRAID M1115 SAS/SATA Controller
1028 1f4e PERC H310 Adapter
1028 1f4f PERC H310 Integrated
1028 1f50 PERC H310 Mini Blades
@ -821,7 +824,6 @@
1636 Renoir
1714 BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series]
103c 168b ProBook 4535s
2191 TU116M
3150 RV380/M24 [Mobility Radeon X600]
103c 0934 nx8220
3151 RV380 GL [FireMV 2400]
@ -2450,11 +2452,13 @@
1462 3413 Radeon RX 480 Gaming X 8GB
1462 3416 Radeon RX 570
1462 3418 Radeon RX 580 Armor 4G OC
1462 8a92 Radeon RX 580
148c 2372 Radeon RX 480
148c 2373 Radeon RX 470
1682 9470 Radeon RX 470
1682 9480 Radeon RX 480
1682 9588 Radeon RX 580 XTR
1682 c570 Radeon RX 570
174b e347 Radeon RX 470/480
174b e349 Radeon RX 470
1787 a470 Radeon RX 470
@ -2479,6 +2483,7 @@
67e9 Baffin [Polaris11]
67eb Baffin [Radeon Pro V5300X]
67ef Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]
103c 3421 Radeon RX 460
106b 0160 Radeon Pro 460
106b 0166 Radeon Pro 455
106b 0167 Radeon Pro 450
@ -2717,6 +2722,8 @@
6868 Vega 10 [Radeon PRO WX 8100/8200]
686c Vega 10 [Radeon Instinct MI25 MxGPU]
687f Vega 10 XL/XT [Radeon RX Vega 56/64]
1002 0b36 RX Vega64
1002 6b76 RX Vega56
6880 Lexington [Radeon HD 6550M]
103c 163c Pavilion dv6 Radeon HD 6550M
6888 Cypress XT [FirePro V8800]
@ -3608,16 +3615,16 @@
9613 RS780MC [Mobility Radeon HD 3100]
9614 RS780D [Radeon HD 3300]
9616 RS780L [Radeon 3000]
9640 BeaverCreek [Radeon HD 6550D]
9641 BeaverCreek [Radeon HD 6620G]
9642 Sumo [Radeon HD 6370D]
9643 Sumo [Radeon HD 6380G]
9644 Sumo [Radeon HD 6410D]
9645 Sumo [Radeon HD 6410D]
9647 BeaverCreek [Radeon HD 6520G]
9640 Sumo [Radeon HD 6550D]
9641 Sumo [Radeon HD 6620G]
9642 SuperSumo [Radeon HD 6370D]
9643 SuperSumo [Radeon HD 6380G]
9644 SuperSumo [Radeon HD 6410D]
9645 SuperSumo [Radeon HD 6410D]
9647 Sumo [Radeon HD 6520G]
9648 Sumo [Radeon HD 6480G]
9649 Sumo [Radeon HD 6480G]
964a BeaverCreek [Radeon HD 6530D]
9649 SuperSumo [Radeon HD 6480G]
964a Sumo [Radeon HD 6530D]
964b Sumo
964c Sumo
964e Sumo
@ -3772,6 +3779,7 @@
174b aa98 Radeon HD 6450 1GB DDR3
aaa0 Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970]
aab0 Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series]
aab8 Tiran HDMI Audio
aac0 Tobago HDMI Audio [Radeon R7 360 / R9 360 OEM]
aac8 Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
aad8 Tonga HDMI Audio [Radeon R9 285/380]
@ -4380,7 +4388,7 @@
1434 Liverpool Processor SPLL Configuration
1436 Liverpool Processor Root Complex
1437 Liverpool I/O Memory Management Unit
1438 Liverpool Processor Root Port
1438 Liverpool UMI PCIe Dummy Host Bridge
1439 Family 16h Processor Functions 5:1
143a Kingston/Clayton/Gladius/Montego Root Complex
143b Kingston/Clayton/Gladius/Montego P2P Bridge for UMI Link
@ -4413,7 +4421,7 @@
145c Family 17h (Models 00h-0fh) USB 3.0 Host Controller
145d Zeppelin Switch Upstream (PCIE SW.US)
145e Zeppelin Switch Downstream (PCIE SW.DS)
145f USB 3.0 Host controller
145f Zeppelin USB 3.0 Host controller
1460 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 0
1461 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 1
1462 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 2
@ -6639,6 +6647,7 @@
1645 Broadcom NetXtreme BCM5701 Gigabit Ethernet
1801 T2 Bridge Controller
1802 T2 Secure Enclave Processor
1803 Apple Audio Device
2001 S1X NVMe Controller
2002 S3ELab NVMe Controller
2003 S3X NVMe Controller
@ -6714,14 +6723,17 @@
1077 02a7 QL45212-DE 25GbE Adapter
1077 e4f6 FastLinQ QL45211H 25GbE Adapter
1077 e4f7 FastLinQ QL45212H 25GbE Adapter
1590 0245 10/20/25GbE 2P 4820c CNA
165c FastLinQ QL45000 Series 10/25/40/50GbE Controller (FCoE)
1077 0034 QL45262 Flex 50Gb 2-port Ethernet Adapter w/ iSCSI/FCoE
1077 e4f1 FastLinQ QL45462H 40GbE FCoE Adapter
1077 e4f2 FastLinQ QL45461H 40GbE FCoE Adapter
1590 0245 10/20/25GbE 2P 4820c CNA FCoE
165e FastLinQ QL45000 Series 10/25/40/50GbE Controller (iSCSI)
1077 0034 QL45262 Flex 50Gb 2-port Ethernet Adapter w/ iSCSI/FCoE
1077 e4f1 FastLinQ QL45462H 40GbE iSCSI Adapter
1077 e4f2 FastLinQ QL45461H 40GbE iSCSI Adapter
1590 0245 10/20/25GbE 2P 4820c CNA iSCSI
1664 FastLinQ QL45000 Series Gigabit Ethernet Controller (SR-IOV VF)
1077 e4f1 FastLinQ QL45462H 40GbE Adapter (SR-IOV VF)
1077 e4f2 FastLinQ QL45461H 40GbE Adapter (SR-IOV VF)
@ -6730,6 +6742,7 @@
1077 e4f6 FastLinQ QL45211H 25GbE Adapter (SR-IOV VF)
1077 e4f7 FastLinQ QL45212H 25GbE Adapter (SR-IOV VF)
1077 e4f8 FastLinQ QL45611H 100GbE Adapter (SR-IOV VF)
1590 0245 10/20/25GbE 2P 4820c CNA SRIOV
2020 ISP2020A Fast!SCSI Basic Adapter
2031 ISP8324-based 16Gb Fibre Channel to PCI Express Adapter
103c 17e7 SN1000Q 16Gb Single Port Fibre Channel Adapter
@ -6741,6 +6754,9 @@
1077 029e QLE2694 Quad Port 16Gb Fibre Channel to PCIe Adapter
1077 02a2 QLE2694L Quad Port 16Gb Fibre Channel to PCIe Adapter
1077 02ad QLE2694U Quad Port 16/32Gb Fibre Channel to PCIe Adapter
2081 ISP2814-based 64/32G Fibre Channel to PCIe Controller
1077 02e1 QLE2874 Quad Port 64GFC PCIe Gen4 x16 Adapter
1077 02e3 QLE2774 Quad Port 32GFC PCIe Gen4 x16 Adapter
2100 QLA2100 64-bit Fibre Channel Adapter
1077 0001 QLA2100 64-bit Fibre Channel Adapter
2200 QLA2200 64-bit Fibre Channel Adapter
@ -6760,6 +6776,11 @@
1590 00fa StoreFabric SN1100Q 16Gb Dual Port Fibre Channel Host Bus Adapter
1590 0203 StoreFabric SN1600Q 32Gb Single Port Fibre Channel Host Bus Adapter
1590 0204 StoreFabric SN1600Q 32Gb Dual Port Fibre Channel Host Bus Adapter
2281 ISP2812-based 64/32G Fibre Channel to PCIe Controller
1077 02e2 QLE2872 Dual Port 64GFC PCIe Gen4 x8 Adapter
1077 02e4 QLE2772 Dual Port 32GFC PCIe Gen4 x8 Adapter
1077 02ee QLE2870 Single Port 64GFC PCIe Gen4 x8 Adapter
1077 02f0 QLE2770 Single Port 32GFC PCIe Gen4 x8 Adapter
2300 QLA2300 64-bit Fibre Channel Adapter
2312 ISP2312-based 2Gb Fibre Channel to PCI-X HBA
103c 0131 2Gb Fibre Channel - Single port [A7538A]
@ -9219,6 +9240,7 @@
0111 NV11 [GeForce2 MX200]
0112 NV11M [GeForce2 Go]
0113 NV11GL [Quadro2 MXR/EX/Go]
1028 00e5 Quadro2 Go
0140 NV43 [GeForce 6600 GT]
1458 3125 GV-NX66T128D
1458 3126 GV-NX66T256DE
@ -10130,6 +10152,7 @@
06ca GF100M [GeForce GTX 480M]
06cb GF100 [GeForce GTX 480]
06cd GF100 [GeForce GTX 470]
06d0 GF100GL
06d1 GF100GL [Tesla C2050 / C2070]
10de 0771 Tesla C2050
10de 0772 Tesla C2070
@ -10823,7 +10846,7 @@
1022 GK110GL [Tesla K20c]
1023 GK110BGL [Tesla K40m]
10de 097e 12GB Computational Accelerator
1024 GK110BGL [Tesla K40c]
1024 GK180GL [Tesla K40c]
1026 GK110GL [Tesla K20s]
1027 GK110BGL [Tesla K40st]
1028 GK110GL [Tesla K20m]
@ -11670,7 +11693,7 @@
1eb0 TU104GL [Quadro RTX 5000]
1eb1 TU104GL [Quadro RTX 4000]
1eb8 TU104GL [Tesla T4]
1ed0 TU104M [GeForce RTX 2080 Mobile]
1ed0 TU104BM [GeForce RTX 2080 Mobile]
1f02 TU106 [GeForce RTX 2070]
1043 8673 TURBO RTX 2070
1f04 TU106
@ -11679,17 +11702,18 @@
1f10 TU106M [GeForce RTX 2070 Mobile]
1f11 TU106M [GeForce RTX 2060 Mobile]
1f2e TU106M
1f50 TU106M [GeForce RTX 2070 Mobile]
1f51 TU106M [GeForce RTX 2060 Mobile]
1f82 TU107
1f92 TU107M
1f50 TU106BM [GeForce RTX 2070 Mobile]
1f51 TU106BM [GeForce RTX 2060 Mobile]
1f82 TU107 [GeForce GTX 1650]
1f92 TU107M [GeForce GTX 1650 Mobile]
1fbf TU107GL
2182 TU116 [GeForce GTX 1660 Ti Rev. A]
2182 TU116 [GeForce GTX 1660 Ti]
2183 TU116
2184 TU116 [GeForce GTX 1660]
2191 TU116M
2191 TU116M [GeForce GTX 1660 Mobile]
21ae TU116GL
21bf TU116GL
21d1 TU116BM [GeForce GTX 1660 Mobile]
10df Emulex Corporation
0720 OneConnect NIC (Skyhawk)
103c 1934 FlexFabric 20Gb 2-port 650M Adapter
@ -11872,6 +11896,7 @@
103c 1985 Pavilion 17-e163sg Notebook PC
17aa 3832 Yoga 520
522a RTS522A PCI Express Card Reader
103c 8079 EliteBook 840 G3
5249 RTS5249 PCI Express Card Reader
103c 1909 ZBook 15
524a RTS524A PCI Express Card Reader
@ -11880,6 +11905,7 @@
1028 06dc Latitude E7470
1028 06e4 XPS 15 9550
17aa 224f ThinkPad X1 Carbon 5th Gen
5260 RTS5260 PCI Express Card Reader
5286 RTS5286 PCI Express Card Reader
5287 RTL8411B PCI Express Card Reader
5288 RTS5288 PCI Express Card Reader
@ -13179,6 +13205,7 @@
112f Dalsa Inc.
0000 MVC IC-PCI
0001 MVC IM-PCI Video frame grabber/processor
0004 PCDig Digital Image Capture
0008 PC-CamLink PCI framegrabber
1130 Computervision
1131 Philips Semiconductors
@ -14560,6 +14587,7 @@
7820 MV78200 [Discovery Innovation] ARM SoC
7823 MV78230 [Armada XP] ARM SoC
7846 88F6820 [Armada 385] ARM SoC
d40f Bobcat3 Ethernet Switch
f003 GT-64010 Primary Image Piranha Image Generator
11ac Canon Information Systems Research Aust.
11ad Lite-On Communications Inc
@ -18429,6 +18457,7 @@
1590 0211 Ethernet 25Gb 2-port 631FLR-SFP28 Adapter
16d8 BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller
1028 1feb NetXtreme-E 10Gb SFP+ Adapter
14e4 4163 BCM957416M4163C OCP 2x10GBT Type1 wRoCE
1590 020c Ethernet 10Gb 2-port 535T Adapter
1590 0212 Ethernet 10Gb 2-port 535FLR-T Adapter
16d9 BCM57417 NetXtreme-E 10GBASE-T RDMA Ethernet Controller
@ -19408,8 +19437,12 @@
0211 MT416842 Family [BlueField SoC Flash Recovery]
0212 MT2892 Family [ConnectX-6 Dx Flash Recovery]
0213 MT2892 Family [ConnectX-6 Dx Secure Flash Recovery]
0214 MT42822 Family [BlueField-2 SoC Flash Recovery]
0215 MT42822 Family [BlueField-2 Secure Flash Recovery]
024e MT53100 [Spectrum-2, Flash recovery mode]
024f MT53100 [Spectrum-2, Secure Flash recovery mode]
0250 Spectrum-3, Flash recovery mode
0251 Spectrum-3, Secure Flash recovery mode
0262 MT27710 [ConnectX-4 Lx Programmable] EN
0263 MT27710 [ConnectX-4 Lx Programmable Virtual Function] EN
0264 Innova-2 Flex Burn image
@ -19490,12 +19523,13 @@
101b MT28908 Family [ConnectX-6]
101c MT28908 Family [ConnectX-6 Virtual Function]
101d MT2892 Family [ConnectX-6 Dx]
101e MT2892 Family [ConnectX-6 Dx Virtual Function]
101e ConnectX Family mlx5Gen Virtual Function
101f MT28851
1020 MT28860
1021 MT28861
1974 MT28800 Family [ConnectX-5 PCIe Bridge]
1975 MT416842 Family [BlueField SoC PCIe Bridge]
1978 MT42822 Family [BlueField-2 SoC PCIe Bridge]
4117 MT27712A0-FDCF-AE
1bd4 0039 SN10XMP2P25
1bd4 004d SN10XMP2P25,YZPC-01191-101
@ -19505,6 +19539,7 @@
5a46 MT23108 PCI Bridge
5e8c MT24204 [InfiniHost III Lx HCA]
5e8d MT25204 [InfiniHost III Lx HCA Flash Recovery]
6001 NVMe SNAP Controller
6274 MT25204 [InfiniHost III Lx HCA]
6278 MT25208 InfiniHost III Ex (Tavor compatibility mode)
6279 MT25208 [InfiniHost III Ex HCA Flash Recovery]
@ -19545,6 +19580,11 @@
a2d1 MT416842 BlueField SoC Crypto disabled
a2d2 MT416842 BlueField integrated ConnectX-5 network controller
a2d3 MT416842 BlueField multicore SoC family VF
a2d4 MT42822 BlueField-2 SoC Crypto enabled
a2d5 MT42822 BlueField-2 SoC Crypto disabled
a2d6 MT42822 BlueField-2 integrated ConnectX-6 Dx network controller
c2d2 MT416842 BlueField SoC management interfac
c2d3 MT42822 BlueField-2 SoC Management Interface
# SwitchX-2, 40GbE switch
c738 MT51136
c739 MT51136 GW
@ -19555,6 +19595,7 @@
cb84 MT52100
cf08 MT53236
cf6c MT53100 [Spectrum-2]
cf70 Spectrum-3
d2f0 Quantum HDR (200Gbps) switch
15b4 CCI/TRIAD
15b5 Cimetrics Inc
@ -20653,6 +20694,8 @@
1915 Arria10 PCIe MainRef Design [DNPCIe_80G_A10_LL]
1916 VirtexUS PCIe Accelerator Board [DNVUF2_HPC_PCIe]
1917 UltrascalePlus PCIe Accelerator Board [DNPCIe_400G_VU_LL]
1918 VirtexUS+ ASIC Emulation Board [DNVUPF4A]
1919 UltrascalePlus PCIe Accelerator Board [DNPCIe_400G_VUP_HBM_LL]
1a00 Virtex6 PCIe DMA Netlist Design
1a01 Virtex6 PCIe Darklite Design [DNPCIe_HXT_10G_LL]
1a02 Virtex7 PCIe DMA Netlist Design
@ -20665,6 +20708,8 @@
1a0a VirtexUS PCIe Darklite Design [DNVUF2_HPC_PCIe]
1a0b UltrascalePlus PCIe Darklite Design [DNPCIe_400G_VU_LL]
1a0c KintexUS PCIe DRAM Packet Capture Design [DNPCIe_40G_KU_LL]
1a0d KintexUS PCIe DRAM Packet Capture Design [DNPCIe_40G_KU_LL_2QSFP]
1a0e UltrascalePlus PCIe Darklite Design [DNPCIe_400G_VUP_HBM_LL]
17e4 Sectra AB
0001 KK671 Cardbus encryption board
0002 KK672 Cardbus encryption board
@ -20990,6 +21035,7 @@
0175 NT20E3-2-PTP Network Adapter 2x10Gb
0185 NT40A01 Network Adapter
01a5 NT200A01 Network Adapter
01c5 NT200A02 Network Adapter
18f6 NextIO
1000 [Nexsis] Switch Virtual P2P PCIe Bridge
1001 [Texsis] Switch Virtual P2P PCIe Bridge
@ -21161,7 +21207,13 @@
1924 801d x2522-R1 2000 Series 10/25G Adapter
1924 801e x2542-R1 2000 Series 40/100G Adapter
1924 8022 XtremeScale X2522 10G Network Adapter
1924 8024 XtremeScale X2562 OCP 3.0 Dual Port SFP28
1924 8027 XtremeScale X2541 PCIe Single Port QSFP28
1924 8028 XtremeScale X2522-25G Network Adapter
1924 802a XtremeScale X2542 PCIe Dual Port QSFP28
1924 802b XtremeScale X2552 OCP 2.0 Dual Port SFP28
1924 802c XtremeScale X2522-25G PCIe Dual Port SFP28
1924 802d XtremeScale X2562 OCP 3.0 Dual Port SFP28
1803 SFC9020 10G Ethernet Controller (Virtual Function)
1813 SFL9021 10GBASE-T Ethernet Controller (Virtual Function)
1903 SFC9120 10G Ethernet Controller (Virtual Function)
@ -21835,6 +21887,7 @@
1028 1fd6 BOSS-S1 Adapter
1028 1fdf BOSS-S1 Modular
1028 1fe2 BOSS-S1 Adapter
1028 2010 BOSS-S2 Adapter
1d49 0300 ThinkSystem M.2 with Mirroring Enablement Kit
9235 88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller
9445 88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller
@ -21940,6 +21993,7 @@
0011 MIPS SoC PCI Express Port
1bf4 VTI Instruments Corporation
0001 SentinelEX
7011 RX0xxx
1bfd EeeTOP
1c09 CSP, Inc.
4254 10G-PCIE3-8D-2S
@ -21958,7 +22012,8 @@
0001 82C101
1c28 Lite-On IT Corp. / Plextor
0122 M6e PCI Express SSD [Marvell 88SS9183]
1c2c Fiberblaze
# previously Fiberblaze
1c2c Silicom Denmark
000a Capture
000f SmartNIC
00a0 FBC4G Capture 4x1Gb
@ -21969,9 +22024,15 @@
00a5 FBC2XLG Capture 2x40Gb
00a6 FBC1CG Capture 1x100Gb
00a9 FBC2XGHH Capture 2x10Gb
00ad FBC2CGG3HL Capture 2x200Gb
00ad FBC2CGG3HL Capture 2x100Gb [Padua]
00af Capture slave device
a001 FBC2CGG3 Capture 2x200Gb
00e0 PacketMover 2x100Gb [Savona]
00e1 PacketMover 2x100Gb [Tivoli]
a001 FBC2CGG3 Capture 2x100Gb [Mango]
a00e FB2CG Capture 2x100Gb [Savona]
a00f FB2CG Capture 2x40Gb [Savona]
a011 FB2CG Capture 2x25Gb [Savona]
a012 FB2CG Capture 8x10Gb [Savona]
# Used on V120 VME Crate Controller
1c32 Highland Technology, Inc.
1c33 Daktronics, Inc
@ -22011,6 +22072,8 @@
1cb5 Focusrite Audio Engineering Ltd
0002 Clarett
1cb8 Dawning Information Industry Co., Ltd.
1cc4 Union Memory (Shenzhen)
17ab NVMe 256G SSD device
1cc5 Embedded Intelligence, Inc.
0100 CAN-PCIe-02
1cc7 Radian Memory Systems Inc.
@ -22163,6 +22226,7 @@
0100 RK3399 PCI Express Root Port
1808 RK1808 Neural Network Processor Card
1d8f Enyx
1d93 YADRO (KNS Group)
1d94 Chengdu Haiguang IC Design Co., Ltd.
1450 Root Complex
1451 I/O Memory Management Unit
@ -22196,8 +22260,13 @@
1d95 Graphcore Ltd
0001 Colossus GC2 [C2]
0002 Colossus GC1 [S1]
1d9b Facebook, Inc.
0010 Networking DOM Engine
0011 IO Bridge
1da1 Teko Telecom S.r.l.
1da2 Sapphire Technology Limited
1da3 Habana Labs Ltd.
0001 HL-1000 AI Inference Accelerator [Goya]
1dbb NGD Systems, Inc.
1dbf Guizhou Huaxintong Semiconductor Technology Co., Ltd
0401 StarDragon4800 PCI Express Root Port
@ -22227,6 +22296,7 @@
1df3 0001 ENA2050F
1df3 0002 ENA2050FS
0203 ACE-NIC100 Programmable Network Accelerator
1df3 0000 Maintenance Mode
1df3 0001 ENA2080F
1df3 0002 ENA2080FS
1df3 0003 ENA2100F
@ -22244,6 +22314,7 @@
0215 Acorn CLE-215
021f Acorn CLE-215+
1525 Xilinx BCU-1525
1e26 Fujitsu Client Computing Limited
1e38 Thinci, Inc
1e3d Burlywood, Inc
# nee Tumsan Oy
@ -23644,6 +23715,7 @@
1028 2005 Express Flash NVMe 4.0TB 2.5" U.2 (P4510)
108e 4870 NVMe PCIe 3.0 SSD 6.4TB AIC (P4608)
108e 4871 NVMe PCIe 3.0 SSD 6.4TB 2.5-inch (P4600)
108e 4879 NVMe PCIe 3.0 SSD v2 6.4TB AIC (P4618)
108e 487a NVMe PCIe 3.0 SSD v2 6.4TB 2.5-inch (P4610)
1590 025d NVMe Datacenter SSD [3DNAND] 1.0TB 2.5" U.2 (P4500)
1590 025e NVMe Datacenter SSD [3DNAND] 2.0TB 2.5" U.2 (P4500)
@ -23756,6 +23828,8 @@
0d16 Crystal Well Integrated Graphics Controller
0d26 Crystal Well Integrated Graphics Controller
0d36 Crystal Well Integrated Graphics Controller
0d4e Ethernet Connection (10) I219-LM
0d4f Ethernet Connection (10) I219-V
0d58 Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking
8086 0000 Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking
8086 0001 Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking
@ -24437,6 +24511,7 @@
103c 2159 Ethernet 10Gb 2-port 562i Adapter
108e 7b11 Ethernet Server Adapter X520-2
1170 004c 82599 DP 10G Mezzanine Adapter
15d9 0611 AOC-STGN-I2S [REV 1.01]
1734 11a9 10 Gigabit Dual Port Network Connection
17aa 1071 ThinkServer X520-2 AnyFabric
17aa 4007 82599ES 10-Gigabit SFI/SFP+ Network Connection
@ -24908,6 +24983,7 @@
156d DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
156f Ethernet Connection I219-LM
1028 06dc Latitude E7470
103c 8079 EliteBook 840 G3
1570 Ethernet Connection I219-V
1571 Ethernet Virtual Function 700 Series
1572 Ethernet Controller X710 for 10GbE SFP+
@ -25021,6 +25097,7 @@
8086 0007 Ethernet Network Adapter OCP XXV710-1
8086 0008 Ethernet Network Adapter OCP XXV710-1
8086 0009 Ethernet 25G 2P XXV710 Adapter
8086 000a Ethernet 25G 2P XXV710 OCP
8086 4001 Ethernet Network Adapter XXV710-2
1591 Ethernet Controller E810-C for backplane
1592 Ethernet Controller E810-C for QSFP
@ -25102,6 +25179,11 @@
15f0 JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018]
15f6 I210 Gigabit Ethernet Connection
15ff Ethernet Controller X710 for 10GBASE-T
8086 0000 Ethernet Network Adapter X710-TL
8086 0001 Ethernet Network Adapter X710-T4L
8086 0002 Ethernet Network Adapter X710-T4L
8086 0003 Ethernet Network Adapter X710-T2L
8086 0004 Ethernet Network Adapter X710-T2L
8086 0005 Ethernet 10G 2P X710-T2L-t Adapter
8086 0006 Ethernet 10G 4P X710-T4L-t Adapter
8086 0007 Ethernet 10G 2P X710-T2L-t OCP
@ -25155,6 +25237,7 @@
1904 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
1028 06dc Latitude E7470
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
17aa 382a B51-80 Laptop
1905 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x8)
1906 HD Graphics 510
@ -25173,6 +25256,7 @@
1916 Skylake GT2 [HD Graphics 520]
1028 06dc Latitude E7470
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
1918 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers
1919 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Imaging Unit
191b HD Graphics 530
@ -25733,6 +25817,7 @@
2086 Sky Lake-E PCU Registers
208d Sky Lake-E CHA Registers
208e Sky Lake-E CHA Registers
2241 Larrabee
2250 Xeon Phi coprocessor 5100 series
225c Xeon Phi coprocessor SE10/7120 series
225d Xeon Phi coprocessor 3120 series
@ -26980,6 +27065,7 @@
1028 2000 Express Flash NVMe [Optane] 375GB 2.5" U.2 (P4800X)
1028 2001 Express Flash NVMe [Optane] 750GB 2.5" U.2 (P4800X)
1028 2002 Express Flash NVMe [Optane] 750GB AIC (P4800X)
1028 200a Express Flash NVMe [Optane] 375GB AIC (P4800X)
8086 3904 NVMe Datacenter SSD [Optane] x4 AIC (P4800X)
8086 3905 NVMe Datacenter SSD [Optane] 15mm 2.5" U.2 (P4800X)
2770 82945G/GZ/P/PL Memory Controller Hub
@ -28717,6 +28803,7 @@
372c Xeon C5500/C3500 Reserved
373f Xeon C5500/C3500 IOxAPIC
37c8 C62x Chipset QuickAssist Technology
37cc Ethernet Connection X722
37cd Ethernet Virtual Function 700 Series
37ce Ethernet Connection X722 for 10GbE backplane
1590 0215 Ethernet 10Gb 2-port 568i Adapter
@ -29126,8 +29213,10 @@
3e91 8th Gen Core Processor Gaussian Mixture Model
3e92 UHD Graphics 630 (Desktop)
3e93 UHD Graphics 610
3e98 UHD Graphics 630 (Desktop 9 Series)
3e9b UHD Graphics 630 (Mobile)
3ea0 UHD Graphics 620 (Whiskey Lake)
1028 089e Inspiron 5482
3ea5 Iris Plus Graphics 655
3ec2 8th Gen Core Processor Host Bridge/DRAM Registers
3ec4 8th Gen Core Processor Host Bridge/DRAM Registers
@ -29646,6 +29735,7 @@
71a1 440GX - 82443GX AGP bridge
71a2 440GX - 82443GX Host bridge (AGP disabled)
4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard
7360 XMM7360 LTE Advanced Modem
7600 82372FB PIIX5 ISA
7601 82372FB PIIX5 IDE
7602 82372FB PIIX5 USB
@ -30051,10 +30141,13 @@
9d03 Sunrise Point-LP SATA Controller [AHCI mode]
1028 06dc Latitude E7470
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
17aa 225d ThinkPad T480
17aa 382a B51-80 Laptop
9d10 Sunrise Point-LP PCI Express Root Port #1
9d11 Sunrise Point-LP PCI Express Root Port #2
9d12 Sunrise Point-LP PCI Express Root Port #3
9d13 Sunrise Point-LP PCI Express Root Port #4
9d14 Sunrise Point-LP PCI Express Root Port #5
17aa 382a B51-80 Laptop
9d15 Sunrise Point-LP PCI Express Root Port #6
@ -30064,15 +30157,18 @@
9d18 Sunrise Point-LP PCI Express Root Port #9
17aa 382a B51-80 Laptop
9d19 Sunrise Point-LP PCI Express Root Port #10
9d1a Sunrise Point-LP PCI Express Root Port #11
9d21 Sunrise Point-LP PMC
1028 06dc Latitude E7470
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
17aa 224f ThinkPad X1 Carbon 5th Gen
17aa 225d ThinkPad T480
17aa 382a B51-80 Laptop
9d23 Sunrise Point-LP SMBus
1028 06dc Latitude E7470
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
17aa 2247 ThinkPad T570
17aa 224f ThinkPad X1 Carbon 5th Gen
17aa 225d ThinkPad T480
@ -30085,12 +30181,14 @@
9d2f Sunrise Point-LP USB 3.0 xHCI Controller
1028 06dc Latitude E7470
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
17aa 2247 ThinkPad T570
17aa 225d ThinkPad T480
17aa 382a B51-80 Laptop
9d31 Sunrise Point-LP Thermal subsystem
1028 06dc Latitude E7470
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
17aa 2247 ThinkPad T570
17aa 224f ThinkPad X1 Carbon 5th Gen
17aa 225d ThinkPad T480
@ -30099,16 +30197,19 @@
9d3a Sunrise Point-LP CSME HECI #1
1028 06dc Latitude E7470
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
17aa 2247 ThinkPad T570
17aa 224f ThinkPad X1 Carbon 5th Gen
17aa 225d ThinkPad T480
17aa 382a B51-80 Laptop
9d3d Sunrise Point-LP Active Management Technology - SOL
103c 8079 EliteBook 840 G3
9d43 Sunrise Point-LP LPC Controller
17aa 382a B51-80 Laptop
9d48 Sunrise Point-LP LPC Controller
1028 06dc Latitude E7470
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
9d4e Sunrise Point LPC Controller/eSPI Controller
17aa 225d ThinkPad T480
9d50 Sunrise Point LPC Controller
@ -30118,6 +30219,7 @@
17aa 224f ThinkPad X1 Carbon 5th Gen
9d60 Sunrise Point-LP Serial IO I2C Controller #0
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
17aa 225d ThinkPad T480
8086 9d60 100 Series PCH/Sunrise Point PCH I2C0 [Skylake/Kaby Lake LPSS I2C]
9d61 Sunrise Point-LP Serial IO I2C Controller #1
@ -30129,23 +30231,33 @@
9d70 Sunrise Point-LP HD Audio
1028 06dc Latitude E7470
1028 06f3 Latitude 3570
103c 8079 EliteBook 840 G3
17aa 382a B51-80 Laptop
9d71 Sunrise Point-LP HD Audio
17aa 225d ThinkPad T480
9d84 Cannon Point-LP LPC Controller
1028 089e Inspiron 5482
9da3 Cannon Point-LP SMBus Controller
9da4 Cannon Point-LP SPI Controller
9db0 Cannon Point-LP PCI Express Root Port #9
9db4 Cannon Point-LP PCI Express Root Port #13
1028 089e Inspiron 5482
9db6 Cannon Point-LP PCI Express Root Port #15
9db8 Cannon Point-LP PCI Express Root Port #1
9dbc Cannon Point-LP PCI Express Root Port #5
9dc8 Cannon Point-LP High Definition Audio Controller
1028 089e Inspiron 5482
9dd3 Cannon Point-LP SATA Controller [AHCI Mode]
9de0 Cannon Point-LP MEI Controller #1
9de8 Cannon Point-LP Serial IO I2C Controller #0
1028 089e Inspiron 5482
9de9 Cannon Point-LP Serial IO I2C Controller #1
1028 089e Inspiron 5482
9ded Cannon Point-LP USB 3.1 xHCI Controller
9def Cannon Point-LP Shared SRAM
9df0 Cannon Point-LP CNVi [Wireless-AC]
9df9 Cannon Point-LP Thermal Controller
9dfc Cannon Point-LP Integrated Sensor Hub
a000 Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge
1458 5000 GA-D525TUD
8086 4f4d DeskTop Board D510MO
@ -30466,6 +30578,13 @@
d158 Core Processor Miscellaneous Registers
f1a5 SSD 600P Series
f1a6 SSD Pro 7600p/760p/E 6100p Series
f1a8 SSDPEKNW020T8 [660p, 2TB]
8086 390d SSDPEKNW020T8 [660p, 2TB]
8088 Beijing Wangxun Technology Co., Ltd.
1001 Ethernet Controller RP1000 for 10GbE SFP+
8088 0000 Ethernet Network Adaptor RP1000 for 10GbE SFP+
2001 Ethernet Controller RP2000 for 10GbE SFP+
8088 2000 Ethernet Network Adaptor RP2000 for 10GbE SFP+
80ee InnoTek Systemberatung GmbH
beef VirtualBox Graphics Adapter
cafe VirtualBox Guest Service
@ -30808,11 +30927,34 @@
103c 0701 Smart Array P204i-b SR Gen10
103c 1100 Smart Array P816i-a SR Gen10
103c 1101 Smart Array P416ie-m SR G10
105b 1211 HBA 8238-16i
105b 1321 HBA 8242-24i
13fe 8312 SKY-9200 MIC-8312BridgeB
152d 8a22 QS-8204-8i
152d 8a23 QS-8238-16i
152d 8a24 QS-8236-16i
152d 8a36 QS-8240-24i
152d 8a37 QS-8242-24i
193d 8460 HBA H460-M1
193d 8461 HBA H460-B1
193d c460 RAID P460-M2
193d c461 RAID P460-B2
193d f460 RAID P460-M4
193d f461 RAID P460-B4
19e5 d227 SmartROC-HD SR465C-M 4G
19e5 d228 SmartROC SR455C-M 2G
19e5 d229 SmartIOC SR155-M
19e5 d22a SmartIOC-HD SR765-M
19e5 d22b SmartROC-e SR455C-ME 4G
19e5 d22c SmartROC SR455C-M 4G
1bd4 0045 SMART-HBA 8242-24i
1bd4 0046 RAID 8236-16i
1bd4 0047 RAID 8240-24i
1bd4 0048 SMART-HBA 8238-16i
1bd4 004a PM8222-SHBA
1bd4 004b RAID PM8204-2GB
1bd4 004c RAID PM8204-4GB
1bd4 004f PM8222-HBA
9005 0608 SmartRAID 3162-8i /e
9005 0800 SmartRAID 3154-8i
9005 0801 SmartRAID 3152-8i
@ -31039,6 +31181,7 @@ bdbd Blackmagic Design
a144 DeckLink Mini Monitor 4K
a148 DeckLink SDI Micro
a14b DeckLink 8K Pro
a14e DeckLink Quad HDMI Recorder
a1ff eGPU RX580
c001 TSI Telsys
c0a9 Micron/Crucial Technology
@ -31277,6 +31420,7 @@ f1d0 AJA Video
db09 Corvid 24
dcaf Kona HD
dfee Xena HD-DA
eb0d Corvid 88
eb0e Corvid 44
eb1d Kona 5
efac Xena SD-MM/SD-22-MM

View File

@ -9,8 +9,8 @@
# The latest version can be obtained from
# http://www.linux-usb.org/usb.ids
#
# Version: 2019.01.17
# Date: 2019-01-17 20:34:05
# Version: 2019.03.20
# Date: 2019-03-20 20:34:05
#
# Vendors, devices and interfaces. Please keep sorted.
@ -169,6 +169,7 @@
7617 AT76C505AS Wireless Adapter
7800 Mini Album
800c Airspy HF+
ff02 WootingTwo
ff07 Tux Droid fish dongle
03ec Iwatsu America, Inc.
03ed Mitel Corp.
@ -190,6 +191,7 @@
0012 DeskJet 1125C Printer Port
0024 KU-0316 Keyboard
002a LaserJet P1102
0053 DeskJet 2620 All-in-One Printer
0101 ScanJet 4100c
0102 PhotoSmart S20
0104 DeskJet 880c/970c
@ -244,6 +246,7 @@
0512 DeckJet 450
0517 LaserJet 1000
051d Bluetooth Interface
052a LaserJet M1212nf MFP
0601 ScanJet 6300c
0604 DeskJet 840c
0605 ScanJet 2200c
@ -1289,6 +1292,7 @@
0419 Samsung Info. Systems America, Inc.
0001 IrDA Remote Controller / Creative Cordless Mouse
0600 Desktop Wireless 6000
2694 Laila
3001 Xerox P1202 Laser Printer
3003 Olivetti PG L12L
3201 Docuprint P8ex
@ -1610,7 +1614,6 @@
2228 9-in-2 Card Reader
223a 8-in-1 Card Reader
2503 USB 2.0 Hub
2504 USB 2.0 Hub
2507 hub
2512 USB 2.0 Hub
2513 2.0 Hub
@ -1622,6 +1625,7 @@
2660 Hub
2744 Hub
274d HTC Hub Controller
2807 Hub
3fcc RME MADIface
4041 Hub and media card controller
4060 Ultra Fast Media Reader
@ -1629,6 +1633,7 @@
5434 Hub
5534 Hub
5744 Hub
5807 Hub
7500 LAN7500 Ethernet 10/100/1000 Adapter
9500 LAN9500/LAN9500i
9512 SMC9512/9514 USB Hub
@ -2404,6 +2409,7 @@
0799 Surface Pro embedded keyboard
07a5 Wireless Receiver 1461C
07b2 2.4GHz Transceiver v8.0 used by mouse Wireless Desktop 900
07b6 Comfort Curve Keyboard 3000
07b9 Wired Keyboard 200
07c6 RTL8153 GigE [Surface Dock Ethernet]
07ca Surface Pro 3 Docking Station Audio Device
@ -3200,6 +3206,7 @@
0100 Stor.E Slim USB 3.0
0200 External Disk
0820 Canvio Advance Disk
0821 Canvio Advance 2TB model DTC920
a006 External Disk 1.5TB
a007 External Disk USB 3.0
a009 Stor.E Basics
@ -3262,6 +3269,7 @@
5730 Audio Speaker
5731 Microphone
5740 Virtual COM Port
5750 LED badge -- mini LED display -- 11x44
7270 ST Micro Serial Bridge
7554 56k SoftModem
8213 ThermaData Logger Cradle
@ -3306,6 +3314,7 @@
9503 ITE it9503 feature-limited DVB-T transmission chip [ccHDtv]
9507 ITE it9507 full featured DVB-T transmission chip [ccHDtv]
9910 IT9910 chipset based grabber
ff59 Hdmi-CEC Bridge
048f Eicon Tech.
0490 United Microelectronics Corp.
0491 Capetronic
@ -3373,6 +3382,7 @@
1054 S90XS Keyboard/Music Synthesizer
160f P-105
1613 Clavinova CLP535
1617 PSR-E353 digital keyboard
1704 Steinberg UR44
2000 DGP-7
2001 DGP-5
@ -4293,6 +4303,7 @@
0428 D7000
0429 D5100
042a D800 (ptp)
0430 D7100
043f D5600
0f03 PD-10 Wireless Printer Adapter
4000 Coolscan LS 40 ED
@ -4869,6 +4880,8 @@
9015 ICD 4 In-Circuit Debugger
c001 PicoLCD 20x4
e11c TL866CS EEPROM Programmer [MiniPRO]
edb4 micro PLC (ATSAMD51G19A) [Black Brix ECU II]
edb5 ATMEGA32U4 [Black Brix ECU]
f2c4 Macareux-labs Hygrometry Temperature Sensor
f2f7 Yepkit YKUSH
f3aa Macareux-labs Usbce Bootloader mode
@ -5176,6 +5189,7 @@
3426 SCX-4500 Laser Printer
342d SCX-4x28 Series
344f SCX-3400 Series
347e C48x Series Color Laser Multifunction Printer
3605 InkJet Color Printer
3606 InkJet Color Printer
3609 InkJet Color Printer
@ -5255,6 +5269,7 @@
6125 D3 Station External Hard Drive
61b5 M3 Portable Hard Drive 2TB
61b6 M3 Portable Hard Drive 1TB
61b7 M3 Portable Hard Drive 4TB
61f3 Portable SSD T3 (MU-PT250B, MU-PT500B)
61f5 Portable SSD T5
6601 Mobile Phone
@ -5317,6 +5332,7 @@
7061 eHome Infrared Receiver
7080 Anycall SCH-W580
7081 Human Interface Device
7301 Fingerprint Device
8001 Handheld
d003 GT-I9003
e020 SERI E02 SCOM 6200 UMTS Phone
@ -5459,6 +5475,7 @@
02f4 2.4G Cordless Mouse
0381 Touchscreen
04a0 Dream Cheeky Stress/Panic Button
2234 Touchscreen
04f4 Harting Elektronik, Inc.
04f5 Fujitsu-ICL Systems, Inc.
04f6 Norand Corp.
@ -5971,6 +5988,9 @@
2041 PT-2730 P-touch Label Printer
2061 PT-P700 P-touch Label Printer
2064 PT-P700 P-touch Label Printer RemovableDisk
209b QL-800 P-touch Label Printer
209c QL-810W P-touch Label Printer
209d QL-820NWB P-touch Label Printer
2100 Card Reader Writer
2102 Sewing machine
60a0 ADS-2000
@ -6387,6 +6407,7 @@
003c VAIO-MX LCD Control
0045 Digital Imaging Video
0046 Network Walkman
0049 UP-D895
004a Memory Stick Hi-Fi System
004b Memory Stick Reader/Writer
004e DSC-xxx (ptp)
@ -6471,6 +6492,7 @@
01d0 DVD+RW External Drive DRU-700A
01d5 IC RECORDER
01de VRD-VC10 [Video Capture]
01e7 UP-D897
01e8 UP-DR150 Photo Printer
01e9 Net MD
01ea Hi-MD WALKMAN
@ -6760,6 +6782,8 @@
0037 PL700
0038 PL510
0039 DTU-710
003a DTI-520
003b Integrated Hub
003f DTZ-2100 [Cintiq 21UX]
0041 XD-0405-U [Intuos2 (4x5)]
0042 XD-0608-U [Intuos2 (6x8)]
@ -6782,7 +6806,7 @@
006a CTE-460 [Bamboo One Pen (S)]
006b CTE-660 [Bamboo One Pen (M)]
0081 CTE-630BT [Graphire Wireless (6x8)]
0084 Wireless adapter for Bamboo tablets
0084 ACK-40401 [Wireless Accessory Kit]
0090 TPC90
0093 TPC93
0097 TPC97
@ -6828,6 +6852,7 @@
00ec TPCEC
00ed TPCED
00ef TPCEF
00f0 DTU-1631
00f4 DTK-2400 [Cintiq 24HD] tablet
00f6 DTH-2400 [Cintiq 24HD touch] touchscreen
00f8 DTH-2400 [Cintiq 24HD touch] tablet
@ -6853,7 +6878,21 @@
0315 PTH-651 [Intuos pro (M)]
0317 PTH-851 [Intuos pro (L)]
0318 CTH-301 [Bamboo]
0319 CTH-300 [Bamboo Pad wireless]
0323 CTL-680 [Intuos Pen (M)]
032a DTK-2700 [Cintiq 27QHD]
032b DTH-2700 [Cintiq 27QHD touch] tablet
032c DTH-2700 [Cintiq 27QHD touch] touchscreen
032f DTU-1031X
0331 ACK-411050 [ExpressKey Remote]
0333 DTH-1300 [Cintiq 13HD Touch] tablet
0335 DTH-1300 [Cintiq 13HD Touch] touchscreen
0336 DTU-1141
033b CTL-490 [Intuos Draw (S)]
033c CTH-490 [Intuos Art/Photo/Comic (S)]
033d CTL-690 [Intuos Draw (M)]
033e CTH-690 [Intuos Art (M)]
0343 DTK-1651
0347 Integrated Hub
0348 Integrated Hub
034a DTH-W1320 [MobileStudio Pro 13] touchscreen
@ -6870,6 +6909,7 @@
0356 DTH-3220 [Cintiq Pro 32] touchscreen
0357 PTH-660 [Intuos Pro (M)]
0358 PTH-860 [Intuos Pro (L)]
0359 DTU-1141B
035a DTH-1152 tablet
0368 DTH-1152 touchscreen
0374 CTL-4100 [Intuos (S)]
@ -6920,6 +6960,9 @@
0074 Optical mouse M-FW1UL
0075 Laser mouse M-FW2DL
0077 Laser mouse M-LY2UL
0079 Laser mouse M-D21DL
007b Laser mouse M-D20DR
007c Laser Bluetooth mouse M-BT5BL
2003 JC-U3613M
2004 JC-U3613M
200c LD-USB/TX
@ -9351,6 +9394,7 @@
3020 Hercules Webcam EC300
a300 Dual Analog Leader GamePad
b000 Hercules DJ Console
b121 Hercules P32 DJ
c000 Hercules Muse Pocket
d002 Hercules DJ Console
e000 HWGUSB2-54 WLAN
@ -12064,6 +12108,9 @@
0070 NRP-Z57
0083 NRP-Z85
0095 NRP-Z86
0117 HMF / HMP / HMS-X / HMO series Oscilloscopes
0118 HMF / HMP / HMS-X / HMO series Oscilloscopes
0119 HMF / HMP / HMS-X / HMO series Oscilloscopes
0aae NEC infrontia Corp. (Nitsuko)
0aaf Digitalway Co., Ltd
0ab0 Arrow Strong Electronics Co., Ltd
@ -19051,6 +19098,9 @@
22b9 eTurboTouch Technology, Inc.
0006 Touch Screen
22ba Technology Innovation Holdings, Ltd
22e0 secunet Security Networks AG
0002 SINA Flash Drive
0003 SINA ID Token A
2304 Pinnacle Systems, Inc.
0109 Studio PCTV USB (SECAM)
0110 Studio PCTV USB (PAL)
@ -19187,6 +19237,21 @@
1213 MediaTV Pro III MiniPCIe (US)
2676 Basler AG
ba02 ace
2717 Xiaomi Inc.
0011 100Mbps Network Card Adapter
0360 Mi3W
0368 Mi4 LTE
3801 Mi ANC & Type-C In-Ear Earphones
4106 MediaTek MT7601U [MI WiFi]
ff08 Redmi Note 3 (ADB Interface)
ff10 Mi/Redmi series (PTP)
ff18 Mi/Redmi series (PTP + ADB)
ff40 Mi/Redmi series (MTP)
ff48 Mi/Redmi series (MTP + ADB)
ff60 redmi prime 2
ff68 Mi-4c
ff80 Mi/Redmi series (RNDIS)
ff88 Mi/Redmi series (RNDIS + ADB)
2730 Citizen
200f CT-S310 Label printer
2735 DigitalWay

View File

@ -1,9 +1,8 @@
<?xml version="1.0"?>
<!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="binfmt.d" conditional='ENABLE_BINFMT'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="bootctl" conditional='ENABLE_EFI'
xmlns:xi="http://www.w3.org/2001/XInclude">
@ -46,18 +43,34 @@
<variablelist>
<varlistentry>
<term><option>--path=</option></term>
<listitem><para>Path to the EFI System Partition (ESP). If not specified, <filename>/efi</filename>,
<filename>/boot</filename>, and <filename>/boot/efi</filename> are checked in turn. It is recommended to mount
the ESP to <filename>/boot</filename>, if possible.</para></listitem>
<term><option>--esp-path=</option></term>
<listitem><para>Path to the EFI System Partition (ESP). If not specified, <filename>/efi/</filename>,
<filename>/boot/</filename>, and <filename>/boot/efi</filename> are checked in turn. It is recommended to mount
the ESP to <filename>/efi/</filename>, if possible.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--boot-path=</option></term>
<listitem><para>Path to the Extended Boot Loader partition, as defined in the <ulink
url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader Specification</ulink>. If not
specified, <filename>/boot/</filename> are checked. It is recommended to mount the Extended Boot
Loader partition to <filename>/boot/</filename>, if possible.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-p</option></term>
<term><option>--print-path</option></term>
<listitem><para>This option modifies the behaviour of <command>status</command>.
Just print the path to the EFI System Partition (ESP) to standard output and
exit.</para></listitem>
<term><option>--print-esp-path</option></term>
<listitem><para>This option modifies the behaviour of <command>status</command>. Prints only the
path to the EFI System Partition (ESP) to standard output and exits.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--print-boot-path</option></term>
<listitem><para>This option modifies the behaviour of <command>status</command>. Prints only the
path to the Extended Boot Loader partition if it exists, and the path to the ESP otherwise to
standard output and exit. This command is useful to determine where to place boot loader entries, as
they are preferably placed in the Extended Boot Loader partition if it exists and in the ESP
otherwise.</para></listitem>
</varlistentry>
<varlistentry>
@ -87,10 +100,10 @@
<varlistentry>
<term><option>install</option></term>
<listitem><para>Installs systemd-boot into the EFI system partition. A copy of <command>systemd-boot</command>
will be stored as the EFI default/fallback loader at
<filename><replaceable>ESP</replaceable>/EFI/BOOT/BOOT*.EFI</filename>. The boot loader is then added to the
top of the firmware's boot loader list.</para></listitem>
<listitem><para>Installs <command>systemd-boot</command> into the EFI system partition. A copy of
<command>systemd-boot</command> will be stored as the EFI default/fallback loader at
<filename><replaceable>ESP</replaceable>/EFI/BOOT/BOOT*.EFI</filename>. The boot loader is then added
to the top of the firmware's boot loader list.</para></listitem>
</varlistentry>
<varlistentry>
@ -138,9 +151,12 @@
<refsect1>
<title>Environment</title>
<para>If <varname>$SYSTEMD_RELAX_ESP_CHECKS=1</varname> is set the validation checks for the ESP are relaxed, and
the path specified with <option>--path=</option> may refer to any kind of file system on any kind of
partition.</para>
<para>If <varname>$SYSTEMD_RELAX_ESP_CHECKS=1</varname> is set the validation checks for the ESP are
relaxed, and the path specified with <option>--esp-path=</option> may refer to any kind of file system on
any kind of partition.</para>
<para>Similarly, <varname>$SYSTEMD_RELAX_XBOOTLDR_CHECKS=1</varname> turns off some validation checks for
the Extended Boot Loader partition.</para>
</refsect1>
<refsect1>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="bootup">
@ -26,22 +23,29 @@
<refsect1>
<title>Description</title>
<para>A number of different components are involved in the system
boot. Immediately after power-up, the system BIOS will do minimal
hardware initialization, and hand control over to a boot loader
stored on a persistent storage device. This boot loader will then
invoke an OS kernel from disk (or the network). In the Linux case,
this kernel (optionally) extracts and executes an initial RAM disk
image (initrd), such as generated by
<para>A number of different components are involved in the boot of a Linux system. Immediately after
power-up, the system firmware will do minimal hardware initialization, and hand control over to a boot
loader (e.g.
<citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry> or
<ulink url="https://www.gnu.org/software/grub/">GRUB</ulink>) stored on a persistent storage device. This
boot loader will then invoke an OS kernel from disk (or the network). On systems using EFI or other types
of firmware, this firmware may also load the kernel directly.</para>
<para>The kernel (optionally) mounts an in-memory file system, often generated by
<citerefentry project='die-net'><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
which looks for the root file system (possibly using
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
for this). After the root file system is found and mounted, the
initrd hands over control to the host's system manager (such as
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
stored on the OS image, which is then responsible for probing all
remaining hardware, mounting all necessary file systems and
spawning all configured services.</para>
which looks for the root file system. Nowadays this is usually implemented as an initramfs — a compressed
archive which is extracted when the kernel boots up into a lightweight in-memory file system based on
tmpfs, but in the past normal file systems using an in-memory block device (ramdisk) were used, and the
name "initrd" is still used to describe both concepts. It's the boot loader or the firmware that loads
both the kernel and initrd/initramfs images into memory, but the kernel which interprets it as a file
system. <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> may
be used to manage services in the initrd, similarly to the real system.</para>
<para>After the root file system is found and mounted, the initrd hands over control to the host's system
manager (such as
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>) stored in
the root file system, which is then responsible for probing all remaining hardware, mounting all
necessary file systems and spawning all configured services.</para>
<para>On shutdown, the system manager stops all services, unmounts
all file systems (detaching the storage technologies backing

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="busctl"
xmlns:xi="http://www.w3.org/2001/XInclude">
@ -187,7 +184,7 @@
<term><option>--auto-start=</option><replaceable>BOOL</replaceable></term>
<listitem>
<para>When used with the <command>call</command> command, specifies
<para>When used with the <command>call</command> or <command>emit</command> command, specifies
whether the method call should implicitly activate the
called service, should it not be running yet but is
configured to be auto-started. Defaults to
@ -247,6 +244,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term><option>--destination=</option><replaceable>SERVICE</replaceable></term>
<listitem>
<para>Takes a service name. When used with the <command>emit</command> command, a signal is
emitted to the specified service.</para>
</listitem>
</varlistentry>
<xi:include href="user-system-options.xml" xpointer="user" />
<xi:include href="user-system-options.xml" xpointer="system" />
<xi:include href="user-system-options.xml" xpointer="host" />
@ -341,6 +347,15 @@
<option>--quiet</option> option.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>emit</command> <arg choice="plain"><replaceable>OBJECT</replaceable></arg> <arg choice="plain"><replaceable>INTERFACE</replaceable></arg> <arg choice="plain"><replaceable>SIGNAL</replaceable></arg> <arg choice="opt"><replaceable>SIGNATURE</replaceable> <arg choice="opt" rep="repeat"><replaceable>ARGUMENT</replaceable></arg></arg></term>
<listitem><para>Emit a signal. Takes a object path, interface name and method name. If parameters
shall be passed, a signature string is required, followed by the arguments, individually formatted as
strings. For details on the formatting used, see below. To specify the destination of the signal,
use the <option>--destination=</option> option.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>get-property</command> <arg choice="plain"><replaceable>SERVICE</replaceable></arg> <arg choice="plain"><replaceable>OBJECT</replaceable></arg> <arg choice="plain"><replaceable>INTERFACE</replaceable></arg> <arg choice="plain" rep="repeat"><replaceable>PROPERTY</replaceable></arg></term>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="coredump.conf" conditional="ENABLE_COREDUMP"
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="coredumpctl" conditional='ENABLE_COREDUMP'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,6 +1,7 @@
<?xml version="1.0"?>
<!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
@ -224,6 +225,26 @@
mode.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>same-cpu-crypt</option></term>
<listitem><para>Perform encryption using the same cpu that IO was submitted on. The default is to use
an unbound workqueue so that encryption work is automatically balanced between available CPUs.</para>
<para>This requires kernel 4.0 or newer.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>submit-from-crypt-cpus</option></term>
<listitem><para>Disable offloading writes to a separate thread after encryption. There are some
situations where offloading write bios from the encryption threads to a single thread degrades
performance significantly. The default is to offload write bios to the same thread because it benefits
CFQ to have writes submitted using the same context.</para>
<para>This requires kernel 4.0 or newer.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>skip=</option></term>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="daemon">
@ -77,9 +74,10 @@
<function>setsid()</function> to detach from any terminal and
create an independent session.</para></listitem>
<listitem><para>In the child, call <function>fork()</function>
again, to ensure that the daemon can never re-acquire a
terminal again.</para></listitem>
<listitem><para>In the child, call <function>fork()</function> again, to ensure that the daemon can
never re-acquire a terminal again. (This relevant if the program — and all its dependencies — does
not carefully specify `O_NOCTTY` on each and every single `open()` call that might potentially open a
TTY device node.)</para></listitem>
<listitem><para>Call <function>exit()</function> in the first
child, so that only the second child (the actual daemon
@ -244,6 +242,10 @@
and
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
<listitem><para>As new-style daemons are invoked without a controlling TTY (but as their own session
leaders) care should be taken to always specify `O_NOCTTY` on `open()` calls that possibly reference
a TTY device node, so that no controlling TTY is accidentally acquired.</para></listitem>
</orderedlist>
<para>These recommendations are similar but not identical to the

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="dnssec-trust-anchors.d" conditional='ENABLE_RESOLVE'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,6 +1,7 @@
<?xml version="1.0"?>
<!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="file-hierarchy">
@ -128,24 +125,22 @@
<varlistentry>
<term><filename>/tmp/</filename></term>
<listitem><para>The place for small temporary files. This
directory is usually mounted as a <literal>tmpfs</literal>
instance, and should hence not be used for larger files. (Use
<filename>/var/tmp/</filename> for larger files.) Since the
directory is accessible to other users of the system, it is
essential that this directory is only written to with the
<citerefentry project='man-pages'><refentrytitle>mkstemp</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>mkdtemp</refentrytitle><manvolnum>3</manvolnum></citerefentry>
and related calls. This directory is usually flushed at
boot-up. Also, files that are not accessed within a certain
time are usually automatically deleted. If applications find
the environment variable <varname>$TMPDIR</varname> set, they
should prefer using the directory specified in it over
directly referencing <filename>/tmp/</filename> (see
<citerefentry project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>
and
<listitem><para>The place for small temporary files. This directory is usually mounted as a
<literal>tmpfs</literal> instance, and should hence not be used for larger files. (Use
<filename>/var/tmp/</filename> for larger files.) Since the directory is accessible to other users of
the system, it is essential that this directory is only written to with the <citerefentry
project='man-pages'><refentrytitle>mkstemp</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry
project='man-pages'><refentrytitle>mkdtemp</refentrytitle><manvolnum>3</manvolnum></citerefentry> and
related calls. This directory is usually flushed at boot-up. Also, files that are not accessed within
a certain time are usually automatically deleted. If applications find the environment variable
<varname>$TMPDIR</varname> set, they should prefer using the directory specified in it over directly
referencing <filename>/tmp/</filename> (see <citerefentry
project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry> and
<ulink url="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03">IEEE
Std 1003.1</ulink> for details).</para></listitem>
Std 1003.1</ulink> for details). For further details about this directory, see <ulink
url="https://systemd.io/TEMPORARY_DIRECTORIES">Using /tmp/ And /var/tmp/
Safely</ulink>.</para></listitem>
</varlistentry>
</variablelist>
@ -337,24 +332,22 @@
<varlistentry>
<term><filename>/var/tmp/</filename></term>
<listitem><para>The place for larger and persistent temporary
files. In contrast to <filename>/tmp/</filename>, this directory
is usually mounted from a persistent physical file system and
can thus accept larger files. (Use <filename>/tmp/</filename>
for smaller files.) This directory is generally not flushed at
boot-up, but time-based cleanup of files that have not been
accessed for a certain time is applied. The same security
restrictions as with <filename>/tmp/</filename> apply, and
hence only
<citerefentry project='man-pages'><refentrytitle>mkstemp</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>mkdtemp</refentrytitle><manvolnum>3</manvolnum></citerefentry>
or similar calls should be used to make use of this directory.
If applications find the environment variable
<varname>$TMPDIR</varname> set, they should prefer using the
directory specified in it over directly referencing
<filename>/var/tmp/</filename> (see
<citerefentry project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for details). </para></listitem>
<listitem><para>The place for larger and persistent temporary files. In contrast to
<filename>/tmp/</filename>, this directory is usually mounted from a persistent physical file system
and can thus accept larger files. (Use <filename>/tmp/</filename> for smaller files.) This directory
is generally not flushed at boot-up, but time-based cleanup of files that have not been accessed for
a certain time is applied. The same security restrictions as with <filename>/tmp/</filename> apply,
and hence only <citerefentry
project='man-pages'><refentrytitle>mkstemp</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry
project='man-pages'><refentrytitle>mkdtemp</refentrytitle><manvolnum>3</manvolnum></citerefentry> or
similar calls should be used to make use of this directory. If applications find the environment
variable <varname>$TMPDIR</varname> set, they should prefer using the directory specified in it over
directly referencing <filename>/var/tmp/</filename> (see <citerefentry
project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry> for
details). For further details about this directory, see <ulink
url="https://systemd.io/TEMPORARY_DIRECTORIES">Using /tmp/ And /var/tmp/
Safely</ulink>.</para></listitem>
</varlistentry>
</variablelist>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="halt"
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="hostname">
<refentryinfo>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="hostnamectl" conditional='ENABLE_HOSTNAMED'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="hwdb" conditional="ENABLE_HWDB">
<refentryinfo>

View File

@ -1,5 +1,5 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="journal-upload.conf" conditional='HAVE_MICROHTTPD'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="journalctl"
xmlns:xi="http://www.w3.org/2001/XInclude">
@ -464,8 +461,8 @@
</varlistentry>
<varlistentry>
<term><option>-b <optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional></option></term>
<term><option>--boot=<optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional></option></term>
<term><option>-b <optional><optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional>|<constant>all</constant></optional></option></term>
<term><option>--boot<optional>=<optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional>|<constant>all</constant></optional></option></term>
<listitem><para>Show messages from a specific boot. This will
add a match for <literal>_BOOT_ID=</literal>.</para>
@ -497,6 +494,10 @@
<replaceable>offset</replaceable> is not specified, a value of
zero is assumed, and the logs for the boot given by
<replaceable>ID</replaceable> are shown.</para>
<para>The special argument <constant>all</constant> can be
used to negate the effect of an earlier use of
<option>-b</option>.</para>
</listitem>
</varlistentry>
@ -618,6 +619,17 @@
journal specified by the passed cursor.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--cursor-file=<replaceable>FILE</replaceable></option></term>
<listitem><para>If <replaceable>FILE</replaceable> exists and contains a
cursor, start showing entries <emphasis>after</emphasis> this location.
Otherwise the show entries according the other given options. At the end,
write the cursor of the last entry to <replaceable>FILE</replaceable>. Use
this option to continually read the journal by sequentially calling
<command>journalctl</command>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--after-cursor=</option></term>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="journald.conf"
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="kernel-command-line">
@ -137,10 +134,13 @@
enables fully state-less boots were the vendor-supplied OS is used as shipped, with only default
configuration and no stored state in effect, as <filename>/etc</filename> and <filename>/var</filename> (as
well as all other resources shipped in the root file system) are reset at boot and lost on shutdown. If this
setting is set to <literal>state</literal> the root file system is mounted as usual, however
setting is set to <literal>state</literal> the root file system is mounted read-only, however
<filename>/var</filename> is mounted as a volatile memory file system (<literal>tmpfs</literal>), so that the
system boots up with the normal configuration applied, but all state reset at boot and lost at shutdown. For details,
see
system boots up with the normal configuration applied, but all state reset at boot and lost at shutdown. If
this setting is set to <literal>overlay</literal> the root file system is set up as
<literal>overlayfs</literal> mount combining the read-only root directory with a writable
<literal>tmpfs</literal>, so that no modifications are made to disk, but the file system may be modified
nonetheless with all changes being lost at reboot. For details, see
<citerefentry><refentrytitle>systemd-volatile-root.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
and
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
@ -329,7 +329,7 @@
<listitem>
<para>Configures the root file system and its file system
type and mount options, as well as whether it shall be
mounted read-only or read-writable initially. For details,
mounted read-only or read-write initially. For details,
see
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>

View File

@ -1,12 +1,10 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<refentry id="kernel-install">
<refentry id="kernel-install"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>kernel-install</title>
@ -27,6 +25,7 @@
<cmdsynopsis>
<command>kernel-install</command>
<arg choice="plain">COMMAND</arg>
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="plain"><replaceable>KERNEL-VERSION</replaceable></arg>
<arg choice="plain"><replaceable>KERNEL-IMAGE</replaceable></arg>
<arg choice="opt" rep="repeat"><replaceable>INITRD-FILE</replaceable></arg>
@ -35,9 +34,9 @@
<refsect1>
<title>Description</title>
<para>
<command>kernel-install</command> is used to install and remove kernel and
initramfs images to and from <filename>/boot</filename>.
<para><command>kernel-install</command> is used to install and remove kernel and initramfs images to and
from the boot loader partition, referred to as <varname>$BOOT</varname> here. It will usually be one of
<filename>/boot</filename>, <filename>/efi</filename>, or <filename>/boot/efi</filename>, see below.
</para>
<para><command>kernel-install</command> will execute the files
@ -65,17 +64,20 @@
<term><command>add <replaceable>KERNEL-VERSION</replaceable> <replaceable>KERNEL-IMAGE</replaceable> [<replaceable>INITRD-FILE</replaceable> ...]</command></term>
<listitem>
<para>This command expects a kernel version string and a path to a kernel image file as
arguments. <command>kernel-install</command> creates the directory
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
and calls the executables from <filename>/usr/lib/kernel/install.d/*.install</filename> and
arguments. <command>kernel-install</command> calls the executables from
<filename>/usr/lib/kernel/install.d/*.install</filename> and
<filename>/etc/kernel/install.d/*.install</filename> with the following arguments:
<programlisting>add <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> <replaceable>KERNEL-IMAGE</replaceable> [<replaceable>INITRD-FILE</replaceable> ...]</programlisting>
<programlisting>add <replaceable>KERNEL-VERSION</replaceable> <filename>$BOOT/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> <replaceable>KERNEL-IMAGE</replaceable> [<replaceable>INITRD-FILE</replaceable> ...]</programlisting>
</para>
<para>Two default plugins execute the following operations in this case:</para>
<para>Three default plugins execute the following operations in this case:</para>
<itemizedlist>
<listitem><para><filename>00-entry-directory.install</filename> creates the directory
<filename>$BOOT/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
if <filename>$BOOT/<replaceable>MACHINE-ID</replaceable>/</filename> already exists.
</para></listitem>
<listitem><para><filename>50-depmod.install</filename> runs
<citerefentry><refentrytitle>depmod</refentrytitle><manvolnum>8</manvolnum></citerefentry> for the
@ -83,16 +85,20 @@
<listitem><para><filename>90-loaderentry.install</filename> copies <replaceable>KERNEL-IMAGE</replaceable>
to
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/linux</filename>.
<filename>$BOOT/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/linux</filename>.
If an <replaceable>INITRD-FILE</replaceable> is provided, it also copies <replaceable>INITRD-FILE</replaceable>
to
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL_VERSION</replaceable>/<replaceable>INITRD-FILE</replaceable></filename>.
<filename>$BOOT/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL_VERSION</replaceable>/<replaceable>INITRD-FILE</replaceable></filename>.
It also creates a boot loader entry according to the <ulink
url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader Specification</ulink> in
<filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.
<filename>$BOOT/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.
The title of the entry is the <replaceable>PRETTY_NAME</replaceable> parameter specified in
<filename>/etc/os-release</filename> or <filename>/usr/lib/os-release</filename> (if the former is
missing), or "Linux <replaceable>KERNEL-VERSION</replaceable>", if unset.</para></listitem>
missing), or "Linux <replaceable>KERNEL-VERSION</replaceable>", if unset.</para>
<para>If the entry directory
<filename>$BOOT/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
does not exist, this plugin does nothing.</para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
@ -103,11 +109,11 @@
<filename>/usr/lib/kernel/install.d/*.install</filename> and
<filename>/etc/kernel/install.d/*.install</filename> with the following arguments:
<programlisting>remove <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting>
<programlisting>remove <replaceable>KERNEL-VERSION</replaceable> <filename>$BOOT/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting>
</para>
<para>Afterwards, <command>kernel-install</command> removes the directory
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
<filename>$BOOT/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
and its contents.</para>
<para>Two default plugins execute the following operations in this case:</para>
@ -117,14 +123,46 @@
<listitem><para><filename>50-depmod.install</filename> removes the files generated by <command>depmod</command> for this kernel again.</para></listitem>
<listitem><para><filename>90-loaderentry.install</filename> removes the file
<filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.</para></listitem>
<filename>$BOOT/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.</para></listitem>
</itemizedlist>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>The <varname>$BOOT</varname> partition</title>
<para>The partition where the kernels and <ulink url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot
Loader Specification</ulink> snippets are located is called <varname>$BOOT</varname>.
<command>kernel-install</command> determines the location of this partition by checking
<filename>/efi/</filename>, <filename>/boot/</filename>, and <filename>/boot/efi</filename>
in turn. The first location where <filename>$BOOT/loader/entries/</filename> or
<filename>$BOOT/$MACHINE_ID/</filename> exists is used.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><option>-v</option></term>
<term><option>--verbose</option></term>
<listitem>
<para>Output additional information about operations being performed.</para>
</listitem>
</varlistentry>
<xi:include href="standard-options.xml" xpointer="help" />
</variablelist>
</refsect1>
<refsect1>
<title>Environment variables</title>
<para>If <option>--verbose</option> is used, <varname>$KERNEL_INSTALL_VERBOSE=1</varname> will be set for
the plugins. They may output additional logs in this case.</para>
</refsect1>
<refsect1>
@ -162,7 +200,7 @@
<listitem>
<para>Read by <filename>90-loaderentry.install</filename>. If this file exists a numeric value is read from
it and the naming of the generated entry file is slightly altered to include it as
<filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>+<replaceable>TRIES</replaceable>.conf</filename>. This
<filename>$BOOT/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>+<replaceable>TRIES</replaceable>.conf</filename>. This
is useful for boot loaders such as
<citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry> which
implement boot attempt counting with a counter embedded in the entry file name.</para>

View File

@ -1,10 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refsect1>
<title>Environment</title>

View File

@ -1,10 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refsect1>
<title>Notes</title>

View File

@ -1,13 +1,10 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY % entities SYSTEM "custom-entities.ent" >
%entities;
]>
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="libudev"
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,7 +1,6 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="loader.conf" conditional='ENABLE_EFI'

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="locale.conf">
<refentryinfo>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="localectl" conditional='ENABLE_LOCALED'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="localtime">
<refentryinfo>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="loginctl" conditional='ENABLE_LOGIND'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,13 +1,10 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY % entities SYSTEM "custom-entities.ent" >
%entities;
]>
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="logind.conf" conditional='ENABLE_LOGIND'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="machine-id">
<refentryinfo>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="machine-info">
<refentryinfo>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="machinectl" conditional='ENABLE_MACHINED'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -198,12 +198,9 @@ if git.found()
custom_target(
'update-man-rules',
output : 'update-man-rules',
# slightly strange syntax because of
# https://github.com/mesonbuild/meson/issues/1643
# and https://github.com/mesonbuild/meson/issues/1512
command : ['sh', '-c',
'cd @0@ && '.format(meson.build_root()) +
'python3 @0@/tools/make-man-rules.py `git ls-files ":/man/*.xml"` >t && '.format(meson.source_root()) +
'python3 @0@/tools/make-man-rules.py $(git ls-files ":/man/*.xml") >t && '.format(project_source_root) +
'mv t @0@/rules/meson.build'.format(meson.current_source_dir())],
depend_files : custom_entities_ent)
endif

View File

@ -1,9 +1,8 @@
<?xml version="1.0"?>
<!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="modules-load.d" conditional='HAVE_KMOD'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="networkctl" conditional='ENABLE_NETWORKD'
xmlns:xi="http://www.w3.org/2001/XInclude">
@ -78,11 +75,13 @@
<varlistentry>
<term>
<command>list</command>
<optional><replaceable>LINK</replaceable></optional>
<optional><replaceable>PATTERN</replaceable></optional>
</term>
<listitem>
<para>Show a list of existing links and their status. If no further arguments are specified shows all links,
<para>Show a list of existing links and their status. If one ore more
<replaceable>PATTERN</replaceable>s are specified, only links matching one of them are shown.
If no further arguments are specified shows all links,
otherwise just the specified links. Produces output similar to:
<programlisting>IDX LINK TYPE OPERATIONAL SETUP
@ -113,10 +112,18 @@
<para>the device has a carrier, but is not yet ready for normal traffic</para>
</listitem>
</varlistentry>
<varlistentry>
<term>degraded-carrier</term>
<listitem>
<para>for bond or bridge master, one of the bonding or bridge slave network interfaces is
in off, no-carrier, or dormant state</para>
</listitem>
</varlistentry>
<varlistentry>
<term>carrier</term>
<listitem>
<para>the link has a carrier</para>
<para>the link has a carrier, or for bond or bridge master, all bonding or bridge slave
network interfaces are enslaved to the master.</para>
</listitem>
</varlistentry>
<varlistentry>
@ -125,6 +132,12 @@
<para>the link has carrier and addresses valid on the local link configured</para>
</listitem>
</varlistentry>
<varlistentry>
<term>enslaved</term>
<listitem>
<para>the link has carrier and is enslaved to bond or bridge master network interface</para>
</listitem>
</varlistentry>
<varlistentry>
<term>routable</term>
<listitem>
@ -180,13 +193,13 @@
<varlistentry>
<term>
<command>status</command>
<optional><replaceable>LINK</replaceable></optional>
<optional><replaceable>PATTERN</replaceable></optional>
</term>
<listitem>
<para>Show information about the specified links: type,
state, kernel module driver, hardware and IP address,
configured DNS servers, etc.</para>
<para>Show information about the specified links: type, state, kernel module driver, hardware and
IP address, configured DNS servers, etc. If one ore more <replaceable>PATTERN</replaceable>s are
specified, only links matching one of them are shown.</para>
<para>When no links are specified, an overall network status is shown. Also see the option
<option>--all</option>.</para>
@ -208,13 +221,14 @@
<varlistentry>
<term>
<command>lldp</command>
<optional><replaceable>LINK</replaceable></optional>
<optional><replaceable>PATTERN</replaceable></optional>
</term>
<listitem>
<para>Show discovered LLDP (Link Layer Discovery Protocol) neighbors. If one or more link names are specified
only neighbors on those interfaces are shown. Otherwise shows discovered neighbors on all interfaces. Note
that for this feature to work, <varname>LLDP=</varname> must be turned on for the specific interface, see
<para>Show discovered LLDP (Link Layer Discovery Protocol) neighbors. If one or more
<replaceable>PATTERN</replaceable>s are specified only neighbors on those interfaces are shown.
Otherwise shows discovered neighbors on all interfaces. Note that for this feature to work,
<varname>LLDP=</varname> must be turned on for the specific interface, see
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
details.</para>

View File

@ -1,5 +1,5 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="nss-myhostname" conditional='ENABLE_NSS_MYHOSTNAME'>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="nss-mymachines" conditional='ENABLE_NSS_MYMACHINES'>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="nss-resolve" conditional='ENABLE_NSS_RESOLVE'>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="nss-systemd" conditional='ENABLE_NSS_SYSTEMD'>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="os-release">
<refentryinfo>

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="pam_systemd" conditional='HAVE_PAM'>

View File

@ -1,7 +1,6 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="portablectl" conditional='ENABLE_PORTABLED'

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="resolvectl" conditional='ENABLE_RESOLVE'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="resolved.conf" conditional='ENABLE_RESOLVE'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -275,7 +275,9 @@ manpages = [
''],
['sd_bus_new',
'3',
['sd_bus_flush_close_unref',
['sd_bus_close_unref',
'sd_bus_close_unrefp',
'sd_bus_flush_close_unref',
'sd_bus_flush_close_unrefp',
'sd_bus_ref',
'sd_bus_unref',

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="runlevel"
xmlns:xi="http://www.w3.org/2001/XInclude"

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd-bus-errors"
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd-bus" xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd-daemon"
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd-event" xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd-id128"
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd-journal"
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd-login" conditional='HAVE_PAM'
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd_booted"
xmlns:xi="http://www.w3.org/2001/XInclude">

View File

@ -1,6 +1,6 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd_bus_attach_event"
xmlns:xi="http://www.w3.org/2001/XInclude">
@ -87,20 +84,20 @@
0 or a positive integer. On failure, they return a negative errno-style error code.</para>
<para><function>sd_bus_get_event()</function> returns an event loop object or <constant>NULL</constant>.</para>
</refsect1>
<refsect1>
<title>Errors</title>
<refsect2>
<title>Errors</title>
<para>Returned errors may indicate the following problems:</para>
<para>Returned errors may indicate the following problems:</para>
<variablelist>
<varlistentry>
<term><constant>-ECHILD</constant></term>
<variablelist>
<varlistentry>
<term><constant>-ECHILD</constant></term>
<listitem><para>The bus connection has been created in a different process.</para></listitem>
</varlistentry>
</variablelist>
<listitem><para>The bus connection has been created in a different process.</para></listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<xi:include href="libsystemd-pkgconfig.xml" />

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd_bus_close"
xmlns:xi="http://www.w3.org/2001/XInclude">
@ -69,20 +66,20 @@
<para>On success, <function>sd_bus_flush()</function> returns 0 or a positive integer. On failure, it returns a
negative errno-style error code.</para>
</refsect1>
<refsect1>
<title>Errors</title>
<refsect2>
<title>Errors</title>
<para>Returned errors may indicate the following problems:</para>
<para>Returned errors may indicate the following problems:</para>
<variablelist>
<varlistentry>
<term><constant>-ECHILD</constant></term>
<variablelist>
<varlistentry>
<term><constant>-ECHILD</constant></term>
<listitem><para>The bus connection has been created in a different process.</para></listitem>
</varlistentry>
</variablelist>
<listitem><para>The bus connection has been created in a different process.</para></listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<xi:include href="libsystemd-pkgconfig.xml" />

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd_bus_creds_get_pid" xmlns:xi="http://www.w3.org/2001/XInclude">
@ -458,62 +455,53 @@
<para>On success, these calls return 0 or a positive integer. On
failure, these calls return a negative errno-style error code.
</para>
</refsect1>
<refsect1>
<title>Errors</title>
<refsect2>
<title>Errors</title>
<para>Returned errors may indicate the following problems:</para>
<para>Returned errors may indicate the following problems:</para>
<variablelist>
<varlistentry>
<term><constant>-ENODATA</constant></term>
<variablelist>
<varlistentry>
<term><constant>-ENODATA</constant></term>
<listitem><para>The given field is not available in the
credentials object <parameter>c</parameter>.</para>
</listitem>
</varlistentry>
<listitem><para>The given field is not available in the credentials object
<parameter>c</parameter>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>-ENXIO</constant></term>
<varlistentry>
<term><constant>-ENXIO</constant></term>
<listitem><para>The given field is not specified for the described
process or peer. This will be returned by
<function>sd_bus_creds_get_unit()</function>,
<function>sd_bus_creds_get_slice()</function>,
<function>sd_bus_creds_get_user_unit()</function>,
<function>sd_bus_creds_get_user_slice()</function>, and
<function>sd_bus_creds_get_session()</function> if the process is
not part of a systemd system unit, systemd user unit, systemd
slice, or logind session. It will be returned by
<function>sd_bus_creds_get_owner_uid()</function> if the process is
not part of a systemd user unit or logind session. It will also be
returned by <function>sd_bus_creds_get_exe()</function> and
<function>sd_bus_creds_get_cmdline()</function> for kernel
threads (since these are not started from an executable binary,
nor have a command line), and by
<function>sd_bus_creds_get_audit_session_id()</function> and
<function>sd_bus_creds_get_audit_login_uid()</function> when
the process is not part of an audit session, and
<function>sd_bus_creds_get_tty()</function> if the process has
no controlling TTY.
</para>
</listitem>
</varlistentry>
<listitem><para>The given field is not specified for the described process or peer. This will be
returned by <function>sd_bus_creds_get_unit()</function>,
<function>sd_bus_creds_get_slice()</function>, <function>sd_bus_creds_get_user_unit()</function>,
<function>sd_bus_creds_get_user_slice()</function>, and
<function>sd_bus_creds_get_session()</function> if the process is not part of a systemd system
unit, systemd user unit, systemd slice, or logind session. It will be returned by
<function>sd_bus_creds_get_owner_uid()</function> if the process is not part of a systemd user unit
or logind session. It will also be returned by <function>sd_bus_creds_get_exe()</function> and
<function>sd_bus_creds_get_cmdline()</function> for kernel threads (since these are not started
from an executable binary, nor have a command line), and by
<function>sd_bus_creds_get_audit_session_id()</function> and
<function>sd_bus_creds_get_audit_login_uid()</function> when the process is not part of an audit
session, and <function>sd_bus_creds_get_tty()</function> if the process has no controlling
TTY.</para></listitem>
</varlistentry>
<varlistentry>
<term><constant>-EINVAL</constant></term>
<varlistentry>
<term><constant>-EINVAL</constant></term>
<listitem><para>Specified pointer parameter is <constant>NULL</constant>.
</para></listitem>
</varlistentry>
<listitem><para>Specified pointer parameter is <constant>NULL</constant>.</para></listitem>
</varlistentry>
<varlistentry>
<term><constant>-ENOMEM</constant></term>
<varlistentry>
<term><constant>-ENOMEM</constant></term>
<listitem><para>Memory allocation failed.</para></listitem>
</varlistentry>
</variablelist>
<listitem><para>Memory allocation failed.</para></listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<xi:include href="libsystemd-pkgconfig.xml" />

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd_bus_creds_new_from_pid" xmlns:xi="http://www.w3.org/2001/XInclude">
@ -264,42 +261,40 @@
not needed anymore, this reference should be destroyed with
<citerefentry><refentrytitle>sd_bus_creds_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
</para>
</refsect1>
<refsect1>
<title>Errors</title>
<refsect2>
<title>Errors</title>
<para>Returned errors may indicate the following problems:</para>
<para>Returned errors may indicate the following problems:</para>
<variablelist>
<variablelist>
<varlistentry>
<term><constant>-ESRCH</constant></term>
<varlistentry>
<term><constant>-ESRCH</constant></term>
<listitem><para>Specified <parameter>pid</parameter> could not
be found.</para></listitem>
</varlistentry>
<listitem><para>Specified <parameter>pid</parameter> could not be found.</para></listitem>
</varlistentry>
<varlistentry>
<term><constant>-EINVAL</constant></term>
<varlistentry>
<term><constant>-EINVAL</constant></term>
<listitem><para>Specified parameter is invalid
(<constant>NULL</constant> in case of output
parameters).</para></listitem>
</varlistentry>
<listitem><para>Specified parameter is invalid (<constant>NULL</constant> in case of output
parameters).</para></listitem>
</varlistentry>
<varlistentry>
<term><constant>-ENOMEM</constant></term>
<varlistentry>
<term><constant>-ENOMEM</constant></term>
<listitem><para>Memory allocation failed.</para></listitem>
</varlistentry>
<listitem><para>Memory allocation failed.</para></listitem>
</varlistentry>
<varlistentry>
<term><constant>-EOPNOTSUPP</constant></term>
<varlistentry>
<term><constant>-EOPNOTSUPP</constant></term>
<listitem><para>One of the requested fields is unknown to the local system.</para></listitem>
</varlistentry>
</variablelist>
<listitem><para>One of the requested fields is unknown to the local system.</para></listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<xi:include href="libsystemd-pkgconfig.xml" />

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd_bus_default" xmlns:xi="http://www.w3.org/2001/XInclude">
@ -272,36 +269,37 @@
<para>On success, these calls return 0 or a positive
integer. On failure, these calls return a negative
errno-style error code.</para>
</refsect1>
<refsect1>
<title>Errors</title>
<refsect2>
<title>Errors</title>
<para>Returned errors may indicate the following problems:</para>
<para>Returned errors may indicate the following problems:</para>
<variablelist>
<variablelist>
<varlistentry>
<term><constant>-EINVAL</constant></term>
<varlistentry>
<term><constant>-EINVAL</constant></term>
<listitem><para>The specified parameters are invalid.</para></listitem>
</varlistentry>
<listitem><para>The specified parameters are invalid.</para></listitem>
</varlistentry>
<varlistentry>
<term><constant>-ENOMEM</constant></term>
<varlistentry>
<term><constant>-ENOMEM</constant></term>
<listitem><para>Memory allocation failed.</para></listitem>
</varlistentry>
<listitem><para>Memory allocation failed.</para></listitem>
</varlistentry>
<varlistentry>
<term><constant>-ESOCKTNOSUPPORT</constant></term>
<varlistentry>
<term><constant>-ESOCKTNOSUPPORT</constant></term>
<listitem><para>The protocol version required to connect to the selected bus is not supported.</para></listitem>
</varlistentry>
</variablelist>
<listitem><para>The protocol version required to connect to the selected bus is not
supported.</para></listitem>
</varlistentry>
</variablelist>
<para>In addition, any further connection-related errors may be
by returned. See <citerefentry><refentrytitle>sd_bus_send</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
<para>In addition, any further connection-related errors may be by returned. See
<citerefentry><refentrytitle>sd_bus_send</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
</refsect2>
</refsect1>
<xi:include href="libsystemd-pkgconfig.xml" />

View File

@ -1,10 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1+
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="sd_bus_error" xmlns:xi="http://www.w3.org/2001/XInclude">
@ -328,29 +325,28 @@
project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
the memory held by the structure itself after freeing its contents
with <function>sd_bus_error_free()</function>.</para>
</refsect1>
<refsect1>
<title>Errors</title>
<refsect2>
<title>Errors</title>
<para>Returned errors may indicate the following problems:</para>
<para>Returned errors may indicate the following problems:</para>
<variablelist>
<variablelist>
<varlistentry>
<term><constant>-EINVAL</constant></term>
<varlistentry>
<term><constant>-EINVAL</constant></term>
<listitem><para>Error was already set in
<structname>sd_bus_error</structname> structure when one the
error-setting functions was called.</para></listitem>
</varlistentry>
<listitem><para>Error was already set in <structname>sd_bus_error</structname> structure when one
the error-setting functions was called.</para></listitem>
</varlistentry>
<varlistentry>
<term><constant>-ENOMEM</constant></term>
<varlistentry>
<term><constant>-ENOMEM</constant></term>
<listitem><para>Memory allocation failed.</para></listitem>
</varlistentry>
</variablelist>
<listitem><para>Memory allocation failed.</para></listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<xi:include href="libsystemd-pkgconfig.xml" />

Some files were not shown because too many files have changed in this diff Show More