mirror of
https://github.com/systemd/systemd
synced 2026-03-20 03:54:45 +01:00
Compare commits
1 Commits
c5aad0fcbc
...
ebc7381e81
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ebc7381e81 |
6
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
6
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
@ -7,10 +7,8 @@ about: A report of an error in a recent systemd version
|
||||
**systemd version the issue has been seen with**
|
||||
> …
|
||||
|
||||
<!-- **NOTE:** Do not submit bug reports about anything but the two most recently released *major* systemd versions upstream! -->
|
||||
<!-- If there have been multiple stable releases for that major version, please consider updating to a recent one before reporting an issue. -->
|
||||
<!-- When using a distro package, please make sure that the version reported is meaningful for upstream. -->
|
||||
<!-- See https://github.com/systemd/systemd-stable/releases for the list of most recent releases. -->
|
||||
<!-- **NOTE:** Do not submit bug reports about anything but the two most recently released (non-rc) systemd versions upstream! -->
|
||||
<!-- See https://github.com/systemd/systemd/releases for the list of most recent releases. -->
|
||||
<!-- For older version please use distribution trackers (see https://systemd.io/CONTRIBUTING#filing-issues). -->
|
||||
|
||||
**Used distribution**
|
||||
|
||||
3
.github/workflows/build_test.sh
vendored
3
.github/workflows/build_test.sh
vendored
@ -13,7 +13,6 @@ ARGS=(
|
||||
"--optimization=3 -Db_lto=true"
|
||||
"--optimization=3 -Db_lto=false"
|
||||
"--optimization=3 -Ddns-over-tls=openssl"
|
||||
"--optimization=3 -Dfexecve=true -Dstandalone-binaries=true -Dstatic-libsystemd=true -Dstatic-libudev=true"
|
||||
"-Db_ndebug=true"
|
||||
)
|
||||
PACKAGES=(
|
||||
@ -46,9 +45,9 @@ PACKAGES=(
|
||||
mount
|
||||
net-tools
|
||||
perl
|
||||
python-lxml
|
||||
python3-evdev
|
||||
python3-lxml
|
||||
python3-jinja2
|
||||
python3-pip
|
||||
python3-pyparsing
|
||||
python3-setuptools
|
||||
|
||||
1
.github/workflows/build_test.yml
vendored
1
.github/workflows/build_test.yml
vendored
@ -19,7 +19,6 @@ jobs:
|
||||
matrix:
|
||||
env:
|
||||
- { COMPILER: "gcc", COMPILER_VERSION: "10" }
|
||||
- { COMPILER: "gcc", COMPILER_VERSION: "11" }
|
||||
- { COMPILER: "clang", COMPILER_VERSION: "10" }
|
||||
- { COMPILER: "clang", COMPILER_VERSION: "11" }
|
||||
- { COMPILER: "clang", COMPILER_VERSION: "12" }
|
||||
|
||||
5
.github/workflows/mkosi.yml
vendored
5
.github/workflows/mkosi.yml
vendored
@ -27,7 +27,7 @@ jobs:
|
||||
- uses: systemd/mkosi@v9
|
||||
|
||||
- name: Install
|
||||
run: sudo apt-get update && sudo apt-get install --no-install-recommends python3-pexpect python3-jinja2
|
||||
run: sudo apt-get update && sudo apt-get install --no-install-recommends python3-pexpect
|
||||
|
||||
- name: Symlink
|
||||
run: ln -s .mkosi/mkosi.${{ matrix.distro }} mkosi.default
|
||||
@ -48,9 +48,6 @@ jobs:
|
||||
- name: Build ${{ matrix.distro }}
|
||||
run: sudo python3 -m mkosi --password= --qemu-headless build
|
||||
|
||||
- name: Show ${{ matrix.distro }} image summary
|
||||
run: sudo python3 -m mkosi --password= --qemu-headless summary
|
||||
|
||||
- name: Boot ${{ matrix.distro }} systemd-nspawn
|
||||
run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --password= --qemu-headless boot
|
||||
|
||||
|
||||
3
.github/workflows/test_mkosi_boot.py
vendored
3
.github/workflows/test_mkosi_boot.py
vendored
@ -8,6 +8,9 @@ import sys
|
||||
def run() -> None:
|
||||
p = pexpect.spawnu(" ".join(sys.argv[1:]), logfile=sys.stdout, timeout=300)
|
||||
|
||||
p.expect("login:")
|
||||
p.sendline("root")
|
||||
|
||||
p.expect("#")
|
||||
p.sendline("systemctl poweroff")
|
||||
|
||||
|
||||
1
.github/workflows/unit_tests.sh
vendored
1
.github/workflows/unit_tests.sh
vendored
@ -6,7 +6,6 @@ ADDITIONAL_DEPS=(
|
||||
clang
|
||||
expect
|
||||
fdisk
|
||||
jekyll
|
||||
libfdisk-dev
|
||||
libfido2-dev
|
||||
libp11-kit-dev
|
||||
|
||||
@ -9,7 +9,6 @@ extraction:
|
||||
- libfdisk-dev
|
||||
- libp11-kit-dev
|
||||
- libssl-dev
|
||||
- python3-jinja2
|
||||
python:
|
||||
python_setup:
|
||||
version: 3
|
||||
|
||||
3
.mailmap
3
.mailmap
@ -115,14 +115,12 @@ Michael Biebl <biebl@debian.org> <mbiebl@gmail.com>
|
||||
Michael Buesch <mbuesch@freenet.de>
|
||||
Michael Hoy <rimmington@gmail.com>
|
||||
Michael Olbrich <m.olbrich@pengutronix.de>
|
||||
Michael Trapp <michael.trapp@sap.com>
|
||||
Michal Soltys <soltys@ziu.info> <nozo@ziu.info>
|
||||
Michal Suchanek <msuchanek@suse.de>
|
||||
Michal Suchanek <msuchanek@suse.de> <hramrach@gmail.com>
|
||||
Michal Sekletár <msekleta@redhat.com>
|
||||
Michał Szczepański <skrzatu@hotmail.com> <skrzatu@gmail.com>
|
||||
Michel Kraus <github@demonsphere.de> <27o@users.noreply.github.com>
|
||||
Michele Guerini Rocco <rnhmjoj@inventati.org>
|
||||
Miklos Vajna <vmiklos@frugalware.org> <vmiklos@gmail.com>
|
||||
Milan Pässler <me@petabyteboy.de>
|
||||
Neil Brown <neil@brown.name>
|
||||
@ -211,4 +209,3 @@ Andrey Yashkin <38919268+AndreyYashkin@users.noreply.github.com>
|
||||
Ronald Tschalär <ronald@innovation.ch>
|
||||
Jay Burger <jay.burger@fujitsu.com> <root@new-host-3.home>
|
||||
Yi Gao <ymuemc@163.com>
|
||||
Weblate <noreply@weblate.org>
|
||||
|
||||
@ -35,14 +35,13 @@ BuildPackages=
|
||||
libxkbcommon
|
||||
libxslt
|
||||
lz4
|
||||
m4
|
||||
meson
|
||||
pam
|
||||
pkgconfig
|
||||
python
|
||||
python-lxml
|
||||
python-jinja
|
||||
qrencode
|
||||
rsync
|
||||
xz
|
||||
zstd
|
||||
|
||||
@ -52,3 +51,4 @@ Packages=
|
||||
nano
|
||||
qrencode
|
||||
strace
|
||||
vi
|
||||
|
||||
@ -46,11 +46,11 @@ BuildPackages=
|
||||
libtss2-dev
|
||||
libxkbcommon-dev
|
||||
libzstd-dev
|
||||
m4
|
||||
meson
|
||||
pkg-config
|
||||
python3
|
||||
python3-lxml
|
||||
python3-jinja2
|
||||
tree
|
||||
uuid-dev
|
||||
xsltproc
|
||||
@ -68,3 +68,4 @@ Packages=
|
||||
locales
|
||||
nano
|
||||
strace
|
||||
vim-tiny
|
||||
|
||||
@ -5,12 +5,17 @@
|
||||
|
||||
[Distribution]
|
||||
Distribution=fedora
|
||||
Release=34
|
||||
Release=33
|
||||
|
||||
[Packages]
|
||||
BuildPackages=
|
||||
audit-libs-devel
|
||||
bzip2-devel
|
||||
cryptsetup-devel
|
||||
dbus-devel
|
||||
diffutils
|
||||
docbook-style-xsl
|
||||
elfutils-devel
|
||||
findutils
|
||||
gcc
|
||||
gettext
|
||||
@ -18,56 +23,56 @@ BuildPackages=
|
||||
glibc-minimal-langpack
|
||||
gnu-efi
|
||||
gnu-efi-devel
|
||||
gnutls-devel
|
||||
gperf
|
||||
iptables-devel
|
||||
kmod-devel
|
||||
libacl-devel
|
||||
libblkid-devel
|
||||
libcap-devel
|
||||
libcurl-devel
|
||||
libfdisk-devel
|
||||
libfido2-devel
|
||||
libgcrypt-devel
|
||||
libidn2-devel
|
||||
libmicrohttpd-devel
|
||||
libmount-devel
|
||||
libpwquality-devel
|
||||
libseccomp-devel
|
||||
libselinux-devel
|
||||
libxkbcommon-devel
|
||||
libxslt
|
||||
libzstd-devel
|
||||
lz4
|
||||
lz4-devel
|
||||
m4
|
||||
meson
|
||||
ninja-build
|
||||
openssl-devel
|
||||
p11-kit-devel
|
||||
pam-devel
|
||||
pcre2-devel
|
||||
perl(IPC::SysV)
|
||||
perl(Time::HiRes)
|
||||
pkgconfig
|
||||
pkgconfig(audit)
|
||||
pkgconfig(blkid)
|
||||
pkgconfig(bzip2)
|
||||
pkgconfig(dbus-1)
|
||||
pkgconfig(fdisk)
|
||||
pkgconfig(gnutls)
|
||||
pkgconfig(libacl)
|
||||
pkgconfig(libcap)
|
||||
pkgconfig(libcryptsetup)
|
||||
pkgconfig(libcurl)
|
||||
pkgconfig(libdw)
|
||||
pkgconfig(libfido2)
|
||||
pkgconfig(libgcrypt)
|
||||
pkgconfig(libidn2)
|
||||
pkgconfig(libiptc)
|
||||
pkgconfig(libkmod)
|
||||
pkgconfig(liblz4)
|
||||
pkgconfig(liblzma)
|
||||
pkgconfig(libmicrohttpd)
|
||||
pkgconfig(libpcre2-8)
|
||||
pkgconfig(libqrencode)
|
||||
pkgconfig(libseccomp)
|
||||
pkgconfig(libselinux)
|
||||
pkgconfig(libzstd)
|
||||
pkgconfig(mount)
|
||||
pkgconfig(openssl)
|
||||
pkgconfig(p11-kit-1)
|
||||
pkgconfig(pwquality)
|
||||
pkgconfig(tss2-esys)
|
||||
pkgconfig(tss2-mu)
|
||||
pkgconfig(tss2-rc)
|
||||
pkgconfig(valgrind)
|
||||
pkgconfig(xkbcommon)
|
||||
python3dist(jinja2)
|
||||
python3dist(lxml)
|
||||
python3-devel
|
||||
python3-lxml
|
||||
qrencode-devel
|
||||
rpm
|
||||
tpm2-tss-devel
|
||||
tree
|
||||
valgrind-devel
|
||||
xz-devel
|
||||
zstd
|
||||
/usr/bin/xsltproc
|
||||
|
||||
Packages=
|
||||
gdb
|
||||
# libfido2 + libzstd can be dropped once the Fedora RPM gets a dependency on them
|
||||
libfido2
|
||||
libzstd
|
||||
nano
|
||||
# procps-ng provides a set of useful utilies (ps, free, etc)
|
||||
procps-ng
|
||||
strace
|
||||
tpm2-tss
|
||||
vi
|
||||
|
||||
@ -30,13 +30,13 @@ BuildPackages=
|
||||
libseccomp-devel
|
||||
libselinux-devel
|
||||
libxslt-tools
|
||||
m4
|
||||
meson
|
||||
pam-devel
|
||||
pciutils-devel
|
||||
pcre-devel
|
||||
python3
|
||||
python3-lxml
|
||||
python3-jinja2
|
||||
qrencode-devel
|
||||
system-user-nobody
|
||||
systemd-sysvinit
|
||||
@ -69,3 +69,4 @@ Packages=
|
||||
nano
|
||||
strace
|
||||
util-linux
|
||||
vi
|
||||
|
||||
@ -49,11 +49,11 @@ BuildPackages=
|
||||
libxkbcommon-dev
|
||||
libxtables-dev
|
||||
libzstd-dev
|
||||
m4
|
||||
meson
|
||||
pkg-config
|
||||
python3
|
||||
python3-lxml
|
||||
python3-jinja2
|
||||
tree
|
||||
tzdata
|
||||
uuid-dev
|
||||
@ -71,3 +71,4 @@ Packages=
|
||||
locales
|
||||
nano
|
||||
strace
|
||||
vim-tiny
|
||||
|
||||
19
.packit.yml
19
.packit.yml
@ -18,19 +18,22 @@ actions:
|
||||
post-upstream-clone:
|
||||
# Use the Fedora Rawhide specfile
|
||||
- "git clone https://src.fedoraproject.org/rpms/systemd .packit_rpm --depth=1"
|
||||
# Drop the "sources" file so rebase-helper doesn't think we're a dist-git
|
||||
- "rm -fv .packit_rpm/sources"
|
||||
# Drop backported patches from the specfile, but keep the downstream-only ones
|
||||
# - Patch0000-0499: backported patches from upstream
|
||||
# - Patch0500-9999: downstream-only patches
|
||||
- "sed -ri '/^Patch0[0-4]?[0-9]{0,2}\\:.+\\.patch/d' .packit_rpm/systemd.spec"
|
||||
# Build the RPM with --werror. Even though --werror doesn't work in all
|
||||
# cases (see [0]), we can't use -Dc_args=/-Dcpp_args= here because of the
|
||||
# RPM hardening macros, that use $CFLAGS/$CPPFLAGS (see [1]).
|
||||
- "sed -ri '/^Patch0[0-4][0-9]{2}+\\:.+\\.patch/d' .packit_rpm/systemd.spec"
|
||||
# Build the RPMs with -Werror to catch possible compiler warnings. Since
|
||||
# --werror in meson doesn't seem to work with -Db_lto=true [0], let's use
|
||||
# -Dc_args= and -Dcpp_args= instead.
|
||||
#
|
||||
# Exceptions:
|
||||
# - use -Wno-deprecated-declarations to get around mallinfo() use in
|
||||
# basic/selinux-util.c
|
||||
# - don't use -Werror on x86 architectures, otherwise all function checks
|
||||
# will fail (with error: cast from pointer to integer of different size)
|
||||
#
|
||||
# [0] https://github.com/mesonbuild/meson/issues/7360
|
||||
# [1] https://github.com/systemd/systemd/pull/18908#issuecomment-792250110
|
||||
- 'sed -i "/^CONFIGURE_OPTS=(/a--werror" .packit_rpm/systemd.spec'
|
||||
- 'sed -i "/^CONFIGURE_OPTS=(/a%ifnarch i386 i686\n-Dc_args=\"-Werror -Wno-deprecated-declarations\" -Dcpp_args=\"-Werror -Wno-deprecated-declarations\"\n%endif" .packit_rpm/systemd.spec'
|
||||
|
||||
jobs:
|
||||
- job: copr_build
|
||||
|
||||
@ -57,7 +57,7 @@ for phase in "${PHASES[@]}"; do
|
||||
echo "deb http://archive.ubuntu.com/ubuntu $UBUNTU_RELEASE-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/backports.list
|
||||
sudo apt-get -q update
|
||||
sudo apt-get install -y -t "$UBUNTU_RELEASE-backports" lxc
|
||||
sudo apt-get install -y python3-debian git dpkg-dev fakeroot python3-jinja2
|
||||
sudo apt-get install -y python3-debian git dpkg-dev fakeroot
|
||||
|
||||
[ -d $AUTOPKGTEST_DIR ] || git clone --quiet --depth=1 https://salsa.debian.org/ci-team/autopkgtest.git "$AUTOPKGTEST_DIR"
|
||||
|
||||
|
||||
637
NEWS
637
NEWS
@ -1,535 +1,5 @@
|
||||
systemd System and Service Manager
|
||||
|
||||
CHANGES WITH 249 in spe:
|
||||
|
||||
* When operating on disk images via the --image= switch of various
|
||||
tools (such as systemd-nspawn or systemd-dissect), and multiple
|
||||
suitable root or /usr/ partitions exist in the image, then a simple
|
||||
comparison inspired by strverscmp() is done on the GPT partition
|
||||
label, and the newest partition is picked. This permits a simple and
|
||||
generic whole-file-system A/B update logic where new operating system
|
||||
versions are dropped into partitions whose label is then updated with
|
||||
a matching version identifier.
|
||||
|
||||
* systemd-sysusers now supports querying the passwords to set for the
|
||||
users it creates via the "credentials" logic introduced in v247: the
|
||||
passwd.hashed-password.<user> and passwd.plaintext-password.<user>
|
||||
credentials are consulted for the password to use (either in UNIX
|
||||
hashed form, or literally). By default these credentials are inherited
|
||||
down from PID1 (which in turn imports it from a container manager if
|
||||
there is one). This permits easy configuration of user passwords
|
||||
during first boot. Example:
|
||||
|
||||
# systemd-nspawn -i foo.raw --volatile=yes --set-credential=passwd.plaintext-password.root:foo
|
||||
|
||||
Note that systemd-sysusers operates in purely additive mode: it
|
||||
executes no operation if the declared users already exist, and hence
|
||||
doesn't set any passwords as effect of the command line above if the
|
||||
specified root user exists already in the image. (Note that
|
||||
--volatile=yes ensures it doesn't, though.)
|
||||
|
||||
* systemd-firstboot now also supports querying various system
|
||||
parameters via the credential subsystems. Thus, as above this may be
|
||||
used to initialize important system parameters on first boot of
|
||||
previously unprovisioned images (i.e. images with a mostly empty
|
||||
/etc/).
|
||||
|
||||
* The systemd-machine-id-setup tool now supports a --image= switch for
|
||||
provisioning a machine ID file into an OS disk image, similar to how
|
||||
--root= operates on an OS file tree. This matches the existing switch
|
||||
of the same name for systemd-tmpfiles, systemd-firstboot, and
|
||||
systemd-sysusers tools.
|
||||
|
||||
* Similarly, systemd-repart gained support for the --image= switch too.
|
||||
In combination with the existing --size= option, this makes the tool
|
||||
particularly useful for easily growing disk images in a single
|
||||
invocation, following the declarative rules included in the image
|
||||
itself.
|
||||
|
||||
* systemd-repart's partition configuration files gained support for a
|
||||
new switch MakeDirectories= which may be used to create arbitrary
|
||||
directories inside file systems that are created, before registering
|
||||
them in the partition table. This is useful in particular for root
|
||||
partitions to create mount point directories for other partitions
|
||||
included in the image. For example, a disk image that contains a
|
||||
root, /home/, and /var/ partitions, may set MakeDirectories=yes to
|
||||
create /home/ and /var/ as empty directories in the root file system
|
||||
on its creation, so that the resulting image can be mounted
|
||||
immediately, even in read-only mode.
|
||||
|
||||
* systemd-repart's CopyBlocks= setting gained support for the special
|
||||
value "auto". If used, a suitable matching partition on the booted OS
|
||||
is found as source to copy blocks from. This is useful when
|
||||
implementing replicating installers, that are booted from one medium
|
||||
and then stream their own root partition onto the target medium.
|
||||
|
||||
* systemd-repart's partition configuration files gained support for a
|
||||
Flags= and a ReadOnly= setting, allowing control of the GPT partition
|
||||
flags for the created partitions: this is useful for marking newly
|
||||
created partitions as read-only from the start.
|
||||
|
||||
* The /etc/os-release file has been extended with two new (optional)
|
||||
variables IMAGE_VERSION= and IMAGE_ID=, carrying identity and version
|
||||
information for OS images that are updated comprehensively and
|
||||
atomically as one image. Two new specifiers %M, %A now resolve to
|
||||
these two fields in the various configuration options that resolve
|
||||
specifiers.
|
||||
|
||||
* portablectl gained a new switch --extension= for enabling portable
|
||||
service images with extensions that follow the extension image
|
||||
concept introduced with v248, and thus allows layering multiple
|
||||
images when setting up the root filesystem of the service.
|
||||
|
||||
* systemd-coredump will now extract ELF build-id information from
|
||||
processes dumping core and include it in the coredump report.
|
||||
Moreover, it will look for ELF .note.package sections with
|
||||
distribution packaging meta-information about the crashing process.
|
||||
This is useful to directly embed the rpm or deb (or any other)
|
||||
package name and version in ELF files, making it easy to match
|
||||
coredump reports with the specific package for which the software was
|
||||
compiled. This is particularly useful on environments with ELF files
|
||||
from multiple vendors, different distributions and versions, as is
|
||||
common today in our containerized and sand-boxed world. For further
|
||||
information, see:
|
||||
|
||||
https://systemd.io/COREDUMP_PACKAGE_METADATA
|
||||
|
||||
* A new udev hardware database has been added for FireWire devices
|
||||
(IEEE 1394).
|
||||
|
||||
* The "net_id" built-in of udev has been updated with three
|
||||
backwards-incompatible changes:
|
||||
|
||||
- PCI hotplug slot names on s390 systems are now parsed as
|
||||
hexadecimal numbers. They were incorrectly parsed as decimal
|
||||
previously, or ignored if the name was not a valid decimal
|
||||
number.
|
||||
|
||||
- PCI onboard indices up to 65535 are allowed. Previously, numbers
|
||||
above 16383 were rejected. This primarily impacts s390 systems,
|
||||
where values up to 65535 are used.
|
||||
|
||||
- Invalid characters in interface names are replaced with "_".
|
||||
|
||||
The new version of the net naming scheme is "v249". The previous
|
||||
scheme can be selected via the "net.naming-scheme=v247" kernel
|
||||
command line parameter.
|
||||
|
||||
* sd-bus' sd_bus_is_ready() and sd_bus_is_open() calls now accept a
|
||||
NULL bus object, for which they will return false. Or in other words,
|
||||
an unallocated bus connection is neither ready nor open.
|
||||
|
||||
* The sd-device API acquired a new API function
|
||||
sd_device_get_usec_initialized() that returns the monotonic time when
|
||||
the udev device first appeared in the database.
|
||||
|
||||
* sd-device gained a new APIs sd_device_trigger_with_uuid() and
|
||||
sd_device_get_trigger_uuid(). The former is similar to
|
||||
sd_device_trigger() but returns a randomly generated UUID that is
|
||||
associated with the synthetic uevent generated by the call. This UUID
|
||||
may be read from the sd_device object a monitor eventually receives,
|
||||
via the sd_device_get_trigger_uuid(). This interface requires kernel
|
||||
4.13 or above to work, and allows tracking a synthetic uevent through
|
||||
the entire device management stack. The "udevadm trigger --settle"
|
||||
logic has been updated to make use of this concept if available to
|
||||
wait precisely for the uevents it generates. "udevadm trigger" also
|
||||
gained a new parameter --uuid that prints the UUID for each generated
|
||||
uevent.
|
||||
|
||||
* sd-device also gained new APIs sd_device_new_from_ifname() and
|
||||
sd_device_new_from_ifindex() for allocating an sd-device object for
|
||||
the specified network interface. The former accepts an interface name
|
||||
(either a primary or an alternative name), the latter an interface
|
||||
index.
|
||||
|
||||
* The native Journal protocol has been documented. Clients may talk
|
||||
this as alternative to the classic BSD syslog protocol for locally
|
||||
delivering log records to the Journal. The protocol has been stable
|
||||
for a long time and in fact been implemented already in a variety
|
||||
of alternative client libraries. This documentation makes the support
|
||||
for that official:
|
||||
|
||||
https://systemd.io/JOURNAL_NATIVE_PROTOCOL
|
||||
|
||||
* A new BPFProgram= setting has been added to service files. It may be
|
||||
set to a path to a loaded kernel BPF program, i.e. a path to a bpffs
|
||||
file, or a bind mount or symlink to one. This may be used to upload
|
||||
and manage BPF programs externally and then hook arbitrary systemd
|
||||
services into them.
|
||||
|
||||
* The "home.arpa" domain that has been officially declared as the
|
||||
choice for domain for local home networks per RFC 8375 has been added
|
||||
to the default NTA list of resolved, since DNSSEC is generally not
|
||||
available on private domains.
|
||||
|
||||
* The CPUAffinity= setting of unit files now resolves "%" specifiers.
|
||||
|
||||
* A new ManageForeignRoutingPolicyRules= setting has been added to
|
||||
.network files which may be used to exclude foreign-created routing
|
||||
policy rules from systemd-networkd management.
|
||||
|
||||
* systemd-network-wait-online gained two new switches -4 and -6 that
|
||||
may be used to tweak whether to wait for only IPv4 or only IPv6
|
||||
connectivity.
|
||||
|
||||
* .network files gained a new RequiredFamilyForOnline= setting to
|
||||
fine-tune whether to require an IPv4 or IPv6 address in order to
|
||||
consider an interface "online".
|
||||
|
||||
* networkctl will now show an over-all "online" state in the per-link
|
||||
information.
|
||||
|
||||
* In .network files a new OutgoingInterface= setting has been added to
|
||||
specify the output interface in bridge FDB setups.
|
||||
|
||||
* In .network files the Multipath group ID may now be configured for
|
||||
[NextHop] entries, via the new Group= setting.
|
||||
|
||||
* The DHCP server logic configured in .network files gained a new
|
||||
setting RelayTarget= that turns the server into a DHCP server relay.
|
||||
The RelayAgentCircuitId= and RelayAgentRemoteId= settings may be used
|
||||
to further tweak the DHCP relay behaviour.
|
||||
|
||||
* The DHCP server logic also gained a new ServerAddress= setting in
|
||||
.network files that explicitly specifies the server IP address to
|
||||
use. If not specified, the address is determined automatically, as
|
||||
before.
|
||||
|
||||
* The DHCP server logic in systemd-networkd gained support for static
|
||||
DHCP leases, configurable via the [DHCPServerStaticLease]
|
||||
section. This allows explicitly mapping specific MAC addresses to
|
||||
fixed IP addresses and vice versa.
|
||||
|
||||
* The RestrictAddressFamilies= setting in service files now supports a
|
||||
new special value "none". If specified sockets of all address
|
||||
families will be made unavailable to services configured that way.
|
||||
|
||||
* systemd-fstab-generator and systemd-repart have been updated to
|
||||
support booting from disks that carry only a /usr/ partition but no
|
||||
root partition yet, and where systemd-repart can add it in on the
|
||||
first boot. This is useful for implementing systems that ship with a
|
||||
single /usr/ file system, and whose root file system shall be set up
|
||||
and formatted on a LUKS-encrypted volume whose key is generated
|
||||
locally (and possibly enrolled in the TPM) during the first boot.
|
||||
|
||||
* The [Address] section of .network files now accepts a new
|
||||
RouteMetric= setting that configures the routing metric to use for
|
||||
the prefix route created as effect of the address configuration.
|
||||
Similarly, the [DHCPv6PrefixDelegation] and [IPv6Prefix] sections
|
||||
gained matching settings for their prefix routes. (The option of the
|
||||
same name in the [DHCPv6] section is moved to [IPv6AcceptRA], since
|
||||
it conceptually belongs there; the old option is still understood for
|
||||
compatibility.)
|
||||
|
||||
* The DHCPv6 IAID and DUID are now explicitly configurable in .network
|
||||
files.
|
||||
|
||||
* A new udev property ID_NET_DHCP_BROADCAST on network interface
|
||||
devices is now honoured by systemd-networkd, controlling whether to
|
||||
issue DHCP offers via broadcasting. This is used to ensure that s390
|
||||
layer 3 network interfaces work out-of-the-box with systemd-networkd.
|
||||
|
||||
* nss-myhostname and systemd-resolved will now synthesize address
|
||||
records for a new special hostname "_outbound". The name will always
|
||||
resolve to the local IP addresses most likely used for outbound
|
||||
connections towards the default routes. On multi-homed hosts this is
|
||||
useful to have a stable handle referring to "the" local IP address
|
||||
that matters most, to the point where this is defined.
|
||||
|
||||
* The Discoverable Partition Specification has been updated with a new
|
||||
GPT partition flag "grow-file-system" defined for its partition
|
||||
types. Whenever partitions with this flag set are automatically
|
||||
mounted (i.e. via systemd-gpt-auto-generator or the --image= switch
|
||||
of systemd-nspawn or other tools; and as opposed to explicit mounting
|
||||
via /etc/fstab), the file system within the partition is
|
||||
automatically grown to the full size of the partition. If the file
|
||||
system size already matches the partition size this flag has no
|
||||
effect. Previously, this functionality has been available via the
|
||||
explicit x-systemd.growfs mount option, and this new flag extends
|
||||
this to automatically discovered mounts. A new GrowFileSystem=
|
||||
setting has been added to systemd-repart drop-in files that allows
|
||||
configuring this partition flag. This new flag defaults to on for
|
||||
partitions automatically created by systemd-repart, except if they
|
||||
are marked read-only. See the specification for further details:
|
||||
|
||||
https://systemd.io/DISCOVERABLE_PARTITIONS
|
||||
|
||||
* .network files gained a new setting RoutesToNTP= in the [DHCPv4]
|
||||
section. If enabled (which is the default), and an NTP server address
|
||||
is acquired through a DHCP lease on this interface an explicit route
|
||||
to this address is created on this interface to ensure that NTP
|
||||
traffic to the NTP server acquired on an interface is also routed
|
||||
through that interface. The pre-existing RoutesToDNS= setting that
|
||||
implements the same for DNS servers is now enabled by default.
|
||||
|
||||
* A pair of service settings SocketBindAllow= + SocketBindDeny= have
|
||||
been added that may be used to restrict the network interfaces
|
||||
sockets created by the service may be bound to. This is implemented
|
||||
via BPF.
|
||||
|
||||
* A new ConditionFirmware= setting has been added to unit files to
|
||||
conditionalize on certain firmware features. At the moment it may
|
||||
check whether running on an UEFI system, a device.tree system, or if
|
||||
the system is compatible with some specified device-tree feature.
|
||||
|
||||
* A new ConditionOSRelease= setting has been added to unit files to
|
||||
check os-release(5) fields. The "=", "!=", "<", "<=", ">=", ">"
|
||||
operators may be used to check if some field has some specific value
|
||||
or do an alphanumerical comparison. Equality comparisons are useful
|
||||
for fields like ID, but relative comparisons for fields like
|
||||
VERSION_ID or IMAGE_VERSION.
|
||||
|
||||
* hostnamed gained a new Describe() D-Bus method that returns a JSON
|
||||
serialization of the host data it exposes. This is exposed via
|
||||
"hostnamectl --json=" to acquire a host identity description in JSON.
|
||||
It's our intention to add a similar features to most services and
|
||||
objects systemd manages, in order to simplify integration with
|
||||
program code that can consume JSON.
|
||||
|
||||
* Similarly, networkd gained a Describe() method on its Manager and
|
||||
Link bus objects. This is exposed via "networkctl --json=".
|
||||
|
||||
* hostnamectl's various "get-xyz"/"set-xyz" verb pairs
|
||||
(e.g. "hostnamectl get-hostname", "hostnamectl "set-hostname") have
|
||||
been replaced by a single "xyz" verb (e.g. "hostnamectl hostname")
|
||||
that is used both to get the value (when no argument is given), and
|
||||
to set the value (when an argument is specified). The old names
|
||||
continue to be supported for compatibility.
|
||||
|
||||
* systemd-detect-virt and ConditionVirtualization= are now able to
|
||||
correctly identify Amazon EC2 environments.
|
||||
|
||||
* The LogLevelMax= setting of unit files now applies not only to log
|
||||
messages generated *by* the service, but also to log messages
|
||||
generated *about* the service by PID 1. To suppress logs concerning a
|
||||
specific service comprehensively, set this option to a high log
|
||||
level.
|
||||
|
||||
* bootctl gained support for a new --make-machine-id-directory= switch
|
||||
that allows precise control on whether to create the top-level
|
||||
per-machine directory in the boot partition that typically contains
|
||||
Type 1 boot loader entries.
|
||||
|
||||
* During build SBAT data to include in the systemd-boot EFI PE binaries
|
||||
may be specified now.
|
||||
|
||||
* /etc/crypttab learnt a new option "headless". If specified any
|
||||
requests to query the user interactively for passwords or PINs will
|
||||
be skipped. This is useful on systems that are headless, i.e. where
|
||||
an interactive user is generally not present.
|
||||
|
||||
* /etc/crypttab also learnt a new option "password-echo=" that allows
|
||||
configuring whether the encryption password prompt shall echo the
|
||||
typed password and if so, do so literally or via asterisks. (The
|
||||
default is the same behaviour as before: provide echo feedback via
|
||||
asterisks.)
|
||||
|
||||
* FIDO2 support in systemd-cryptenroll/systemd-cryptsetup and
|
||||
systemd-homed has been updated to allow explicit configuration of the
|
||||
"user presence" and "user verification" checks, as well as whether a
|
||||
PIN is required for authentication, via the new switches
|
||||
--fido2-with-user-presence=, --fido2-with-user-verification=,
|
||||
--fido2-with-client-pin= to systemd-cryptenroll and homectl. Which
|
||||
features are available, and may be enabled or disabled depends on the
|
||||
used FIDO2 token.
|
||||
|
||||
* systemd-nspawn's --private-user= switch now accepts the special value
|
||||
"identity" which configures a user namespacing environment with an
|
||||
identity mapping of 65535 UIDs. This means the container UID 0 is
|
||||
mapped to the host UID 0, and the UID 1 to host UID 1. On first look
|
||||
this doesn't appear to be useful, however it does reduce the attack
|
||||
surface a bit, since the resulting container will possess process
|
||||
capabilities only within its namespace and not on the host.
|
||||
|
||||
* systemd-nspawn's --private-user-chown switch has been replaced by a
|
||||
more generic --private-user-ownership= switch that accepts one of
|
||||
three values: "chown" is equivalent to the old --private-user-chown,
|
||||
and "off" is equivalent to the absence of the old switch. The value
|
||||
"map" uses the new UID mapping mounts of Linux 5.12 to map ownership
|
||||
of files and directories of the underlying image to the chosen UID
|
||||
range for the container. "auto" is equivalent to "map" if UID mapping
|
||||
mount are supported, otherwise it is equivalent to "chown". The short
|
||||
-U switch systemd-nspawn now implies --private-user-ownership=auto
|
||||
instead of the old --private-user-chown. Effectively this means: if
|
||||
the backing file system supports UID mapping mounts the feature is
|
||||
now used by default if -U is used. Generally, it's a good idea to use
|
||||
UID mapping mounts instead of recursive chown()ing, since it allows
|
||||
running containers off immutable images (since no modifications of
|
||||
the images need to take place), and share images between multiple
|
||||
instances. Moreover, the recursive chown()ing operation is slow and
|
||||
can be avoided. Conceptually it's also a good thing if transient UID
|
||||
range uses do not leak into persistent file ownership anymore. TLDR:
|
||||
finally, the last major drawback of user namespacing has been
|
||||
removed, and -U should always be used (unless you use btrfs, where
|
||||
UID mapped mounts do not exist; or your container actually needs
|
||||
privileges on the host).
|
||||
|
||||
* nss-systemd now synthesizes user and group shadow records in addition
|
||||
to the main user and group records. Thus, hashed passwords managed by
|
||||
systemd-homed are now accessible via the shadow database.
|
||||
|
||||
* The userdb logic (and thus nss-systemd, and so on) now read
|
||||
additional user/group definitions in JSON format from the drop-in
|
||||
directories /etc/userdb/, /run/userdb/, /run/host/userdb/ and
|
||||
/usr/lib/userdb/. This is a simple and powerful mechanism for making
|
||||
additional users available to the system, with full integration into
|
||||
NSS including the shadow databases. Since the full JSON user/group
|
||||
record format is supported this may also be used to define users with
|
||||
resource management settings and other runtime settings that
|
||||
pam_systemd and systemd-logind enforce at login.
|
||||
|
||||
* The userdbctl tool gained two new switches --with-dropin= and
|
||||
--with-varlink= which can be used to fine-tune the sources used for
|
||||
user database lookups.
|
||||
|
||||
* systemd-nspawn gained a new switch --bind-user= for binding a host
|
||||
user account into the container. This does three things: the user's
|
||||
home directory is bind mounted from the host into the container,
|
||||
below the /run/userdb/home/ hierarchy. A free UID is picked in the
|
||||
container, and a user namespacing UID mapping to the host user's UID
|
||||
installed. And finally, a minimal JSON user and group record (along
|
||||
with its hashed password) is dropped into /run/host/userdb/. These
|
||||
records are picked up automatically by the userdb drop-in logic
|
||||
describe above, and allow the user to login with the same password as
|
||||
on the host. Effectively this means: if host and container run new
|
||||
enough systemd versions making a host user available to the container
|
||||
is trivially simple.
|
||||
|
||||
* systemd-journal-gatewayd now supports the switches --user, --system,
|
||||
--merge, --file= that are equivalent to the same switches of
|
||||
journalctl, and permit exposing only the specified subset of the
|
||||
Journal records.
|
||||
|
||||
* The OnFailure= dependency between units is now augmented with a
|
||||
implicit reverse dependency OnFailureOf= (this new dependency cannot
|
||||
be configured directly it's only created as effect of an OnFailure=
|
||||
dependency in the reverse order — it's visible in "systemctl show"
|
||||
however). Similar, Slice= now has an reverse dependency SliceOf=,
|
||||
that is also not configurable directly, but useful to determine all
|
||||
units that are members of a slice.
|
||||
|
||||
* A pair of new dependency types between units PropagatesStopTo= +
|
||||
StopPropagatedFrom= has been added, that allows propagation of unit
|
||||
stop events between two units. It operates similar to the existing
|
||||
PropagatesReloadTo= + ReloadPropagatedFrom= dependencies.
|
||||
|
||||
* A new dependency type OnSuccess= has been added (plus the reverse
|
||||
dependency OnSuccessOf=, which cannot be configured directly, but
|
||||
exists only as effect of the reverse OnSuccess=). It is similar to
|
||||
OnFailure=, but triggers in the opposite case: when a service exits
|
||||
cleanly. This allows "chaining up" of services where one or more
|
||||
services are started once another service has successfully completed.
|
||||
|
||||
* A new dependency type Upholds= has been added (plus the reverse
|
||||
dependency UpheldBy=, which cannot be configured directly, but exists
|
||||
only as effect of Upholds=). This dependency type is a stronger form
|
||||
of Wants=: if a unit has an UpHolds= dependency on some other unit
|
||||
and the former is active then the latter is started whenever it is
|
||||
found inactive (and no job is queued for it). This is an alternative
|
||||
to Restart= inside service units, but less configurable, and the
|
||||
request to uphold a unit is not encoded in the unit itself but in
|
||||
another unit that intends to uphold it.
|
||||
|
||||
* The systemd-ask-password tool now also supports reading passwords
|
||||
from the credentials subsystem, via the new --credential= switch.
|
||||
|
||||
* The systemd-ask-password tool learnt a new switch --emoji= which may
|
||||
be used to explicit control whether the lock and key emoji (🔐) is
|
||||
shown in the password prompt on suitable TTYs.
|
||||
|
||||
* The --echo switch of systemd-ask-password now optionally takes a
|
||||
parameter that controls character echo. It may either show asterisks
|
||||
(default, as before), turn echo off entirely, or echo the typed
|
||||
characters literally.
|
||||
|
||||
* New documentation has been added that describes the organization of
|
||||
the systemd source code tree:
|
||||
|
||||
https://systemd.io/ARCHITECTURE
|
||||
|
||||
* Units using ConditionNeedsUpdate= will no longer be activated in
|
||||
the initrd.
|
||||
|
||||
* It is now possible to list a template unit in the WantedBy= or
|
||||
RequiredBy= settings of the [Install] section of another template
|
||||
unit, which will be instantiated using the same instance name.
|
||||
|
||||
* A new MemoryAvailable property is available for units. If the unit,
|
||||
or the slice(s) it is part of, have a memory limit set via MemoryMax=/
|
||||
MemoryHigh=, MemoryAvailable will indicate how much more memory the
|
||||
unit can claim before hitting the limit(s).
|
||||
|
||||
* systemd-coredump will now try to stay below the cgroup memory limit
|
||||
placed on itself or one of the slices it runs under, if the storage
|
||||
area for core files (/var/lib/systemd/coredump/) is placed on a tmpfs,
|
||||
since files written on such filesystems count toward the cgroup memory
|
||||
limit. If there is not enough available memory in such cases to store
|
||||
the core file uncompressed, systemd-coredump will skip to compressed
|
||||
storage directly (if enabled) and it will avoid analyzing the core file
|
||||
to print backtrace and metadata in the journal.
|
||||
|
||||
* tmpfiles.d/ drop-ins gained a new '=' modifier to check if the type
|
||||
of a path matches the configured expectations, and remove it if not.
|
||||
|
||||
* tmpfiles.d/'s 'Age' now accepts an 'age-by' argument, which allows to
|
||||
specify which of the several available filesystem timestamps (access
|
||||
time, birth time, change time, modification time) to look at when
|
||||
deciding whether a path has aged enough to be cleaned.
|
||||
|
||||
* A new IPv6StableSecretAddress= setting has been added to .network
|
||||
files, which takes an IPv6 address to use as secret for IPv6 address
|
||||
generation.
|
||||
|
||||
* The [DHCPServer] logic in .network files gained support for a new
|
||||
UplinkInterface= setting that permits configuration of the uplink
|
||||
interface name to propagate DHCP lease information from.
|
||||
|
||||
* The WakeOnLan= setting in .link files now accepts a list of flags
|
||||
instead of a single one, to configure multiple wake-on-LAN policies.
|
||||
|
||||
* User-space defined tracepoints (USDT) have been added to udev at
|
||||
strategic locations. This is useful for tracing udev behaviour and
|
||||
performance with bpftrace and similar tools.
|
||||
|
||||
* systemd-journald-upload gained a new NetworkTimeoutSec= option for
|
||||
setting a network timeout time.
|
||||
|
||||
* If a system service is running in a new mount namespace (RootDirectory=
|
||||
and friends), all file systems will be mounted with MS_NOSUID by
|
||||
default, unless the system is running with SELinux enabled.
|
||||
|
||||
Contributions from: Aakash Singh, adrian5, Alexander Sverdlin,
|
||||
alexlzhu, Allen Webb, Alvin Šipraga, Alyssa Ross, Anders Wenhaug,
|
||||
Andrea Pappacoda, Anita Zhang, asavah, Balint Reczey, Bertrand Jacquin,
|
||||
borna-blazevic, caoxia2008cxx, Carlo Teubner, Christian Göttsche,
|
||||
Christian Hesse, Daniel Schaefer, Dan Streetman,
|
||||
David Santamaría Rogado, David Tardon, Deepak Rawat,
|
||||
Dimitri John Ledkov, ei-ke, Emilio Herrera, Emil Renner Berthing,
|
||||
Eric Cook, Flos Lonicerae, Franck Bui, Francois Gervais,
|
||||
Frantisek Sumsal, Gibeom Gwon, gitm0, Hans de Goede, Harsh Barsaiyan,
|
||||
Henri Chain, Hristo Venev, Igor Zhbanov, imayoda, Jakub Warczarek,
|
||||
James Buren, Jan Janssen, Jan Macku, Jan Synacek, Jason Francis,
|
||||
Jayanth Ananthapadmanaban, Jeremy Szu, Jérôme Carretero,
|
||||
Jesse Stricker, jiangchuangang, Joerg Behrmann, Jóhann B. Guðmundsson,
|
||||
Jörg Deckert, Jörg Thalheim, Juergen Hoetzel, Julia Kartseva,
|
||||
Kai-Heng Feng, Khem Raj, KoyamaSohei, Lennart Poettering,
|
||||
LetzteInstanz, Luca Adrian L, Luca Boccassi, Lucas Magasweran,
|
||||
Mantas Mikulėnas, Marco Antonio Mauro, Mark Wielaard, Masahiro Matsuya,
|
||||
Matt Johnston, Michael Catanzaro, Michal Koutný, Michal Sekletár,
|
||||
Mike Crowe, Mike Kazantsev, Milan, Miroslav Suchý, Morten Linderud,
|
||||
nerdopolis, nl6720, Noah Meyerhans, Oleg Popov, Olle Lundberg,
|
||||
Ondrej Kozina, Perry.Yuan, Peter Hutterer, Peter Kjellerstedt,
|
||||
Peter Morrow, Phaedrus Leeds, plattrap, Roman Beranek, Roshan Shariff,
|
||||
Ryan Hendrickson, Samuel BF, scootergrisen, Sebastian Blunt,
|
||||
Seong-ho Cho, Sergey Bugaev, Sevan Janiyan, Sibo Dong, simmon,
|
||||
Simon Watts, Srinidhi Kaushik, Štěpán Němec, Steve Bonds,
|
||||
Susant Sahani, sverdlin, syyhao1994, Takashi Sakamoto, Topi Miettinen,
|
||||
tramsay, Uwe Kleine-König, Viktor Mihajlovski, Vincent Dechenaux,
|
||||
Vito Caputo, William A. Kennington III, Yangyang Shen, Yegor Alexeyev,
|
||||
Yi Gao, Yu Watanabe, Zbigniew Jędrzejewski-Szmek, zsien, наб
|
||||
|
||||
— Warsaw, 2021-06-25
|
||||
|
||||
CHANGES WITH 248:
|
||||
|
||||
* A concept of system extension images is introduced. Such images may
|
||||
@ -555,10 +25,6 @@ CHANGES WITH 248:
|
||||
file hierarchy of specific services, following the same rules and
|
||||
constraints.
|
||||
|
||||
* Support for a new special "root=tmpfs" kernel command-line option has
|
||||
been added. When specified, a tmpfs is mounted on /, and mount.usr=
|
||||
should be used to point to the operating system implementation.
|
||||
|
||||
* A new configuration file /etc/veritytab may be used to configure
|
||||
dm-verity integrity protection for block devices. Each line is in the
|
||||
format "volume-name data-device hash-device roothash options",
|
||||
@ -657,13 +123,6 @@ CHANGES WITH 248:
|
||||
unified v2 cgroup hierarchy is used, and "v1" means that legacy v1
|
||||
hierarchy or the hybrid hierarchy are used.
|
||||
|
||||
* A new PrivateIPC= setting on a unit file allows executed processes to
|
||||
be moved into a private IPC namespace, with separate System V IPC
|
||||
identifiers and POSIX message queues.
|
||||
|
||||
A new IPCNamespacePath= allows the unit to be joined to an existing
|
||||
IPC namespace.
|
||||
|
||||
* The tables of system calls in seccomp filters are now automatically
|
||||
generated from kernel lists exported on
|
||||
https://fedora.juszkiewicz.com.pl/syscalls.html.
|
||||
@ -726,13 +185,6 @@ CHANGES WITH 248:
|
||||
GenericSegmentOffloadMaxSegments= allow capping the packet size and
|
||||
the number of segments accepted in Generic Segment Offload.
|
||||
|
||||
* systemd-networkd gained support for the "B.A.T.M.A.N. advanced"
|
||||
wireless routing protocol that operates on ISO/OSI Layer 2 only and
|
||||
uses ethernet frames to route/bridge packets. This encompasses a new
|
||||
"batadv" netdev Type=, a new [BatmanAdvanced] section with a bunch of
|
||||
new settings in .netdev files, and a new BatmanAdvanced= setting in
|
||||
.network files.
|
||||
|
||||
* systemd.network files gained a [Network] RouteTable= configuration
|
||||
switch to select the routing policy table.
|
||||
|
||||
@ -751,10 +203,10 @@ CHANGES WITH 248:
|
||||
systemd.network files gained a [DHCPv6PrefixDelegation]
|
||||
ManageTemporaryAddress= switch.
|
||||
|
||||
systemd.network files gained a new ActivationPolicy= setting which
|
||||
allows configuring how the UP state of an interface shall be managed,
|
||||
.network files gained a new ActivationPolicy= setting which allows
|
||||
configuration how the UP state of an interface shall be managed,
|
||||
i.e. whether the interface is always upped, always downed, or may be
|
||||
upped/downed by the user using "ip link set dev".
|
||||
upped/downed by the user using "ip dev".
|
||||
|
||||
* The default for the Broadcast= setting in .network files has slightly
|
||||
changed: the broadcast address will not be configured for wireguard
|
||||
@ -910,12 +362,6 @@ CHANGES WITH 248:
|
||||
"tainted", to make it clearer that using the legacy hierarchy is not
|
||||
recommended.
|
||||
|
||||
* systemd-localed will now refuse to configure a keymap which is not
|
||||
installed in the file system. This is intended as a bug fix, but
|
||||
could break cases where systemd-localed was used to configure the
|
||||
keymap in advanced of it being installed. It is necessary to install
|
||||
the keymap file first.
|
||||
|
||||
* The main git development branch has been renamed to 'main'.
|
||||
|
||||
* mmcblk[0-9]boot[0-9] devices will no longer be probed automatically
|
||||
@ -967,48 +413,37 @@ CHANGES WITH 248:
|
||||
* portablectl gained a new "reattach" verb for detaching/reattaching a
|
||||
portable service image, useful for updating images on-the-fly.
|
||||
|
||||
* Intel SGX enclave device nodes (which expose a security feature of
|
||||
newer Intel CPUs) will now be owned by a new system group "sgx".
|
||||
Contributions from: Adam Nielsen, Adrian Vovk, AJ Jordan, Alan Perry,
|
||||
Alexander Batischev, Ali Abdallah, Andrew Balmos, Anita Zhang, Ansgar
|
||||
Burchardt, Antonius Frie, Ardy, Arian van Putten, Ariel Fermani, Arnaud
|
||||
T, A S Alam, Bastien Nocera, Benjamin Berg, Benjamin Robin, Björn
|
||||
Daase, chri2, Christian Ehrhardt, Christian Hesse, Christopher Obbard,
|
||||
clayton craft, corvusnix, cprn, d032747, Daan De Meyer, Daniele Medri,
|
||||
Dan Streetman, Darren Ng, David Edmundson, Deepak Rawat, Devon Pringle,
|
||||
Dmitry Borodaenko, dropsignal, Einsler Lee, Endre Szabo, Evgeny
|
||||
Vereshchagin, Fabian Affolter, Felipe Borges, feliperodriguesfr, Felix
|
||||
Stupp, Florian Hülsmann, Florian Klink, Florian Westphal, Franck Bui,
|
||||
Frantisek Sumsal, Gablegritule, Gaël PORTAY, Gaurav, Giedrius
|
||||
Statkevičius, Greg Depoire--Ferrer, Hans de Goede, heretoenhance, Iago
|
||||
López Galeiras, igo95862, Ilya Dmitrichenko, Jameer Pathan, Jan Tojnar,
|
||||
Jiehong, Jinyuan Si, John Slade, Jonathan G. Underwood, Jonathan
|
||||
McDowell, Josh Triplett, Joshua Watt, Julia Cartwright, Julien Humbert,
|
||||
Kairui Song, Karel Zak, Kevin P. Fleming, Khem Raj, Konomi, krissgjeng,
|
||||
l4gfcm, Lennart Poettering, Luca Boccassi, Luca BRUNO, Lucas
|
||||
Werkmeister, Luka Kudra, Luna Jernberg, Marc-André Lureau, Matthias
|
||||
Klumpp, Matt Turner, Michael Marley, Michal Fabik, Michał Kopeć, Michal
|
||||
Sekletár, Mike Gilbert, milovlad, moson-mo, Nick, nihilix-melix, Oğuz
|
||||
Ersen, Ondrej Mosnacek, pali, Pavel Hrdina, Pavel Sapezhko, Peter
|
||||
Hutterer, Pierre Dubouilh, Piotr Drąg, Richard Laager, rnhmjoj,
|
||||
RussianNeuroMancer, Sebastiaan van Stijn, Sergey Bugaev, shenyangyang4,
|
||||
Simonas Kazlauskas, Stefan Agner, Steve Ramage, Susant Sahani, Sven
|
||||
Mueller, Tad Fisher, Takashi Iwai, Thomas Haller, Topi Miettinen,
|
||||
Torsten Hilbrich, Tyler Hicks, Ulrich Ölmann, Vinnie Magro, Vito
|
||||
Caputo, Vlad, walbit-de, Weblate, Weblate (bot), Whired Planck, wouter
|
||||
bolsterlee, Yuri Chornoivan, Yu Watanabe, Zach Smith, Zbigniew
|
||||
Jędrzejewski-Szmek, Zmicer Turok, Дамјан Георгиевски
|
||||
|
||||
Contributions from: Adam Nielsen, Adrian Vovk, AJ Jordan, Alan Perry,
|
||||
Alastair Pharo, Alexander Batischev, Ali Abdallah, Andrew Balmos,
|
||||
Anita Zhang, Annika Wickert, Ansgar Burchardt, Antonio Terceiro,
|
||||
Antonius Frie, Ardy, Arian van Putten, Ariel Fermani, Arnaud T,
|
||||
A S Alam, Bastien Nocera, Benjamin Berg, Benjamin Robin, Björn Daase,
|
||||
caoxia, Carlo Wood, Charles Lee, ChopperRob, chri2, Christian Ehrhardt,
|
||||
Christian Hesse, Christopher Obbard, clayton craft, corvusnix, cprn,
|
||||
Daan De Meyer, Daniele Medri, Daniel Rusek, Dan Sanders, Dan Streetman,
|
||||
Darren Ng, David Edmundson, David Tardon, Deepak Rawat, Devon Pringle,
|
||||
Dmitry Borodaenko, dropsignal, Einsler Lee, Endre Szabo,
|
||||
Evgeny Vereshchagin, Fabian Affolter, Fangrui Song, Felipe Borges,
|
||||
feliperodriguesfr, Felix Stupp, Florian Hülsmann, Florian Klink,
|
||||
Florian Westphal, Franck Bui, Frantisek Sumsal, Gablegritule,
|
||||
Gaël PORTAY, Gaurav, Giedrius Statkevičius, Greg Depoire-Ferrer,
|
||||
Gustavo Costa, Hans de Goede, Hela Basa, heretoenhance, hide,
|
||||
Iago López Galeiras, igo95862, Ilya Dmitrichenko, Jameer Pathan,
|
||||
Jan Tojnar, Jiehong, Jinyuan Si, Joerg Behrmann, John Slade,
|
||||
Jonathan G. Underwood, Jonathan McDowell, Josh Triplett, Joshua Watt,
|
||||
Julia Cartwright, Julien Humbert, Kairui Song, Karel Zak,
|
||||
Kevin Backhouse, Kevin P. Fleming, Khem Raj, Konomi, krissgjeng,
|
||||
l4gfcm, Lajos Veres, Lennart Poettering, Lincoln Ramsay, Luca Boccassi,
|
||||
Luca BRUNO, Lucas Werkmeister, Luka Kudra, Luna Jernberg,
|
||||
Marc-André Lureau, Martin Wilck, Matthias Klumpp, Matt Turner,
|
||||
Michael Gisbers, Michael Marley, Michael Trapp, Michal Fabik,
|
||||
Michał Kopeć, Michal Koutný, Michal Sekletár, Michele Guerini Rocco,
|
||||
Mike Gilbert, milovlad, moson-mo, Nick, nihilix-melix, Oğuz Ersen,
|
||||
Ondrej Mosnacek, pali, Pavel Hrdina, Pavel Sapezhko, Perry Yuan,
|
||||
Peter Hutterer, Pierre Dubouilh, Piotr Drąg, Pjotr Vertaalt,
|
||||
Richard Laager, RussianNeuroMancer, Sam Lunt, Sebastiaan van Stijn,
|
||||
Sergey Bugaev, shenyangyang4, simmon, Simonas Kazlauskas,
|
||||
Slimane Selyan Amiri, Stefan Agner, Steve Ramage, Susant Sahani,
|
||||
Sven Mueller, Tad Fisher, Takashi Iwai, Thomas Haller, Tom Shield,
|
||||
Topi Miettinen, Torsten Hilbrich, tpgxyz, Tyler Hicks, ulf-f,
|
||||
Ulrich Ölmann, Vincent Pelletier, Vinnie Magro, Vito Caputo, Vlad,
|
||||
walbit-de, Whired Planck, wouter bolsterlee, Xℹ Ruoyao, Yangyang Shen,
|
||||
Yuri Chornoivan, Yu Watanabe, Zach Smith, Zbigniew Jędrzejewski-Szmek,
|
||||
Zmicer Turok, Дамјан Георгиевски
|
||||
|
||||
— Berlin, 2021-03-30
|
||||
— Warsaw, 2021-02-23
|
||||
|
||||
CHANGES WITH 247:
|
||||
|
||||
@ -1325,7 +760,7 @@ CHANGES WITH 247:
|
||||
all system calls known at the time systemd was built.
|
||||
|
||||
* Behaviour of system call filter allow lists has changed slightly:
|
||||
system calls that are contained in @known will result in EPERM by
|
||||
system calls that are contained in @known will result in a EPERM by
|
||||
default, while those not contained in it result in ENOSYS. This
|
||||
should improve compatibility because known system calls will thus be
|
||||
communicated as prohibited, while unknown (and thus newer ones) will
|
||||
@ -5796,7 +5231,7 @@ CHANGES WITH 233:
|
||||
* sd-id128 gained a new API for generating unique IDs for the host in a
|
||||
way that does not leak the machine ID. Specifically,
|
||||
sd_id128_get_machine_app_specific() derives an ID based on the
|
||||
machine ID in a well-defined, non-reversible, stable way. This is
|
||||
machine ID a in well-defined, non-reversible, stable way. This is
|
||||
useful whenever an identifier for the host is needed but where the
|
||||
identifier shall not be useful to identify the system beyond the
|
||||
scope of the application itself. (Internally this uses HMAC-SHA256 as
|
||||
@ -8046,7 +7481,7 @@ CHANGES WITH 220:
|
||||
|
||||
* udev will no longer create device symlinks for all block devices by
|
||||
default. A deny list for excluding special block devices from this
|
||||
logic has been turned into an allow list that requires picking block
|
||||
logic has been turned into a allow list that requires picking block
|
||||
devices explicitly that require device symlinks.
|
||||
|
||||
* A new (currently still internal) API sd-device.h has been
|
||||
|
||||
33
README
33
README
@ -14,7 +14,7 @@ MAILING LIST:
|
||||
https://lists.freedesktop.org/mailman/listinfo/systemd-devel
|
||||
|
||||
IRC:
|
||||
#systemd on irc.libera.chat
|
||||
#systemd on irc.freenode.org
|
||||
|
||||
BUG REPORTS:
|
||||
https://github.com/systemd/systemd/issues
|
||||
@ -35,10 +35,6 @@ LICENSE:
|
||||
REQUIREMENTS:
|
||||
Linux kernel >= 3.13
|
||||
Linux kernel >= 4.2 for unified cgroup hierarchy support
|
||||
Linux kernel >= 4.10 for cgroup-bpf egress and ingress hooks
|
||||
Linux kernel >= 4.15 for cgroup-bpf device hook
|
||||
Linux kernel >= 4.17 for cgroup-bpf socket address hooks
|
||||
Linux kernel >= 5.3 for bounded-loops in BPF program
|
||||
Linux kernel >= 5.4 for signed Verity images support
|
||||
|
||||
Kernel Config Options:
|
||||
@ -85,7 +81,7 @@ REQUIREMENTS:
|
||||
|
||||
Optional but strongly recommended:
|
||||
CONFIG_IPV6
|
||||
CONFIG_AUTOFS_FS
|
||||
CONFIG_AUTOFS4_FS
|
||||
CONFIG_TMPFS_XATTR
|
||||
CONFIG_{TMPFS,EXT4_FS,XFS,BTRFS_FS,...}_POSIX_ACL
|
||||
CONFIG_SECCOMP
|
||||
@ -99,20 +95,8 @@ REQUIREMENTS:
|
||||
Required for CPUQuota= in resource control unit settings
|
||||
CONFIG_CFS_BANDWIDTH
|
||||
|
||||
Required for IPAddressDeny=, IPAddressAllow=, IPIngressFilterPath=,
|
||||
IPEgressFilterPath= in resource control unit settings
|
||||
Required for IPAddressDeny= and IPAddressAllow= in resource control
|
||||
unit settings
|
||||
CONFIG_BPF
|
||||
CONFIG_BPF_SYSCALL
|
||||
CONFIG_BPF_JIT
|
||||
CONFIG_HAVE_EBPF_JIT
|
||||
CONFIG_CGROUP_BPF
|
||||
|
||||
Required for SocketBind{Allow|Deny}= in resource control unit settings
|
||||
CONFIG_BPF
|
||||
CONFIG_BPF_SYSCALL
|
||||
CONFIG_BPF_JIT
|
||||
CONFIG_HAVE_EBPF_JIT
|
||||
CONFIG_CGROUP_BPF
|
||||
|
||||
For UEFI systems:
|
||||
@ -170,7 +154,6 @@ REQUIREMENTS:
|
||||
libcryptsetup (optional), >= 2.3.0 required for signed Verity images support
|
||||
libaudit (optional)
|
||||
libacl (optional)
|
||||
libbpf >= 0.2.0 (optional)
|
||||
libfdisk >= 2.33 (from util-linux) (optional)
|
||||
libselinux (optional)
|
||||
liblzma (optional)
|
||||
@ -190,14 +173,11 @@ REQUIREMENTS:
|
||||
gperf
|
||||
docbook-xsl (optional, required for documentation)
|
||||
xsltproc (optional, required for documentation)
|
||||
python-jinja2
|
||||
python-lxml (optional, required to build the indices)
|
||||
python >= 3.5
|
||||
meson >= 0.46 (>= 0.49 is required to build position-independent executables)
|
||||
ninja
|
||||
gcc, awk, sed, grep, and similar tools
|
||||
clang >= 10.0, llvm >= 10.0 (optional, required to build BPF programs
|
||||
from source code in C)
|
||||
gcc, awk, sed, grep, m4, and similar tools
|
||||
|
||||
During runtime, you need the following additional
|
||||
dependencies:
|
||||
@ -357,3 +337,8 @@ STABLE BRANCHES AND BACKPORTS:
|
||||
distribution maintainers on an as needed basis. See
|
||||
https://www.freedesktop.org/wiki/Software/systemd/Backports/ for some
|
||||
more information and examples.
|
||||
|
||||
ENGINEERING AND CONSULTING SERVICES:
|
||||
Kinvolk (https://kinvolk.io) offers professional engineering
|
||||
and consulting services for systemd. Please contact Chris Kühl
|
||||
<chris@kinvolk.io> for more information.
|
||||
|
||||
@ -26,14 +26,12 @@ Information about build requirements is provided in the [README file](README).
|
||||
|
||||
Consult our [NEWS file](NEWS) for information about what's new in the most recent systemd versions.
|
||||
|
||||
Please see the [Code Map](docs/ARCHITECTURE.md) for information about this repository's layout and content.
|
||||
|
||||
Please see the [Hacking guide](docs/HACKING.md) for information on how to hack on systemd and test your modifications.
|
||||
|
||||
Please see our [Contribution Guidelines](docs/CONTRIBUTING.md) for more information about filing GitHub Issues and posting GitHub Pull Requests.
|
||||
|
||||
When preparing patches for systemd, please follow our [Coding Style Guidelines](docs/CODING_STYLE.md).
|
||||
|
||||
If you are looking for support, please contact our [mailing list](https://lists.freedesktop.org/mailman/listinfo/systemd-devel) or join our [IRC channel](irc://irc.libera.chat/%23systemd).
|
||||
If you are looking for support, please contact our [mailing list](https://lists.freedesktop.org/mailman/listinfo/systemd-devel) or join our [IRC channel](irc://irc.freenode.org/%23systemd).
|
||||
|
||||
Stable branches with backported patches are available in the [stable repo](https://github.com/systemd/systemd-stable).
|
||||
|
||||
152
TODO
152
TODO
@ -7,12 +7,6 @@ Bugfixes:
|
||||
* userdbctl: "Password OK: yes" is shown even when there are no passwords
|
||||
or the password is locked.
|
||||
|
||||
* Get rid of nftw(). We should refuse to use such useless APIs on principle.
|
||||
|
||||
* Jun 01 09:43:02 krowka systemd[1]: Unit user@1000.service has alias user@.service.
|
||||
Jun 01 09:43:02 krowka systemd[1]: Unit user@6.service has alias user@.service.
|
||||
Jun 01 09:43:02 krowka systemd[1]: Unit user-runtime-dir@6.service has alias user-runtime-dir@.service.
|
||||
|
||||
External:
|
||||
|
||||
* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
|
||||
@ -26,84 +20,6 @@ Janitorial Clean-ups:
|
||||
|
||||
Features:
|
||||
|
||||
* firstboot: allow provisioning of /etc/hosts entries, so that we can via the
|
||||
credentials logic insert host name to resolve into containers/hosts. Usecase:
|
||||
fork a container, and make it ping some specific address which is defined by
|
||||
the host on invocation
|
||||
|
||||
* in sd-id128: also parse UUIDs in RFC4122 URN syntax (i.e. chop off urn:uuid: prefix)
|
||||
|
||||
* ability to insert trusted configuration and secrets into the boot parameters
|
||||
of a kernel booting in a VM or on baremetal some way, via TPM
|
||||
protection. idea:
|
||||
1. pass via /proc/bootconfig
|
||||
2. for secrets: put secrets in node of /proc/bootconfig, decrypt them via
|
||||
TPM early on in PID 1, put them in $CREDENTIAL_PATH logic
|
||||
3. for config: put signed data in node /proc/booconfig, validate via TPM
|
||||
early on in PID 1, put data into /run/bootconfig/ as individual files
|
||||
4. boot loader/stub should pick these up automatically from the boot loader
|
||||
file systems
|
||||
|
||||
* journald: support RFC3164 fully for the incoming syslog transport, see
|
||||
https://github.com/systemd/systemd/issues/19251#issuecomment-816601955
|
||||
|
||||
* homed: if kernel 5.12 uid mapping mounts exist, use that instead of recursive
|
||||
chowns.
|
||||
|
||||
* DynamicUser= + StateDirectory= → use uid mapping mounts, too, in order to
|
||||
make dirs appear under right UID.
|
||||
|
||||
* nspawn: make --bind= work sanely with --private-users when uid mapping mounts
|
||||
are used.
|
||||
|
||||
* systemd-sysext: optionally, run it in initrd already, before transitioning
|
||||
into host, to open up possibility for services shipped like that.
|
||||
|
||||
* add a new switch --auto-definitions=yes/no or so to systemd-repart. If
|
||||
specified, synthesize a definition automatically if we can: enlarge last
|
||||
partition on disk, but only if it is marked for growing and not read-only.
|
||||
|
||||
* add a switch to homectl (maybe called --first-boot) where it will check if
|
||||
any non-system users exist, and if not prompts interactively for basic user
|
||||
info, mimicking systemd-firstboot. Then, place this in a service that runs
|
||||
after systemd-homed, but before gdm and friends, as a simple, barebones
|
||||
fallback logic to get a regular user created on uninitialized systems.
|
||||
|
||||
* maybe add a tool that displays most recent journal logs as QR code to scan
|
||||
off screen and run it automatically on boot failures, emergency logs and
|
||||
such. Use DRM APIs directly, see
|
||||
https://github.com/dvdhrm/docs/blob/master/drm-howto/modeset.c for an example
|
||||
for doing that.
|
||||
|
||||
* pass systemd-detect-virt result to generators as env var. Modifying behaviour
|
||||
based on whether we are virtualized or not is a pretty common thing, hence
|
||||
maybe just pass that info along for free in an env var. We cache the result
|
||||
anyway, so it's basically free.
|
||||
|
||||
* systemd-repart: read LUKS encryption key from $CREDENTIALS_PATH
|
||||
|
||||
* introduce /dev/disk/root/* symlinks that allow referencing partitions on the
|
||||
disk the rootfs is on in a reasonably secure way. (or maybe: add
|
||||
/dev/gpt-auto-{home,srv,boot,…} similar in style to /dev/gpt-auto-root as we
|
||||
already have it.
|
||||
|
||||
* systemd-repart: add a switch to factory reset the partition table without
|
||||
immediately applying the new configuration again. i.e. --factory-reset=leave
|
||||
or so. (this is useful to factory reset an image, then putting it into
|
||||
another machine, ensuring that luks key is generated on new machine, not old)
|
||||
|
||||
* systemd-repart: support setting up dm-integrity with HMAC
|
||||
|
||||
* systemd-repart: maybe remove half-initialized image on failure. It fails
|
||||
if the output file exists, so a repeated invocation will usually fail if
|
||||
something goes wrong on the way.
|
||||
|
||||
* systemd-repart: drop pager mode on normal operation?
|
||||
|
||||
* move logind udev rules to top-level rule.d/ directory
|
||||
|
||||
* move multiseat vid/pid matches from logind udev rule to hwdb
|
||||
|
||||
* whenever we receive fds via SCM_RIGHTS make sure none got dropped due to the
|
||||
reception limit the kernel silently enforces.
|
||||
|
||||
@ -217,9 +133,22 @@ Features:
|
||||
|
||||
* systemd-analyze netif that explains predictable interface (or networkctl)
|
||||
|
||||
* port selinux code from mallinfo() to mallinfo2() once added to glibc
|
||||
|
||||
* Add service setting to run a service within the specified VRF. i.e. do the
|
||||
equivalent of "ip vrf exec".
|
||||
|
||||
* export action of device object on sd-device, so that monitor becomes useful
|
||||
|
||||
* add root=tmpfs that mounts a tmpfs to /sysroot (to be used in combination
|
||||
with usr=…, for a similar effect as systemd.volatile=yes but without the
|
||||
"hide-out" effect). Also, add root=gpt-auto-late support or so, that is like
|
||||
root=gpt-auto but initially mounts a tmpfs to /sysroot, and then revisits
|
||||
later after systemd-repart ran. Usecase: let's ship images with only /usr
|
||||
partition, then on first boot create the root partition. In this case we want
|
||||
to read the repart data from /usr before the root partition exists. Add
|
||||
usr=gpt-auto that automatically finds a /usr partition.
|
||||
|
||||
* change SwitchRoot() implementation in PID 1 to use pivot_root(".", "."), as
|
||||
documented in the pivot_root(2) man page, so that we can drop the /oldroot
|
||||
temporary dir.
|
||||
@ -230,11 +159,15 @@ Features:
|
||||
* homed: keep an fd to the homedir open at all times, to keep the fs pinned
|
||||
(autofs and such) while user is logged in.
|
||||
|
||||
* nss-systemd: also synthesize shadow records for users/groups
|
||||
|
||||
* make use of new glibc 2.32 APIs sigabbrev_np() and strerrorname_np().
|
||||
|
||||
* when main nspawn supervisor process gets suspended due to SIGSTOP/SIGTTOU or
|
||||
so, freeze the payload too.
|
||||
|
||||
* repart: support setting up dm-integrity with HMAC
|
||||
|
||||
* add /etc/integritytab, to support dm-integrity setups. In particular those
|
||||
with HMAC as hash function, so that we can have a protected /home without
|
||||
encryption (leaving encryption to the individual dirs/homed).
|
||||
@ -342,6 +275,15 @@ Features:
|
||||
* busctl: maybe expose a verb "ping" for pinging a dbus service to see if it
|
||||
exists and responds.
|
||||
|
||||
* when systemd-nspawn and suchlike dissect an OS image, and there are multiple
|
||||
root partitions, do an strverscmp() on the partition label and boot
|
||||
first. That is inspired how sd-boot figures out which kernel to boot, and
|
||||
thus allows defining OS images which can be A/B updated and we default to the
|
||||
newest version automatically, both in nspawn and in sd-boot
|
||||
|
||||
* systemd-gpt-auto should probably set x-systemd.growfs on the mounts it
|
||||
creates
|
||||
|
||||
* bootctl:
|
||||
- teach it to prepare an ESP wholesale, i.e. with mkfs.vfat invocation
|
||||
- teach it to copy in unified kernel images and maybe type #1 boot loader spec entries from host
|
||||
@ -392,6 +334,8 @@ Features:
|
||||
* systemd-repart: allow sizing partitions as factor of available RAM, so that
|
||||
we can reasonably size swap partitions for hibernation.
|
||||
|
||||
* systemd-repart: allow managing the gpt read-only partition flag + auto-mount flag
|
||||
|
||||
* systemd-repart: allow boolean option that ensures that if existing partition
|
||||
doesn't exist within the configured size bounds the whole command fails. This
|
||||
is useful to implement ESP vs. XBOOTLDR schemes in installers: have one set
|
||||
@ -442,6 +386,9 @@ Features:
|
||||
shouldn't operate in a volatile mode unless we got told so from a trusted
|
||||
source.
|
||||
|
||||
* figure out automatic partition discovery when combining writable root dir
|
||||
with immutable /usr
|
||||
|
||||
* coredump: maybe when coredumping read a new xattr from /proc/$PID/exe that
|
||||
may be used to mark a whole binary as non-coredumpable. Would fix:
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=69447
|
||||
@ -562,6 +509,10 @@ Features:
|
||||
a seccomp option we don't have to set NNP. For that, change uid first whil
|
||||
keeping CAP_SYS_ADMIN, then apply seccomp, the drop cap.
|
||||
|
||||
* add a concept for automatically loading per-unit secrets off disk and
|
||||
inserting them into the kernel keyring. Maybe SecretsDirectory= similar to
|
||||
ConfigurationDirectory=.
|
||||
|
||||
* when no locale is configured, default to UEFI's PlatformLang variable
|
||||
|
||||
* bootctl,sd-boot: actually honour the "architecture" key
|
||||
@ -614,6 +565,13 @@ Features:
|
||||
output of "systemctl list-units" slightly by showing the tree structure of
|
||||
the slices, and the units attached to them.
|
||||
|
||||
* the a-posteriori stopping of units bound to units that disappeared logic
|
||||
should be reworked: there should be a queue of units, and we should only
|
||||
enqueue stop jobs from a defer event that processes queue instead of
|
||||
right-away when we find a unit that is bound to one that doesn't exist
|
||||
anymore. (similar to how the stop-unneeded queue has been reworked the same
|
||||
way)
|
||||
|
||||
* nspawn: make nspawn suitable for shell pipelines: instead of triggering a
|
||||
hangup when input is finished, send ^D, which synthesizes an EOF. Then wait
|
||||
for hangup or ^D before passing on the EOF.
|
||||
@ -641,6 +599,8 @@ Features:
|
||||
|
||||
* add support for "portablectl attach http://foobar.com/waaa.raw (i.e. importd integration)
|
||||
|
||||
* add attach --enable and attach --now (for attach+enable+start)
|
||||
|
||||
* sync dynamic uids/gids between host+portable srvice (i.e. if DynamicUser=1 is set for a service, make sure that the
|
||||
selected user is resolvable in the service even if it ships its own /etc/passwd)
|
||||
|
||||
@ -683,6 +643,9 @@ Features:
|
||||
* add proper dbus APIs for the various sd_notify() commands, such as MAINPID=1
|
||||
and so on, which would mean we could report errors and such.
|
||||
|
||||
* teach tmpfiles.d q/Q logic something sensible in the context of XFS/ext4
|
||||
project quota
|
||||
|
||||
* introduce DefaultSlice= or so in system.conf that allows changing where we
|
||||
place our units by default, i.e. change system.slice to something
|
||||
else. Similar, ManagerSlice= should exist so that PID1's own scope unit could
|
||||
@ -799,6 +762,10 @@ Features:
|
||||
"systemd-gdb" for attaching to the start-up of any system service in its
|
||||
natural habitat.
|
||||
|
||||
* gpt-auto logic: related to the above, maybe support a "secondary" root
|
||||
partition, that is mounted to / and is writable, and where the actual root's
|
||||
/usr is mounted into.
|
||||
|
||||
* gpt-auto logic: support encrypted swap, add kernel cmdline option to force it, and honour a gpt bit about it, plus maybe a configuration file
|
||||
|
||||
* drop nss-myhostname in favour of nss-resolve?
|
||||
@ -831,13 +798,13 @@ Features:
|
||||
on PID 1 with the relevant signals, and makes relevant files in /sys and
|
||||
/proc (such as the sysrq stuff) unavailable
|
||||
|
||||
* Support ReadWritePaths/ReadOnlyPaths/InaccessiblePaths in systemd --user instances
|
||||
via the new unprivileged Landlock LSM (https://landlock.io)
|
||||
|
||||
* make sure the ratelimit object can deal with USEC_INFINITY as way to turn off things
|
||||
|
||||
* journalctl: make sure -f ends when the container indicated by -M terminates
|
||||
|
||||
* mount: automatically search for "main" partition of an image has multiple
|
||||
partitions
|
||||
|
||||
* in nss-systemd, if we run inside of RootDirectory= with PrivateUsers= set,
|
||||
find a way to map the User=/Group= of the service to the right name. This way
|
||||
a user/group for a service only has to exist on the host for the right
|
||||
@ -885,10 +852,6 @@ Features:
|
||||
|
||||
* fstab-generator: default to tmpfs-as-root if only usr= is specified on the kernel cmdline
|
||||
|
||||
* initrd-parse-etc.service: can we skip daemon-reload if /sysroot/etc/fstab is missing?
|
||||
Note that we start initrd-fs.target and initrd-cleanup.target there, so a straightforward
|
||||
ConditionPathExists= is not enough.
|
||||
|
||||
* docs: bring http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime up to date
|
||||
|
||||
* add a job mode that will fail if a transaction would mean stopping
|
||||
@ -927,6 +890,8 @@ Features:
|
||||
|
||||
* firstboot: make it useful to be run immediately after yum --installroot to set up a machine. (most specifically, make --copy-root-password work even if /etc/passwd already exists
|
||||
|
||||
* maybe add support for specifier expansion in user.conf, specifically DefaultEnvironment=
|
||||
|
||||
* maybe allow timer units with an empty Units= setting, so that they
|
||||
can be used for resuming the system but nothing else.
|
||||
|
||||
@ -1040,6 +1005,8 @@ Features:
|
||||
here:
|
||||
http://blog.vmsplice.net/2020/07/rethinking-event-loop-integration-for.html
|
||||
|
||||
* investigate endianness issues of UUID vs. GUID
|
||||
|
||||
* dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
|
||||
should be able to safely try another attempt when the bus call LoadUnit() is invoked.
|
||||
|
||||
@ -1306,8 +1273,6 @@ Features:
|
||||
should not follow symlinks. None of the other adjustment or creation
|
||||
calls follow symlinks.
|
||||
- add --test mode
|
||||
- teach tmpfiles.d q/Q logic something sensible in the context of XFS/ext4
|
||||
project quota
|
||||
|
||||
* make sure systemd-ask-password-wall does not shutdown systemd-ask-password-console too early
|
||||
|
||||
@ -1377,6 +1342,7 @@ Features:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=723942
|
||||
- allow writing multiple conditions in unit files on one line
|
||||
- introduce Type=pid-file
|
||||
- introduce mix of BindTo and Requisite
|
||||
- add a concept of RemainAfterExit= to scope units
|
||||
- Allow multiple ExecStart= for all Type= settings, so that we can cover rescue.service nicely
|
||||
- add verification of [Install] section to systemd-analyze verify
|
||||
|
||||
@ -30,4 +30,5 @@ foreach file : in_files
|
||||
endforeach
|
||||
|
||||
meson.add_install_script('sh', '-c',
|
||||
'test -n "$DESTDIR" || @0@/journalctl --update-catalog'.format(rootbindir))
|
||||
'test -n "$DESTDIR" || @0@/journalctl --update-catalog'
|
||||
.format(rootbindir))
|
||||
|
||||
@ -8,8 +8,7 @@ position p : script:python() {
|
||||
p[0].current_element == "log_set_max_level_realm" or
|
||||
p[0].current_element == "unichar_is_valid")
|
||||
};
|
||||
expression x;
|
||||
constant y;
|
||||
expression x, y;
|
||||
@@
|
||||
(
|
||||
- ((x@p) & (y)) == (y)
|
||||
|
||||
@ -7,7 +7,6 @@ EXCLUDED_PATHS=(
|
||||
"src/basic/linux/*"
|
||||
# Symlinked to test-bus-vtable-cc.cc, which causes issues with the IN_SET macro
|
||||
"src/libsystemd/sd-bus/test-bus-vtable.c"
|
||||
"src/libsystemd/sd-journal/lookup3.c"
|
||||
)
|
||||
|
||||
top="$(git rev-parse --show-toplevel)"
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
@@
|
||||
position p : script:python() { p[0].current_element != "test_strjoina" };
|
||||
expression n, m;
|
||||
expression list s;
|
||||
@@
|
||||
- n = strjoina@p(m, s, NULL);
|
||||
- n = strjoina(m, s, NULL);
|
||||
+ n = strjoina(m, s);
|
||||
|
||||
3
docs/.gitignore
vendored
3
docs/.gitignore
vendored
@ -1,2 +1 @@
|
||||
/_site/
|
||||
/.jekyll-cache/
|
||||
_site
|
||||
|
||||
@ -1,121 +0,0 @@
|
||||
---
|
||||
title: systemd Repository Architecture
|
||||
category: Contributing
|
||||
layout: default
|
||||
---
|
||||
|
||||
# Code Map
|
||||
|
||||
This section will attempt to provide a high-level overview of the various
|
||||
components of the systemd repository.
|
||||
|
||||
# Source Code
|
||||
|
||||
Directories in `src/` provide the implementation of all daemons, libraries and
|
||||
command-line tools shipped by the project. There are many, and more are
|
||||
constantly added, so we will not enumerate them all here — the directory
|
||||
names are self-explanatory.
|
||||
|
||||
## Shared Code
|
||||
|
||||
You might wonder what kind of common code belongs in `src/shared/` and what
|
||||
belongs in `src/basic/`. The split is like this: anything that is used to
|
||||
implement the public shared objects we provide (`sd-bus`, `sd-login`,
|
||||
`sd-id128`, `nss-systemd`, `nss-mymachines`, `nss-resolve`, `nss-myhostname`,
|
||||
`pam_systemd`), must be located in `src/basic` (those objects are not allowed
|
||||
to link to `libsystemd-shared.so`). Conversely, anything which is shared
|
||||
between multiple components and does not need to be in `src/basic/`, should be
|
||||
in `src/shared/`.
|
||||
|
||||
To summarize:
|
||||
|
||||
`src/basic/`
|
||||
- may be used by all code in the tree
|
||||
- may not use any code outside of `src/basic/`
|
||||
|
||||
`src/libsystemd/`
|
||||
- may be used by all code in the tree, except for code in `src/basic/`
|
||||
- may not use any code outside of `src/basic/`, `src/libsystemd/`
|
||||
|
||||
`src/shared/`
|
||||
- may be used by all code in the tree, except for code in `src/basic/`,
|
||||
`src/libsystemd/`, `src/nss-*`, `src/login/pam_systemd.*`, and files under
|
||||
`src/journal/` that end up in `libjournal-client.a` convenience library.
|
||||
- may not use any code outside of `src/basic/`, `src/libsystemd/`, `src/shared/`
|
||||
|
||||
## PID 1
|
||||
|
||||
Code located in `src/core/` implements the main logic of the systemd system (and user)
|
||||
service manager.
|
||||
|
||||
BPF helpers written in C and used by PID 1 can be found under `src/core/bpf/`.
|
||||
|
||||
## UDEV
|
||||
|
||||
Sources for the udev daemon and command-line tool (single binary) can be found under
|
||||
`src/udev/`.
|
||||
|
||||
## Unit Tests
|
||||
|
||||
Source files found under `src/test/` implement unit-level testing, mostly for
|
||||
modules found in `src/basic/` and `src/shared/`, but not exclusively. Each test
|
||||
file is compiled in a standalone binary that can be run to exercise the
|
||||
corresponding module. While most of the tests can be ran by any user, some
|
||||
require privileges, and will attempt to clearly log about what they need
|
||||
(mostly in the form of effective capabilities). These tests are self-contained,
|
||||
and generally safe to run on the host without side effects.
|
||||
|
||||
Ideally, every module in `src/basic/` and `src/shared/` should have a
|
||||
corresponding unit test under `src/test/`, exercising every helper function.
|
||||
|
||||
# Integration Tests
|
||||
|
||||
Sources in `test/` implement system-level testing for executables, libraries and
|
||||
daemons that are shipped by the project. They require privileges to run, and
|
||||
are not safe to execute directly on a host. By default they will build an image
|
||||
and run the test under it via `QEMU` or `systemd-nspawn`.
|
||||
|
||||
Most of those tests should be able to run via `systemd-nspawn`, which is orders of
|
||||
magnitude faster than `QEMU`, but some tests require privileged operations like
|
||||
using `dm-crypt` or `loopdev`. They are clearly marked if that is the case.
|
||||
|
||||
See `test/README.testsuite` for more specific details.
|
||||
|
||||
# HWDB
|
||||
|
||||
Rules built in the static `HWDB` database shipped by the project can be found
|
||||
under `hwdb.d/`. Some of these files are updated automatically, some are filled
|
||||
by contributors.
|
||||
|
||||
# Documentation
|
||||
|
||||
## systemd.io
|
||||
|
||||
Markdown files found under `docs/` are automatically published on the
|
||||
[systemd.io](https://systemd.io) website using Github Pages. A minimal unit test
|
||||
to ensure the formatting doesn't have errors is included in the
|
||||
`meson test -C build/ github-pages` run as part of the CI.
|
||||
|
||||
## MAN pages
|
||||
|
||||
Manpages for binaries and libraries, and the DBUS interfaces, can be found under
|
||||
`man/` and should ideally be kept in sync with changes to the corresponding
|
||||
binaries and libraries.
|
||||
|
||||
## Translations
|
||||
|
||||
Translations files for binaries and daemons, provided by volunteers, can be found
|
||||
under `po/` in the usual format. They are kept up to date by contributors and by
|
||||
automated tools.
|
||||
|
||||
# System Configuration files and presets
|
||||
|
||||
Presets (or templates from which they are generated) for various daemons and tools
|
||||
can be found under various directories such as `factory/`, `modprobe.d/`, `network/`,
|
||||
`presets/`, `rules.d/`, `shell-completion/`, `sysctl.d/`, `sysusers.d/`, `tmpfiles.d/`.
|
||||
|
||||
# Utilities for Developers
|
||||
|
||||
`tools/`, `coccinelle/`, `.github/`, `.semaphore/`, `.lgtm/`, `.mkosi/` host various
|
||||
utilities and scripts that are used by maintainers and developers. They are not
|
||||
shipped or installed.
|
||||
@ -130,7 +130,7 @@ names for them in UIs.
|
||||
discovered Windows installation might have the identifier `auto-windows` or
|
||||
`auto-windows-10` or so.).
|
||||
|
||||
4. Similar, boot menu entries referring to Apple macOS installations should
|
||||
4. Similar, boot menu entries referring to Apple MacOS X installations should
|
||||
use the identifier `osx` or one that is prefixed with `osx-`. If such an
|
||||
entry is automatically discovered by the boot loader use `auto-osx` as
|
||||
identifier, or `auto-osx-` as prefix for the identifier, see above.
|
||||
|
||||
@ -208,9 +208,9 @@ On EFI, any such images shall be added to the list of valid boot entries.
|
||||
|
||||
Note that these configurations snippets do not need to be the only configuration source for a boot loader. It may extend this list of entries with additional items from other configuration files (for example its own native configuration files) or automatically detected other entries without explicit configuration.
|
||||
|
||||
To make this explicitly clear: this specification is designed with "free" operating systems in mind, starting Windows or macOS is out of focus with these configuration snippets, use boot-loader specific solutions for that. In the text above, if we say "OS" we hence imply "free", i.e. primarily Linux (though this could be easily be extended to the BSDs and whatnot).
|
||||
To make this explicitly clear: this specification is designed with "free" operating systems in mind, starting Windows or MacOS is out of focus with these configuration snippets, use boot-loader specific solutions for that. In the text above, if we say "OS" we hence imply "free", i.e. primarily Linux (though this could be easily be extended to the BSDs and whatnot).
|
||||
|
||||
Note that all paths used in the configuration snippets use a Unix-style "/" as path separator. This needs to be converted to an EFI-style "\\" separator in EFI boot loaders.
|
||||
Note that all paths used in the configuration snippets use a Unix-style "/" as path separator. This needs to be converted to an EFI-style "\" separator in EFI boot loaders.
|
||||
|
||||
|
||||
## Logic
|
||||
|
||||
@ -131,7 +131,7 @@ If you wonder how to detect which of these three modes is currently used, use
|
||||
you are either in legacy or hybrid mode. To distinguish these two cases, run
|
||||
`statfs()` again on `/sys/fs/cgroup/unified/`. If that succeeds and reports
|
||||
`CGROUP2_SUPER_MAGIC` you are in hybrid mode, otherwise not.
|
||||
From a shell, you can check the `Type` in `stat -f /sys/fs/cgroup` and
|
||||
From a shell, you can use check the `Type` in `stat -f /sys/fs/cgroup` and
|
||||
`stat -f /sys/fs/cgroup/unified`.
|
||||
|
||||
## systemd's Unit Types
|
||||
@ -224,7 +224,7 @@ guarantees:
|
||||
cgroups below it. Note however that systemd will do that only in the unified
|
||||
hierarchy (in unified and hybrid mode) as well as on systemd's own private
|
||||
hierarchy (in legacy and hybrid mode). It won't pass ownership of the legacy
|
||||
controller hierarchies. Delegation to less privileged processes is not safe
|
||||
controller hierarchies. Delegation to less privileges processes is not safe
|
||||
in cgroup v1 (as a limitation of the kernel), hence systemd won't facilitate
|
||||
access to it.
|
||||
|
||||
@ -243,7 +243,7 @@ delegated.
|
||||
|
||||
Let's stress one thing: delegation is available on scope and service units
|
||||
only. It's expressly not available on slice units. Why? Because slice units are
|
||||
our *inner* nodes of the cgroup trees and we freely attach services and scopes
|
||||
our *inner* nodes of the cgroup trees and we freely attach service and scopes
|
||||
to them. If we'd allow delegation on slice units then this would mean that
|
||||
both systemd and your own manager would create/delete cgroups below the slice
|
||||
unit and that conflicts with the single-writer rule.
|
||||
|
||||
@ -69,14 +69,6 @@ layout: default
|
||||
```
|
||||
|
||||
- Do not write `foo ()`, write `foo()`.
|
||||
- `else` blocks should generally start on the same line as the closing `}`:
|
||||
```c
|
||||
if (foobar) {
|
||||
find();
|
||||
waldo();
|
||||
} else
|
||||
dont_find_waldo();
|
||||
```
|
||||
|
||||
## Code Organization and Semantics
|
||||
|
||||
@ -143,6 +135,31 @@ layout: default
|
||||
global in global variables, for example data parsed from command lines, see
|
||||
below.
|
||||
|
||||
- You might wonder what kind of common code belongs in `src/shared/` and what
|
||||
belongs in `src/basic/`. The split is like this: anything that is used to
|
||||
implement the public shared object we provide (sd-bus, sd-login, sd-id128,
|
||||
nss-systemd, nss-mymachines, nss-resolve, nss-myhostname, pam_systemd), must
|
||||
be located in `src/basic` (those objects are not allowed to link to
|
||||
libsystemd-shared.so). Conversely, anything which is shared between multiple
|
||||
components and does not need to be in `src/basic/`, should be in
|
||||
`src/shared/`.
|
||||
|
||||
To summarize:
|
||||
|
||||
`src/basic/`
|
||||
- may be used by all code in the tree
|
||||
- may not use any code outside of `src/basic/`
|
||||
|
||||
`src/libsystemd/`
|
||||
- may be used by all code in the tree, except for code in `src/basic/`
|
||||
- may not use any code outside of `src/basic/`, `src/libsystemd/`
|
||||
|
||||
`src/shared/`
|
||||
- may be used by all code in the tree, except for code in `src/basic/`,
|
||||
`src/libsystemd/`, `src/nss-*`, `src/login/pam_systemd.*`, and files under
|
||||
`src/journal/` that end up in `libjournal-client.a` convenience library.
|
||||
- may not use any code outside of `src/basic/`, `src/libsystemd/`, `src/shared/`
|
||||
|
||||
- Our focus is on the GNU libc (glibc), not any other libcs. If other libcs are
|
||||
incompatible with glibc it's on them. However, if there are equivalent POSIX
|
||||
and Linux/GNU-specific APIs, we generally prefer the POSIX APIs. If there
|
||||
@ -151,37 +168,18 @@ layout: default
|
||||
|
||||
## Using C Constructs
|
||||
|
||||
- Allocate local variables where it makes sense: at the top of the block, or at
|
||||
the point where they can be initialized. `r` is typically used for a local
|
||||
state variable, but should almost always be declared at the top of the
|
||||
function.
|
||||
- Preferably allocate local variables on the top of the block:
|
||||
|
||||
```c
|
||||
{
|
||||
uint64_t a, b;
|
||||
int r;
|
||||
int a, b;
|
||||
|
||||
a = frobnicate();
|
||||
b = a + 5;
|
||||
|
||||
r = do_something();
|
||||
if (r < 0)
|
||||
…
|
||||
a = 5;
|
||||
b = a;
|
||||
}
|
||||
```
|
||||
|
||||
- Do not mix function invocations with variable definitions in one line.
|
||||
|
||||
```c
|
||||
{
|
||||
uint64_t x = 7;
|
||||
int a;
|
||||
|
||||
a = foobar();
|
||||
}
|
||||
```
|
||||
|
||||
instead of:
|
||||
- Do not mix function invocations with variable definitions in one line. Wrong:
|
||||
|
||||
```c
|
||||
{
|
||||
@ -190,7 +188,18 @@ layout: default
|
||||
}
|
||||
```
|
||||
|
||||
- Use `goto` for cleaning up, and only use it for that. I.e. you may only jump
|
||||
Right:
|
||||
|
||||
```c
|
||||
{
|
||||
int a;
|
||||
uint64_t x = 7;
|
||||
|
||||
a = foobar();
|
||||
}
|
||||
```
|
||||
|
||||
- Use `goto` for cleaning up, and only use it for that. i.e. you may only jump
|
||||
to the end of a function, and little else. Never jump backwards!
|
||||
|
||||
- To minimize strict aliasing violations, we prefer unions over casting.
|
||||
@ -363,7 +372,8 @@ layout: default
|
||||
`log_oom()` for then printing a short message, but not in "library" code.
|
||||
|
||||
- Avoid fixed-size string buffers, unless you really know the maximum size and
|
||||
that maximum size is small. It is often nicer to use dynamic memory,
|
||||
that maximum size is small. They are a source of errors, since they possibly
|
||||
result in truncated strings. It is often nicer to use dynamic memory,
|
||||
`alloca()` or VLAs. If you do allocate fixed-size strings on the stack, then
|
||||
it is probably only OK if you either use a maximum size such as `LINE_MAX`,
|
||||
or count in detail the maximum size a string can have. (`DECIMAL_STR_MAX` and
|
||||
@ -419,7 +429,7 @@ layout: default
|
||||
limits after which it will refuse operation. It's fine if it is hard-coded
|
||||
(at least initially), but it needs to be there. This is particularly
|
||||
important for objects that unprivileged users may allocate, but also matters
|
||||
for everything else any user may allocate.
|
||||
for everything else any user may allocated.
|
||||
|
||||
## Types
|
||||
|
||||
@ -454,7 +464,7 @@ layout: default
|
||||
|
||||
- Use the bool type for booleans, not integers. One exception: in public
|
||||
headers (i.e those in `src/systemd/sd-*.h`) use integers after all, as `bool`
|
||||
is C99 and in our public APIs we try to stick to C89 (with a few extensions).
|
||||
is C99 and in our public APIs we try to stick to C89 (with a few extension).
|
||||
|
||||
## Deadlocks
|
||||
|
||||
@ -571,18 +581,12 @@ layout: default
|
||||
process, please use `_exit()` instead of `exit()`, so that the exit handlers
|
||||
are not run.
|
||||
|
||||
- We never use the POSIX version of `basename()` (which glibc defines in
|
||||
- We never use the POSIX version of `basename()` (which glibc defines it in
|
||||
`libgen.h`), only the GNU version (which glibc defines in `string.h`). The
|
||||
only reason to include `libgen.h` is because `dirname()` is needed. Every
|
||||
time you need that please immediately undefine `basename()`, and add a
|
||||
comment about it, so that no code ever ends up using the POSIX version!
|
||||
|
||||
- Never use `FILENAME_MAX`. Use `PATH_MAX` instead (for checking maximum size
|
||||
of paths) and `NAME_MAX` (for checking maximum size of filenames).
|
||||
`FILENAME_MAX` is not POSIX, and is a confusingly named alias for `PATH_MAX`
|
||||
on Linux. Note that `NAME_MAX` does not include space for a trailing `NUL`,
|
||||
but `PATH_MAX` does. UNIX FTW!
|
||||
|
||||
## Committing to git
|
||||
|
||||
- Commit message subject lines should be prefixed with an appropriate component
|
||||
|
||||
@ -140,7 +140,7 @@ manager, please consider supporting the following interfaces.
|
||||
`$CREDENTIALS_DIRECTORY` environment variable. If the container managers
|
||||
does this, the credentials passed to the service manager can be propagated
|
||||
to services via `LoadCredential=` (see ...). The container manager can
|
||||
choose any path, but `/run/host/credentials` is recommended.
|
||||
choose any path, but `/run/host/credentials` is recommended."
|
||||
|
||||
## Advanced Integration
|
||||
|
||||
@ -329,19 +329,6 @@ care should be taken to avoid naming conflicts. `systemd` (and in particular
|
||||
sub-directories of `/sys/` writable, but make sure to leave the root of
|
||||
`/sys/` read-only.)
|
||||
|
||||
8. Do not pass the `CAP_AUDIT_CONTROL`, `CAP_AUDIT_READ`, `CAP_AUDIT_WRITE`
|
||||
capabilities to the container, in particular not to those making use of user
|
||||
namespaces. The kernel's audit subsystem is still not virtualized for
|
||||
containers, and passing these credentials is pointless hence, given the
|
||||
actual attempt to make use of the audit subsystem will fail. Note that
|
||||
systemd's audit support is partially conditioned on these capabilities, thus
|
||||
by dropping them you ensure that you get an entirely clean boot, as systemd
|
||||
will make no attempt to use it. If you pass the capabilities to the payload
|
||||
systemd will assume that audit is available and works, and some components
|
||||
will subsequently fail in various ways. Note that once the kernel learnt
|
||||
native support for container-virtualized audit, adding the capability to the
|
||||
container description will automatically make the container payload use it.
|
||||
|
||||
## Fully Unprivileged Container Payload
|
||||
|
||||
First things first, to make this clear: Linux containers are not a security
|
||||
|
||||
@ -1,125 +0,0 @@
|
||||
---
|
||||
title: Package Metadata for Core Files
|
||||
category: Interfaces
|
||||
layout: default
|
||||
---
|
||||
|
||||
# Package Metadata for Core Files
|
||||
|
||||
*Intended audience: hackers working on userspace subsystems that create ELF binaries
|
||||
or parse ELF core files.*
|
||||
|
||||
## Motivation
|
||||
|
||||
ELF binaries get stamped with a unique, build-time generated hex string identifier called
|
||||
`build-id`, [which gets embedded as an ELF note called `.note.gnu.build-id`](https://fedoraproject.org/wiki/Releases/FeatureBuildId).
|
||||
In most cases, this allows to associate a stripped binary with its debugging information.
|
||||
It is used, for example, to dynamically fetch DWARF symbols from a debuginfo server, or
|
||||
to query the local package manager and find out the package metadata or, again, the DWARF
|
||||
symbols or program sources.
|
||||
|
||||
However, this usage of the `build-id` requires either local metadata, usually set up by
|
||||
the package manager, or access to a remote server over the network. Both of those might
|
||||
be unavailable or forbidden.
|
||||
|
||||
Thus it becomes desirable to add additional metadata to a binary at build time, so that
|
||||
`systemd-coredump` and other services analyzing core files are able to extract said
|
||||
metadata simply from the core file itself, without external dependencies.
|
||||
|
||||
## Implementation
|
||||
|
||||
This document will attempt to define a common metadata format specification, so that
|
||||
multiple implementers might use it when building packages, or core file analyzers, and
|
||||
so on.
|
||||
|
||||
The metadata will be embedded in a single, new ELF header section, in a key-value JSON
|
||||
format. Implementers working on parsing core files should not assume a specific list of
|
||||
keys, but parse anything that is included in the section.
|
||||
Implementers working on build tools should strive to use the same key names, for
|
||||
consistency. The most common will be listed here. When corresponding to the content of
|
||||
os-release, the values should match, again for consistency.
|
||||
|
||||
If available, the metadata should also include the debuginfod server URL that can provide
|
||||
the original executable, debuginfo and sources, to further facilitate debugging.
|
||||
|
||||
* Section header
|
||||
|
||||
```
|
||||
SECTION: `.note.package`
|
||||
node-id: `0xcafe1a7e`
|
||||
Owner: `FDO` (FreeDesktop.org)
|
||||
Value: a JSON string with the structure described below
|
||||
```
|
||||
|
||||
* JSON payload
|
||||
|
||||
```json
|
||||
{
|
||||
"type":"rpm", # this provides a namespace for the package+package-version fields
|
||||
"os":"fedora",
|
||||
"osVersion":"33",
|
||||
"name":"coreutils",
|
||||
"version": "4711.0815.fc13.arm32",
|
||||
"osCpe": "cpe:/o:fedoraproject:fedora:33", # A CPE name for the operating system, `CPE_NAME` from os-release is a good default
|
||||
"debugInfoUrl": "https://debuginfod.fedoraproject.org/"
|
||||
}
|
||||
```
|
||||
|
||||
A reference implementations of a [build-time tool is provided](https://github.com/systemd/package-notes)
|
||||
and can be used to generate a linker script, which can then be used at build time via
|
||||
```LDFLAGS="-Wl,-T,/path/to/generated/script"``` to include the note in the binary.
|
||||
|
||||
Generator:
|
||||
```console
|
||||
$ ./generate-package-notes.py --rpm systemd-248~rc2-1.fc34
|
||||
SECTIONS
|
||||
{
|
||||
.note.package : ALIGN(4) {
|
||||
BYTE(0x04) BYTE(0x00) BYTE(0x00) BYTE(0x00) /* Length of Owner including NUL */
|
||||
BYTE(0x64) BYTE(0x00) BYTE(0x00) BYTE(0x00) /* Length of Value including NUL */
|
||||
BYTE(0x7e) BYTE(0x1a) BYTE(0xfe) BYTE(0xca) /* Note ID */
|
||||
BYTE(0x46) BYTE(0x44) BYTE(0x4f) BYTE(0x00) /* Owner: 'FDO\x00' */
|
||||
BYTE(0x7b) BYTE(0x22) BYTE(0x74) BYTE(0x79) /* Value: '{"type":"rpm","name":"systemd","version":"248~rc2-1.fc34","osCpe":"cpe:/o:fedoraproject:fedora:33"}\x00' */
|
||||
BYTE(0x70) BYTE(0x65) BYTE(0x22) BYTE(0x3a)
|
||||
BYTE(0x22) BYTE(0x72) BYTE(0x70) BYTE(0x6d)
|
||||
BYTE(0x22) BYTE(0x2c) BYTE(0x22) BYTE(0x6e)
|
||||
BYTE(0x61) BYTE(0x6d) BYTE(0x65) BYTE(0x22)
|
||||
BYTE(0x3a) BYTE(0x22) BYTE(0x73) BYTE(0x79)
|
||||
BYTE(0x73) BYTE(0x74) BYTE(0x65) BYTE(0x6d)
|
||||
BYTE(0x64) BYTE(0x22) BYTE(0x2c) BYTE(0x22)
|
||||
BYTE(0x76) BYTE(0x65) BYTE(0x72) BYTE(0x73)
|
||||
BYTE(0x69) BYTE(0x6f) BYTE(0x6e) BYTE(0x22)
|
||||
BYTE(0x3a) BYTE(0x22) BYTE(0x32) BYTE(0x34)
|
||||
BYTE(0x38) BYTE(0x7e) BYTE(0x72) BYTE(0x63)
|
||||
BYTE(0x32) BYTE(0x2d) BYTE(0x31) BYTE(0x2e)
|
||||
BYTE(0x66) BYTE(0x63) BYTE(0x33) BYTE(0x34)
|
||||
BYTE(0x22) BYTE(0x2c) BYTE(0x22) BYTE(0x6f)
|
||||
BYTE(0x73) BYTE(0x43) BYTE(0x70) BYTE(0x65)
|
||||
BYTE(0x22) BYTE(0x3a) BYTE(0x22) BYTE(0x63)
|
||||
BYTE(0x70) BYTE(0x65) BYTE(0x3a) BYTE(0x2f)
|
||||
BYTE(0x6f) BYTE(0x3a) BYTE(0x66) BYTE(0x65)
|
||||
BYTE(0x64) BYTE(0x6f) BYTE(0x72) BYTE(0x61)
|
||||
BYTE(0x70) BYTE(0x72) BYTE(0x6f) BYTE(0x6a)
|
||||
BYTE(0x65) BYTE(0x63) BYTE(0x74) BYTE(0x3a)
|
||||
BYTE(0x66) BYTE(0x65) BYTE(0x64) BYTE(0x6f)
|
||||
BYTE(0x72) BYTE(0x61) BYTE(0x3a) BYTE(0x33)
|
||||
BYTE(0x33) BYTE(0x22) BYTE(0x7d) BYTE(0x00)
|
||||
}
|
||||
}
|
||||
INSERT AFTER .note.gnu.build-id;
|
||||
```
|
||||
|
||||
## Well-known keys
|
||||
|
||||
The metadata format is intentionally left open, so that vendors can add their own information.
|
||||
A set of well-known keys is defined here, and hopefully shared among all vendors.
|
||||
|
||||
| Key name | Key description | Example value |
|
||||
|--------------|--------------------------------------------------------------------------|---------------------------------------|
|
||||
| type | The packaging type | rpm |
|
||||
| os | The OS name, typically corresponding to ID in os-release | fedora |
|
||||
| osVersion | The OS version, typically corresponding to VERSION_ID in os-release | 33 |
|
||||
| name | The source package name | coreutils |
|
||||
| version | The source package version | 4711.0815.fc13.arm32 |
|
||||
| osCpe | A CPE name for the OS, typically corresponding to CPE_NAME in os-release | cpe:/o:fedoraproject:fedora:33 |
|
||||
| debugInfoUrl | The debuginfod server url, if available | https://debuginfod.fedoraproject.org/ |
|
||||
@ -62,7 +62,7 @@ Interface](https://systemd.io/BOOT_LOADER_INTERFACE).
|
||||
| `4301d2a6-4e3b-4b2a-bb94-9e0b2c4225ea` | _`/usr/` Partition (Itanium/IA-64)_ | ditto | ditto |
|
||||
| `b933fb22-5c3f-4f91-af90-e2bb0fa50702` | _`/usr/` Partition (RISC-V 32-bit)_ | ditto | ditto |
|
||||
| `beaec34b-8442-439b-a40b-984381ed097d` | _`/usr/` Partition (RISC-V 64-bit)_ | ditto | ditto |
|
||||
| `8f461b0d-14ee-4e81-9aa9-049b6fb97abd` | _`/usr/` Verity Partition (x86)_ | A dm-verity superblock followed by hash data | Similar semantics to root Verity partition, but just for the `/usr/` partition. |
|
||||
| `8f461b0d-14ee-4e81-9aa9-049b6fb97abd` | _`/usr/` Verity Partition (x86)_ | Any native, optionally in LUKS | Similar semantics to root Verity partition, but just for the `/usr/` partition. |
|
||||
| `77ff5f63-e7b6-4633-acf4-1565b864c0e6` | _`/usr/` Verity Partition (x86-64)_ | ditto | ditto |
|
||||
| `c215d751-7bcd-4649-be90-6627490a4c05` | _`/usr/` Verity Partition (32-bit ARM)_ | ditto | ditto |
|
||||
| `6e11a4e7-fbca-4ded-b9e9-e1a512bb664e` | _`/usr/` Verity Partition (64-bit ARM/AArch64)_ | ditto | ditto |
|
||||
@ -73,10 +73,10 @@ Interface](https://systemd.io/BOOT_LOADER_INTERFACE).
|
||||
| `3b8f8425-20e0-4f3b-907f-1a25a76f98e8` | _Server Data Partition_ | Any native, optionally in LUKS | The first partition with this type UUID on the disk containing the root partition is automatically mounted to `/srv/`. If the partition is encrypted with LUKS, the device mapper file will be named `/dev/mapper/srv`. |
|
||||
| `4d21b016-b534-45c2-a9fb-5c16e091fd2d` | _Variable Data Partition_ | Any native, optionally in LUKS | The first partition with this type UUID on the disk containing the root partition is automatically mounted to `/var/` — under the condition that its partition UUID matches the first 128 bit of `HMAC-SHA256(machine-id, 0x4d21b016b53445c2a9fb5c16e091fd2d)` (i.e. the SHA256 HMAC hash of the binary type UUID keyed by the machine ID as read from [`/etc/machine-id`](https://www.freedesktop.org/software/systemd/man/machine-id.html). This special requirement is made because `/var/` (unlike the other partition types listed here) is inherently private to a specific installation and cannot possibly be shared between multiple OS installations on the same disk, and thus should be bound to a specific instance of the OS, identified by its machine ID. If the partition is encrypted with LUKS, the device mapper file will be named `/dev/mapper/var`. |
|
||||
| `7ec6f557-3bc5-4aca-b293-16ef5df639d1` | _Temporary Data Partition_ | Any native, optionally in LUKS | The first partition with this type UUID on the disk containing the root partition is automatically mounted to `/var/tmp/`. If the partition is encrypted with LUKS, the device mapper file will be named `/dev/mapper/tmp`. Note that the intended mount point is indeed `/var/tmp/`, not `/tmp/`. The latter is typically maintained in memory via <tt>tmpfs</tt> and does not require a partition on disk. In some cases it might be desirable to make `/tmp/` persistent too, in which case it is recommended to make it a symlink or bind mount to `/var/tmp/`, thus not requiring its own partition type UUID. |
|
||||
| `0657fd6d-a4ab-43c4-84e5-0933c84b4f4f` | _Swap_ | Swap | All swap partitions on the disk containing the root partition are automatically enabled. This partition type predates the Discoverable Partitions Specification. |
|
||||
| `0fc63daf-8483-4772-8e79-3d69d8477de4` | _Generic Linux Data Partitions_ | Any native, optionally in LUKS | No automatic mounting takes place for other Linux data partitions. This partition type should be used for all partitions that carry Linux file systems. The installer needs to mount them explicitly via entries in <tt>/etc/fstab</tt>. Optionally, these partitions may be encrypted with LUKS. This partition type predates the Discoverable Partitions Specification. |
|
||||
| `0657fd6d-a4ab-43c4-84e5-0933c84b4f4f` | _Swap_ | Swap | All swap partitions on the disk containing the root partition are automatically enabled. |
|
||||
| `c12a7328-f81f-11d2-ba4b-00a0c93ec93b` | _EFI System Partition_ | VFAT | The ESP used for the current boot is automatically mounted to `/efi/` (or `/boot/` as fallback), unless a different partition is mounted there (possibly via `/etc/fstab`, or because the Extended Boot Loader Partition — see below — exists) or the directory is non-empty on the root disk. This partition type is defined by the [UEFI Specification](http://www.uefi.org/specifications). |
|
||||
| `bc13c2ff-59e6-4262-a352-b275fd6f7172` | _Extended Boot Loader Partition_ | Typically VFAT | The Extended Boot Loader Partition (XBOOTLDR) used for the current boot is automatically mounted to <tt>/boot/</tt>, unless a different partition is mounted there (possibly via <tt>/etc/fstab</tt>) or the directory is non-empty on the root disk. This partition type is defined by the [Boot Loader Specification](https://systemd.io/BOOT_LOADER_SPECIFICATION). |
|
||||
| `0fc63daf-8483-4772-8e79-3d69d8477de4` | _Other Data Partitions_ | Any native, optionally in LUKS | No automatic mounting takes place for other Linux data partitions. This partition type should be used for all partitions that carry Linux file systems. The installer needs to mount them explicitly via entries in <tt>/etc/fstab</tt>. Optionally, these partitions may be encrypted with LUKS. |
|
||||
|
||||
Other GPT type IDs might be used on Linux, for example to mark software RAID or
|
||||
LVM partitions. The definitions of those GPT types is outside of the scope of
|
||||
@ -94,48 +94,24 @@ localized.
|
||||
|
||||
## Partition Flags
|
||||
|
||||
This specification defines three GPT partition flags that may be set for the
|
||||
partition types defined above:
|
||||
For the root, `/usr/`, server data, home, variable data, temporary data and swap
|
||||
partitions, the partition flag bit 63 ("*no-auto*") may be used to turn off
|
||||
auto-discovery for the specific partition. If set, the partition will not be
|
||||
automatically mounted or enabled.
|
||||
|
||||
1. For the root, `/usr/`, Verity, home, server data, variable data, temporary data,
|
||||
swap and extended boot loader partitions, the partition flag bit 63
|
||||
("*no-auto*") may be used to turn off auto-discovery for the specific
|
||||
partition. If set, the partition will not be automatically mounted or
|
||||
enabled.
|
||||
For the root, `/usr/`, server data, home, variable data and temporary data
|
||||
partitions, the partition flag bit 60 ("*read-only*") may be used to mark a
|
||||
partition for read-only mounts only. If set, the partition will be mounted
|
||||
read-only instead of read-write. Note that the variable data partition and the
|
||||
temporary data partition will generally not be able to serve their purpose if
|
||||
marked read-only, since by their very definition they are supposed to be
|
||||
mutable. (The home and server data partitions are generally assumed to be
|
||||
mutable as well, but the requirement for them is not equally strong.) Because
|
||||
of that, while the read-only flag is defined and supported, it's almost never a
|
||||
good idea to actually use it for these partitions.
|
||||
|
||||
2. For the root, `/usr/`, Verity, home, server data, variable data, temporary
|
||||
data and extended boot loader partitions, the partition flag bit 60
|
||||
("*read-only*") may be used to mark a partition for read-only mounts only.
|
||||
If set, the partition will be mounted read-only instead of read-write. Note
|
||||
that the variable data partition and the temporary data partition will
|
||||
generally not be able to serve their purpose if marked read-only, since by
|
||||
their very definition they are supposed to be mutable. (The home and server
|
||||
data partitions are generally assumed to be mutable as well, but the
|
||||
requirement for them is not equally strong.) Because of that, while the
|
||||
read-only flag is defined and supported, it's almost never a good idea to
|
||||
actually use it for these partitions. Also note that Verity partitions are
|
||||
by their semantics always read-only. The flag is hence of little effect for
|
||||
them, and it is recommended to set it unconditionally for the Verity
|
||||
partition types.
|
||||
|
||||
3. For the root, `/usr/`, home, server data, variable data, temporary data and
|
||||
extended boot loader partitions, the partition flag bit 59
|
||||
("*grow-file-system*") may be used to mark a partition for automatic growing
|
||||
of the contained file system to the size of the partition when
|
||||
mounted. Tools that automatically mount disk image with a GPT partition
|
||||
table are suggested to implicitly grow the contained file system to the
|
||||
partition size they are contained in. This flag is without effect on
|
||||
partitions marked read-only.
|
||||
|
||||
Note that the first two flag definitions happen to map nicely to the ones used
|
||||
by Microsoft Basic Data Partitions.
|
||||
|
||||
All three of these flags generally affect only auto-discovery and automatic
|
||||
mounting of disk images. If partitions marked with these flags are mounted
|
||||
using low-level commands like
|
||||
[mount(8)](https://man7.org/linux/man-pages/man2/mount.8.html) or directly with
|
||||
[mount(2)](https://man7.org/linux/man-pages/man2/mount.2.html), they typically
|
||||
have no effect.
|
||||
Note that these two flag definitions happen to map nicely to the ones used by
|
||||
Microsoft Basic Data Partitions.
|
||||
|
||||
## Suggested Mode of Operation
|
||||
|
||||
@ -186,14 +162,7 @@ partition is listed in `/etc/fstab` or with `root=` on the kernel command line,
|
||||
it _must_ take precedence over automatically discovered partitions. If a
|
||||
`/home/`, `/usr/`, `/srv/`, `/boot/`, `/var/`, `/var/tmp/`, `/efi/` or `/boot/`
|
||||
directory is found to be populated already in the root partition, the automatic
|
||||
discovery _must not_ mount any discovered file system over it. Optionally, in
|
||||
case of the root, `/usr/` and their Verity partitions instead of strictly
|
||||
mounting the first suitable partition an OS might choose to mount the partition
|
||||
whose label compares the highest according to `strverscmp()` or a similar
|
||||
logic, in order to implement a simple partition-based A/B versioning
|
||||
scheme. The precise rules are left for the implementation to decide, but when
|
||||
in doubt earlier partitions (by their index) should always win over later
|
||||
partitions if the label comparison is inconclusive.
|
||||
discovery _must not_ mount any discovered file system over it.
|
||||
|
||||
A *container* *manager* should automatically discover and mount the root,
|
||||
`/usr/`, `/home/`, `/srv/`, `/var/`, `/var/tmp/` partitions inside a container
|
||||
@ -221,11 +190,11 @@ We are not. `/etc/fstab` always overrides automatic discovery and is indeed
|
||||
mentioned in the specifications. We are simply trying to make the boot and
|
||||
installation processes of Linux a bit more robust and self-descriptive.
|
||||
|
||||
### Why did you only define the root partition for x86, x86-64, ARM, ARM64, ia64, riscv32, riscv64?
|
||||
### Why did you only define the root partition for x86, x86-64, ARM, ARM64, ia64?
|
||||
|
||||
The automatic discovery of the root partition is defined to operate on the disk
|
||||
containing the current EFI System Partition (ESP). Since EFI only exists on
|
||||
x86, x86-64, ia64, ARM and RISC-V so far, we only defined root partition UUIDs for
|
||||
x86, x86-64, ia64, and ARM so far, we only defined root partition UUIDs for
|
||||
these architectures. Should EFI become more common on other architectures, we
|
||||
can define additional UUIDs for them.
|
||||
|
||||
|
||||
@ -198,6 +198,11 @@ All tools:
|
||||
prefixed with `:` in which case the kernel command line option takes
|
||||
precedence, if it is specified as well.
|
||||
|
||||
installed systemd tests:
|
||||
|
||||
* `$SYSTEMD_TEST_DATA` — override the location of test data. This is useful if
|
||||
a test executable is moved to an arbitrary location.
|
||||
|
||||
`nss-systemd`:
|
||||
|
||||
* `$SYSTEMD_NSS_BYPASS_SYNTHETIC=1` — if set, `nss-systemd` won't synthesize
|
||||
@ -283,36 +288,8 @@ All tools:
|
||||
|
||||
`systemd-tmpfiles`:
|
||||
|
||||
* `SYSTEMD_TMPFILES_FORCE_SUBVOL` — if unset, `v`/`q`/`Q` lines will create
|
||||
* `SYSTEMD_TMPFILES_FORCE_SUBVOL` - if unset, `v`/`q`/`Q` lines will create
|
||||
subvolumes only if the OS itself is installed into a subvolume. If set to `1`
|
||||
(or another value interpreted as true), these lines will always create
|
||||
subvolumes if the backing filesystem supports them. If set to `0`, these
|
||||
lines will always create directories.
|
||||
|
||||
`systemd-sysv-generator`:
|
||||
|
||||
* `$SYSTEMD_SYSVINIT_PATH` — Controls where `systemd-sysv-generator` looks for
|
||||
SysV init scripts.
|
||||
|
||||
* `$SYSTEMD_SYSVRCND_PATH` — Controls where `systemd-sysv-generator` looks for
|
||||
SysV init script runlevel link farms.
|
||||
|
||||
systemd tests:
|
||||
|
||||
* `$SYSTEMD_TEST_DATA` — override the location of test data. This is useful if
|
||||
a test executable is moved to an arbitrary location.
|
||||
|
||||
* `$SYSTEMD_TEST_NSS_BUFSIZE` — size of scratch buffers for "reentrant"
|
||||
functions exported by the nss modules.
|
||||
|
||||
fuzzers:
|
||||
|
||||
* `$SYSTEMD_FUZZ_OUTPUT` — A boolean that specifies whether to write output to
|
||||
stdout. Setting to true is useful in manual invocations, since all output is
|
||||
suppressed by default.
|
||||
|
||||
* `$SYSTEMD_FUZZ_RUNS` — The number of times execution should be repeated in
|
||||
manual invocations.
|
||||
|
||||
Note that is may be also useful to set `$SYSTEMD_LOG_LEVEL`, since all logging
|
||||
is suppressed by default.
|
||||
|
||||
@ -10,8 +10,8 @@ We welcome all contributions to systemd. If you notice a bug or a missing
|
||||
feature, please feel invited to fix it, and submit your work as a GitHub Pull
|
||||
Request (PR) at https://github.com/systemd/systemd/pull/new.
|
||||
|
||||
Please make sure to follow our [Coding Style](CODING_STYLE.md) when submitting
|
||||
patches. Also have a look at our [Contribution Guidelines](CONTRIBUTING.md).
|
||||
Please make sure to follow our [Coding Style](CODING_STYLE.md) when submitting patches.
|
||||
Also have a look at our [Contribution Guidelines](CONTRIBUTING.md).
|
||||
|
||||
When adding new functionality, tests should be added. For shared functionality
|
||||
(in `src/basic/` and `src/shared/`) unit tests should be sufficient. The general
|
||||
@ -22,8 +22,8 @@ test executable. For features at a higher level, tests in `src/test/` are very
|
||||
strongly recommended. If that is not possible, integration tests in `test/` are
|
||||
encouraged.
|
||||
|
||||
Please also have a look at our list of [code quality tools](CODE_QUALITY.md) we
|
||||
have setup for systemd, to ensure our codebase stays in good shape.
|
||||
Please also have a look at our list of [code quality tools](CODE_QUALITY.md) we have setup for systemd,
|
||||
to ensure our codebase stays in good shape.
|
||||
|
||||
Please always test your work before submitting a PR. For many of the components
|
||||
of systemd testing is straight-forward as you can simply compile systemd and
|
||||
@ -36,12 +36,12 @@ building clean OS images from an upstream distribution in combination with a
|
||||
fresh build of the project in the local working directory. To make use of this,
|
||||
please acquire `mkosi` from https://github.com/systemd/mkosi first, unless your
|
||||
distribution has packaged it already and you can get it from there. After the
|
||||
tool is installed, symlink the settings file for your distribution of choice
|
||||
from .mkosi/ to mkosi.default in the project root directory (note that the
|
||||
package manager for this distro needs to be installed on your host system).
|
||||
After doing that, it is sufficient to type `mkosi` in the systemd project
|
||||
directory to generate a disk image `image.raw` you can boot either in
|
||||
`systemd-nspawn` or in an UEFI-capable VM:
|
||||
tool is installed, symlink the settings file for your distribution of choice from
|
||||
.mkosi/ to mkosi.default in the project root directory (note that the package
|
||||
manager for this distro needs to be installed on your host system). After doing
|
||||
that, it is sufficient to type `mkosi` in the systemd project directory to
|
||||
generate a disk image `image.raw` you can boot either in `systemd-nspawn` or in
|
||||
an UEFI-capable VM:
|
||||
|
||||
```
|
||||
# mkosi boot
|
||||
@ -106,34 +106,13 @@ And after that, head over to your repo on GitHub and click "Compare & pull reque
|
||||
|
||||
Happy hacking!
|
||||
|
||||
## Templating engines in .in files
|
||||
|
||||
Some source files are generated during build. We use two templating engines:
|
||||
* meson's `configure_file()` directive uses syntax with `@VARIABLE@`.
|
||||
|
||||
See the
|
||||
[Meson docs for `configure_file()`](https://mesonbuild.com/Reference-manual.html#configure_file)
|
||||
for details.
|
||||
|
||||
{% raw %}
|
||||
* most files are rendered using jinja2, with `{{VARIABLE}}` and `{% if … %}`,
|
||||
`{% elif … %}`, `{% else … %}`, `{% endif … %}` blocks. `{# … #}` is a
|
||||
jinja2 comment, i.e. that block will not be visible in the rendered
|
||||
output. `{% raw %} … `{% endraw %}`{{ '{' }}{{ '% endraw %' }}}` creates a block
|
||||
where jinja2 syntax is not interpreted.
|
||||
|
||||
See the
|
||||
[Jinja Template Designer Documentation](https://jinja2docs.readthedocs.io/en/stable/templates.html#synopsis)
|
||||
for details.
|
||||
|
||||
Please note that files for both template engines use the `.in` extension.
|
||||
|
||||
## Developer and release modes
|
||||
|
||||
In the default meson configuration (`-Dmode=developer`), certain checks are
|
||||
enabled that are suitable when hacking on systemd (such as internal
|
||||
documentation consistency checks). Those are not useful when compiling for
|
||||
distribution and can be disabled by setting `-Dmode=release`.
|
||||
documentation consistency checks). Those are not useful when compiling for code
|
||||
for distribution and can be disabled by setting `-Dmode=release`.
|
||||
|
||||
## Fuzzers
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ The systemd journal stores log data in a binary format with several features:
|
||||
This document explains the basic structure of the file format on disk. We are
|
||||
making this available primarily to allow review and provide documentation. Note
|
||||
that the actual implementation in the [systemd
|
||||
codebase](https://github.com/systemd/systemd/blob/main/src/libsystemd/sd-journal/) is the
|
||||
codebase](https://github.com/systemd/systemd/blob/master/src/journal/) is the
|
||||
only ultimately authoritative description of the format, so if this document
|
||||
and the code disagree, the code is right. That said we'll of course try hard to
|
||||
keep this document up-to-date and accurate.
|
||||
@ -106,7 +106,7 @@ ignored on reading. They are currently not used but might be used later on.
|
||||
## Structure
|
||||
|
||||
The file format's data structures are declared in
|
||||
[journal-def.h](https://github.com/systemd/systemd/blob/main/src/libsystemd/sd-journal/journal-def.h).
|
||||
[journal-def.h](https://github.com/systemd/systemd/blob/master/src/journal/journal-def.h).
|
||||
|
||||
The file format begins with a header structure. After the header structure
|
||||
object structures follow. Objects are appended to the end as time
|
||||
|
||||
@ -1,190 +0,0 @@
|
||||
---
|
||||
title: Native Journal Protocol
|
||||
category: Interfaces
|
||||
layout: default
|
||||
---
|
||||
|
||||
# Native Journal Protocol
|
||||
|
||||
`systemd-journald.service` accepts log data via various protocols:
|
||||
|
||||
* Classic RFC3164 BSD syslog via the `/dev/log` socket
|
||||
* STDOUT/STDERR of programs via `StandardOutput=journal` + `StandardError=journal` in service files (both of which are default settings)
|
||||
* Kernel log messages via the `/dev/kmsg` device node
|
||||
* Audit records via the kernel's audit subsystem
|
||||
* Structured log messages via `journald`'s native protocol
|
||||
|
||||
The latter is what this document is about: if you are developing a program and
|
||||
want to pass structured log data to `journald`, it's the Journal's native
|
||||
protocol what you want to use. The systemd project provides the
|
||||
[`sd_journal_print(3)`](https://www.freedesktop.org/software/systemd/man/sd_journal_print.html)
|
||||
API that implements the client side of this protocol. This document explains
|
||||
what this interface does behind the scenes, in case you'd like to implement a
|
||||
client for it yourself, without linking to `libsystemd` — for example because
|
||||
you work in a programming language other than C or otherwise want to avoid the
|
||||
dependency.
|
||||
|
||||
## Basics
|
||||
|
||||
The native protocol of `journald` is spoken on the
|
||||
`/run/systemd/journal/socket` `AF_UNIX`/`SOCK_DGRAM` socket on which
|
||||
`systemd-journald.service` listens. Each datagram sent to this socket
|
||||
encapsulates one journal entry that shall be written. Since datagrams are
|
||||
subject to a size limit and we want to allow large journal entries, datagrams
|
||||
sent over this socket may come in one of two formats:
|
||||
|
||||
* A datagram with the literal journal entry data as payload, without
|
||||
any file descriptors attached.
|
||||
|
||||
* A datagram with an empty payload, but with a single
|
||||
[`memfd`](https://man7.org/linux/man-pages/man2/memfd_create.2.html)
|
||||
file descriptor that contains the literal journal entry data.
|
||||
|
||||
Other combinations are not permitted, i.e. datagrams with both payload and file
|
||||
descriptors, or datagrams with neither, or more than one file descriptor. Such
|
||||
datagrams are ignored. The `memfd` file descriptor should be fully sealed. The
|
||||
binary format in the datagram payload and in the `memfd` memory is
|
||||
identical. Typically a client would attempt to first send the data as datagram
|
||||
payload, but if this fails with an `EMSGSIZE` error it would immediately retry
|
||||
via the `memfd` logic.
|
||||
|
||||
A client probably should bump up the `SO_SNDBUF` socket option of its `AF_UNIX`
|
||||
socket towards `journald` in order to delay blocking I/O as much as possible.
|
||||
|
||||
## Data Format
|
||||
|
||||
Each datagram should consist of a number of environment-like key/value
|
||||
assignments. Unlike environment variable assignments the value may contain NUL
|
||||
bytes however, as well as any other binary data. Keys may not include the `=`
|
||||
or newline characters (or any other control characters or non-ASCII characters)
|
||||
and may not be empty.
|
||||
|
||||
Serialization into the datagram payload or `memfd` is straight-forward: each
|
||||
key/value pair is serialized via one of two methods:
|
||||
|
||||
* The first method inserts a `=` character between key and value, and suffixes
|
||||
the result with `\n` (i.e. the newline character, ASCII code 10). Example: a
|
||||
key `FOO` with a value `BAR` is serialized `F`, `O`, `O`, `=`, `B`, `A`, `R`,
|
||||
`\n`.
|
||||
|
||||
* The second method should be used if the value of a field contains a `\n`
|
||||
byte. In this case, the key name is serialized as is, followed by a `\n`
|
||||
character, followed by a (non-aligned) little-endian unsigned 64bit integer
|
||||
encoding the size of the value, followed by the literal value data, followed by
|
||||
`\n`. Example: a key `FOO` with a value `BAR` may be serialized using this
|
||||
second method as: `F`, `O`, `O`, `\n`, `\003`, `\000`, `\000`, `\000`, `\000`,
|
||||
`\000`, `\000`, `\000`, `B`, `A`, `R`, `\n`.
|
||||
|
||||
If the value of a key/value pair contains a newline character (`\n`), it *must*
|
||||
be serialized using the second method. If it does not, either method is
|
||||
permitted. However, it is generally recommended to use the first method if
|
||||
possible for all key/value pairs where applicable since the generated datagrams
|
||||
are easily recognized and understood by the human eye this way, without any
|
||||
manual binary decoding — which improves the debugging experience a lot, in
|
||||
particular with tools such as `strace` that can show datagram content as text
|
||||
dump. After all, log messages are highly relevant for debugging programs, hence
|
||||
optimizing log traffic for readability without special tools is generally
|
||||
desirable.
|
||||
|
||||
Note that keys that begin with `_` have special semantics in `journald`: they
|
||||
are *trusted* and implicitly appended by `journald` on the receiving
|
||||
side. Clients should not send them — if they do anyway, they will be ignored.
|
||||
|
||||
The most important key/value pair to send is `MESSAGE=`, as that contains the
|
||||
actual log message text. Other relevant keys a client should send in most cases
|
||||
are `PRIORITY=`, `CODE_FILE=`, `CODE_LINE=`, `CODE_FUNC=`, `ERRNO=`. It's
|
||||
recommended to generate these fields implicitly on the client side. For further
|
||||
information see the [relevant documentation of these
|
||||
fields](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html).
|
||||
|
||||
The order in which the fields are serialized within one datagram is undefined
|
||||
and may be freely chosen by the client. The server side might or might not
|
||||
retain or reorder it when writing it to the Journal.
|
||||
|
||||
Some programs might generate multi-line log messages (e.g. a stack unwinder
|
||||
generating log output about a stack trace, with one line for each stack
|
||||
frame). It's highly recommended to send these as a single datagram, using a
|
||||
single `MESSAGE=` field with embedded newline characters between the lines (the
|
||||
second serialization method described above must hence be used for this
|
||||
field). If possible do not split up individual events into multiple Journal
|
||||
events that might then be processed and written into the Journal as separate
|
||||
entries. The Journal toolchain is capable of handling multi-line log entries
|
||||
just fine, and it's generally preferred to have a single set of metadata fields
|
||||
associated with each multi-line message.
|
||||
|
||||
Note that the same keys may be used multiple times within the same datagram,
|
||||
with different values. The Journal supports this and will write such entries to
|
||||
disk without complaining. This is useful for associating a single log entry
|
||||
with multiple suitable objects of the same type at once. This should only be
|
||||
used for specific Journal fields however, where this is expected. Do not use
|
||||
this for Journal fields where this is not expected and where code reasonably
|
||||
assumes per-event uniqueness of the keys. In most cases code that consumes and
|
||||
displays log entries is likely to ignore such non-unique fields or only
|
||||
consider the first of the specified values. Specifically, if a Journal entry
|
||||
contains multiple `MESSAGE=` fields, likely only the first one is
|
||||
displayed. Note that a well-written logging client library thus will not use a
|
||||
plain dictionary for accepting structured log metadata, but rather a data
|
||||
structure that allows non-unique keys, for example an array, or a dictionary
|
||||
that optionally maps to a set of values instead of a single value.
|
||||
|
||||
## Example Datagram
|
||||
|
||||
Here's an encoded message, with various common fields, all encoded according to
|
||||
the first serialization method, with the exception of one, where the value
|
||||
contains a newline character, and thus the second method is needed to be used.
|
||||
|
||||
```
|
||||
PRIORITY=3\n
|
||||
SYSLOG_FACILITY=3\n
|
||||
CODE_FILE=src/foobar.c\n
|
||||
CODE_LINE=77\n
|
||||
BINARY_BLOB\n
|
||||
\004\000\000\000\000\000\000\000xx\nx\n
|
||||
CODE_FUNC=some_func\n
|
||||
SYSLOG_IDENTIFIER=footool\n
|
||||
MESSAGE=Something happened.\n
|
||||
```
|
||||
|
||||
(Lines are broken here after each `\n` to make things more readable. C-style
|
||||
backslash escaping is used.)
|
||||
|
||||
## Automatic Protocol Upgrading
|
||||
|
||||
It might be wise to automatically upgrade to logging via the Journal's native
|
||||
protocol in clients that previously used the BSD syslog protocol. Behaviour in
|
||||
this case should be pretty obvious: try connecting a socket to
|
||||
`/run/systemd/journal/socket` first (on success use the native Journal
|
||||
protocol), and if that fails fall back to `/dev/log` (and use the BSD syslog
|
||||
protocol).
|
||||
|
||||
Programs normally logging to STDERR might also choose to upgrade to native
|
||||
Journal logging in case they are invoked via systemd's service logic, where
|
||||
STDOUT and STDERR are going to the Journal anyway. By preferring the native
|
||||
protocol over STDERR-based logging, structured metadata can be passed along,
|
||||
including priority information and more — which is not available on STDERR
|
||||
based logging. If a program wants to detect automatically whether its STDERR is
|
||||
connected to the Journal's stream transport, look for the `$JOURNAL_STREAM`
|
||||
environment variable. The systemd service logic sets this variable to a
|
||||
colon-separated pair of device and inode number (formatted in decimal ASCII) of
|
||||
the STDERR file descriptor. If the `.st_dev` and `.st_ino` fields of the
|
||||
`struct stat` data returned by `fstat(STDERR_FILENO, …)` match these values a
|
||||
program can be sure its STDERR is connected to the Journal, and may then opt to
|
||||
upgrade to the native Journal protocol via an `AF_UNIX` socket of its own, and
|
||||
cease to use STDERR.
|
||||
|
||||
Why bother with this environment variable check? A service program invoked by
|
||||
systemd might employ shell-style I/O redirection on invoked subprograms, and
|
||||
those should likely not upgrade to the native Journal protocol, but instead
|
||||
continue to use the redirected file descriptors passed to them. Thus, by
|
||||
comparing the device and inode number of the actual STDERR file descriptor with
|
||||
the one the service manager passed, one can make sure that no I/O redirection
|
||||
took place for the current program.
|
||||
|
||||
## Alternative Implementations
|
||||
|
||||
If you are looking for alternative implementations of this protocol (besides
|
||||
systemd's own in `sd_journal_print()`), consider
|
||||
[GLib's](https://gitlab.gnome.org/GNOME/glib/-/blob/master/glib/gmessages.c) or
|
||||
[`dbus-broker`'s](https://github.com/bus1/dbus-broker/blob/main/src/util/log.c).
|
||||
|
||||
And that's already all there is to it.
|
||||
@ -59,14 +59,14 @@ The "portable service" concept ultimately will not provide a fully isolated
|
||||
environment to the payload, like containers mostly intend to. Instead they are
|
||||
from the beginning more alike regular system services, can be controlled with
|
||||
the same tools, are exposed the same way in all infrastructure and so on. Their
|
||||
main difference is that they use a different root directory than the rest of the
|
||||
main difference is that the use a different root directory than the rest of the
|
||||
system. Hence, the intention is not to run code in a different, isolated world
|
||||
from the host — like most containers would do it — but to run it in the same
|
||||
from the host — like most containers would do it —, but to run it in the same
|
||||
world, but with stricter access controls on what the service can see and do.
|
||||
|
||||
As one point of differentiation: as programs run as "portable services" are
|
||||
pretty much regular system services, they won't run as PID 1 (like Docker would
|
||||
do it), but as normal processes. A corollary of that is that they aren't supposed
|
||||
do it), but as normal process. A corollary of that is that they aren't supposed
|
||||
to manage anything in their own environment (such as the network) as the
|
||||
execution environment is mostly shared with the rest of the system.
|
||||
|
||||
@ -77,12 +77,12 @@ focus includes system extensions otherwise sometimes called "super-privileged
|
||||
containers".
|
||||
|
||||
Note that portable services are only available for system services, not for
|
||||
user services (i.e. the functionality cannot be used for the stuff
|
||||
bubblewrap/flatpak is focusing on).
|
||||
user services. i.e. the functionality cannot be used for the stuff
|
||||
bubblewrap/flatpak is focusing on.
|
||||
|
||||
## Mode of Operation
|
||||
|
||||
If you have a portable service image, maybe in a raw disk image called
|
||||
If you have portable service image, maybe in a raw disk image called
|
||||
`foobar_0.7.23.raw`, then attaching the services to the host is as easy as:
|
||||
|
||||
```
|
||||
@ -135,7 +135,7 @@ This command does the following:
|
||||
|
||||
And that's already it.
|
||||
|
||||
Note that the images need to stay around (and in the same location) as long as the
|
||||
Note that the images need to stay around (and the same location) as long as the
|
||||
portable service is attached. If an image is moved, the `RootImage=` line
|
||||
written to the unit drop-in would point to an non-existing place, and break the
|
||||
logic.
|
||||
@ -144,7 +144,7 @@ The `portablectl detach` command executes the reverse operation: it looks for
|
||||
the drop-ins and the unit files associated with the image, and removes them
|
||||
again.
|
||||
|
||||
Note that `portablectl attach` won't enable or start any of the units it copies
|
||||
Note that `portable attach` won't enable or start any of the units it copies
|
||||
out. This still has to take place in a second, separate step. (That said We
|
||||
might add options to do this automatically later on.).
|
||||
|
||||
@ -223,7 +223,7 @@ 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
|
||||
straightforward to define images than can be made use of in a number of
|
||||
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
|
||||
single, unified image that:
|
||||
|
||||
|
||||
@ -9,15 +9,14 @@ layout: default
|
||||
1. Add all items to NEWS
|
||||
2. Update the contributors list in NEWS (`meson compile -C build git-contrib`)
|
||||
3. Update the time and place in NEWS
|
||||
4. Update hwb (`meson compile -C build update-hwdb update-hwdb-autosuspend`)
|
||||
5. [RC1] Update version and library numbers in `meson.build`
|
||||
6. Check dbus docs with `meson compile -C build update-dbus-docs`
|
||||
7. Tag the release: `version=vXXX-rcY && git tag -s "${version}" -m "systemd ${version}"`
|
||||
8. Do `meson compile -C build`
|
||||
9. Make sure that the version string and package string match: `build/systemctl --version`
|
||||
10. Upload the documentation: `meson compile -C build doc-sync`
|
||||
11. [FINAL] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones)
|
||||
12. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate.
|
||||
13. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically.
|
||||
14. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released`)
|
||||
15. [FINAL] Push commits to stable, create an empty -stable branch: `git push systemd-stable origin/master:master origin/master:refs/heads/${version}-stable`, and change the default branch to latest release (https://github.com/systemd/systemd-stable/settings/branches).
|
||||
4. [RC1] Update version and library numbers in `meson.build`
|
||||
5. Check dbus docs with `meson compile -C build update-dbus-docs`
|
||||
6. Tag the release: `version=vXXX-rcY && git tag -s "${version}" -m "systemd ${version}"`
|
||||
7. Do `meson compile -C build`
|
||||
8. Make sure that the version string and package string match: `build/systemctl --version`
|
||||
9. Upload the documentation: `meson compile -C build doc-sync`
|
||||
10. [FINAL] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones)
|
||||
11. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate.
|
||||
12. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically.
|
||||
13. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released`)
|
||||
14. [FINAL] Push commits to stable, create an empty -stable branch: `git push systemd-stable origin/master:master origin/master:refs/heads/${version}-stable`, and change the default branch to latest release (https://github.com/systemd/systemd-stable/settings/branches).
|
||||
|
||||
@ -68,7 +68,6 @@ Most generic unit settings are available for transient units.
|
||||
✓ ConditionKernelCommandLine=
|
||||
✓ ConditionKernelVersion=
|
||||
✓ ConditionArchitecture=
|
||||
✓ ConditionFirmware=
|
||||
✓ ConditionVirtualization=
|
||||
✓ ConditionSecurity=
|
||||
✓ ConditionCapability=
|
||||
|
||||
@ -241,9 +241,8 @@ the artifacts the container manager persistently leaves in the system.
|
||||
| 5 | `tty` group | `systemd` | `/etc/passwd` |
|
||||
| 6…999 | System users | Distributions | `/etc/passwd` |
|
||||
| 1000…60000 | Regular users | Distributions | `/etc/passwd` + LDAP/NIS/… |
|
||||
| 60001…60513 | Human users (homed) | `systemd` | `nss-systemd` |
|
||||
| 60514…60577 | Host users mapped into containers | `systemd` | `systemd-nspawn` |
|
||||
| 60578…61183 | Unused | | |
|
||||
| 60001…60513 | Human Users (homed) | `systemd` | `nss-systemd` |
|
||||
| 60514…61183 | Unused | | |
|
||||
| 61184…65519 | Dynamic service users | `systemd` | `nss-systemd` |
|
||||
| 65520…65533 | Unused | | |
|
||||
| 65534 | `nobody` user | Linux | `/etc/passwd` + `nss-systemd` |
|
||||
|
||||
@ -56,7 +56,7 @@ and only switches back to the shell's UI after the user re-authenticated there.
|
||||
Note that this change in behavior is a good idea in any case, and does not
|
||||
create any dependencies on `systemd-homed` or systemd-specific APIs. It's
|
||||
simply a change of behavior regarding use of existing APIs, not a suggested
|
||||
hook-up to any new APIs.
|
||||
hook-up to a any new API.
|
||||
|
||||
A display manager which supports this kind of out-of-context screen lock
|
||||
operation needs to inform systemd-homed about this so that systemd-homed knows
|
||||
|
||||
@ -19,12 +19,6 @@ expose. Or in other words, it both allows applications to efficiently query
|
||||
user/group records from local services, and allows local subsystems to provide
|
||||
user/group records efficiently to local applications.
|
||||
|
||||
The concepts described here define an IPC interface. Alternatively, user/group
|
||||
records may be dropped in number of drop-in directories as files where they are
|
||||
picked up in addition to the users/groups defined by this IPC logic. See
|
||||
[`nss-systemd(8)`](https://www.freedesktop.org/software/systemd/man/nss-systemd.html)
|
||||
for details.
|
||||
|
||||
This simple API only exposes only three method calls, and requires only a small
|
||||
subset of the Varlink functionality.
|
||||
|
||||
|
||||
@ -87,8 +87,8 @@ hyphen. A size limit is enforced: the minimum of `sysconf(_SC_LOGIN_NAME_MAX)`
|
||||
(typically 256 on Linux; rationale: this is how POSIX suggests to detect the
|
||||
limit), `UT_NAMESIZE-1` (typically 31 on Linux; rationale: names longer than
|
||||
this cannot correctly appear in `utmp`/`wtmp` and create ambiguity with login
|
||||
accounting) and `NAME_MAX` (255 on Linux; rationale: user names typically
|
||||
appear in directory names, i.e. the home directory), thus MIN(256, 31, 255) =
|
||||
accounting) and `FILENAME_MAX` (4096 on Linux; rationale: user names typically
|
||||
appear in directory names, i.e. the home directory), thus MIN(256, 31, 4096) =
|
||||
31.
|
||||
|
||||
Note that these rules are both more strict and more relaxed than all of the
|
||||
|
||||
@ -75,11 +75,7 @@ Records](https://systemd.io/GROUP_RECORD) that encapsulate UNIX groups.
|
||||
|
||||
JSON User Records may be transferred or written to disk in various protocols
|
||||
and formats. To inquire about such records defined on the local system use the
|
||||
[User/Group Lookup API via
|
||||
Varlink](https://systemd.io/USER_GROUP_API). User/group records may also be
|
||||
dropped in number of drop-in directories as files. See
|
||||
[`nss-systemd(8)`](https://www.freedesktop.org/software/systemd/man/nss-systemd.html)
|
||||
for details.
|
||||
[User/Group Lookup API via Varlink](https://systemd.io/USER_GROUP_API).
|
||||
|
||||
## Why JSON?
|
||||
|
||||
@ -628,21 +624,18 @@ user records.
|
||||
`fido2HmacSalt` → An array of objects, implementing authentication support with
|
||||
FIDO2 devices that implement the `hmac-secret` extension. Each element of the
|
||||
array should be an object consisting of three string fields: `credential`,
|
||||
`salt`, `hashedPassword`, and three boolean fields: `up`, `uv` and
|
||||
`clientPin`. The first two string fields shall contain Base64-encoded binary
|
||||
`salt`, `hashedPassword`. The first two shall contain Base64-encoded binary
|
||||
data: the FIDO2 credential ID and the salt value to pass to the FIDO2
|
||||
device. During authentication this salt along with the credential ID is sent to
|
||||
the FIDO2 token, which will HMAC hash the salt with its internal secret key and
|
||||
return the result. This resulting binary key should then be Base64-encoded and
|
||||
used as string password for the further layers of the stack. The
|
||||
`hashedPassword` field of the `fido2HmacSalt` field shall be a UNIX password
|
||||
hash to test this derived secret key against for authentication. The `up`, `uv`
|
||||
and `clientPin` booleans map to the FIDO2 concepts of the same name and encode
|
||||
whether the `uv`/`up` options are enabled during the authentication, and
|
||||
whether a PIN shall be required. It is generally recommended that for each
|
||||
entry in `fido2HmacSalt` there's also a matching one in `fido2HmacCredential`,
|
||||
and vice versa, with the same credential ID, appearing in the same order, but
|
||||
this should not be required by applications processing user records.
|
||||
hash to test this derived secret key against for authentication. It is
|
||||
generally recommended that for each entry in `fido2HmacSalt` there's also a
|
||||
matching one in `fido2HmacCredential`, and vice versa, with the same credential
|
||||
ID, appearing in the same order, but this should not be required by
|
||||
applications processing user records.
|
||||
|
||||
`recoveryKey`→ An array of objects, each defining a recovery key. The object
|
||||
has two mandatory fields: `type` indicates the type of recovery key. The only
|
||||
@ -685,11 +678,11 @@ in full).
|
||||
|
||||
The following fields are defined in this section:
|
||||
|
||||
`matchMachineId` → An array of strings that are formatted 128bit IDs in
|
||||
`matchMachineId` → An array of strings with each a formatted 128bit ID in
|
||||
hex. If any of the specified IDs match the system's local machine ID
|
||||
(i.e. matches `/etc/machine-id`) the fields in this object are honored.
|
||||
|
||||
`matchHostname` → An array of strings that are valid hostnames. If any of
|
||||
`matchHostname` → An array of string with a each a valid hostname. If any of
|
||||
the specified hostnames match the system's local hostname, the fields in this
|
||||
object are honored. If both `matchHostname` and `matchMachineId` are used
|
||||
within the same array entry, the object is honored when either match succeeds,
|
||||
@ -930,15 +923,8 @@ user. If false or unset, authentication this way shall not be attempted.
|
||||
|
||||
`fido2UserPresencePermitted` → a boolean. If set to true allows the receiver to
|
||||
use the FIDO2 "user presence" flag. This is similar to the concept of
|
||||
`pkcs11ProtectedAuthenticationPathPermitted`, but exposes the FIDO2 "up"
|
||||
concept behind it. If false or unset authentication this way shall not be
|
||||
attempted.
|
||||
|
||||
`fido2UserVerificationPermitted` → a boolean. If set to true allows the
|
||||
receiver to use the FIDO2 "user verification" flag. This is similar to the
|
||||
concept of `pkcs11ProtectedAuthenticationPathPermitted`, but exposes the FIDO2
|
||||
"uv" concept behind it. If false or unset authentication this way shall not be
|
||||
attempted.
|
||||
`pkcs11ProtectedAuthenticationPathPermitted`, but exposes the FIDO2 concept
|
||||
behind it. If false or unset authentication this way shall not be attempted.
|
||||
|
||||
## Mapping to `struct passwd` and `struct spwd`
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<footer class="site-footer">
|
||||
<p>© systemd, 2021</p>
|
||||
<p>© systemd, 2020</p>
|
||||
|
||||
<p><a href="https://github.com/systemd/systemd/tree/main/docs">Website source</a></p>
|
||||
<p><a href="https://github.com/systemd/systemd">Website source</a></p>
|
||||
</footer>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
You are looking for the traditional init scripts in {{ SYSTEM_SYSVINIT_PATH }},
|
||||
You are looking for the traditional init scripts in @SYSTEM_SYSVINIT_PATH@,
|
||||
and they are gone?
|
||||
|
||||
Here's an explanation on what's going on:
|
||||
@ -15,7 +15,7 @@ service, respectively. For further details, please refer to
|
||||
systemctl(1).
|
||||
|
||||
Note that traditional init scripts continue to function on a systemd
|
||||
system. An init script {{ SYSTEM_SYSVINIT_PATH }}/foobar is implicitly mapped
|
||||
system. An init script @SYSTEM_SYSVINIT_PATH@/foobar is implicitly mapped
|
||||
into a service unit foobar.service during system initialization.
|
||||
|
||||
Thank you!
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
custom_target(
|
||||
'README',
|
||||
file = configure_file(
|
||||
input : 'README.in',
|
||||
output : 'README',
|
||||
command : [meson_render_jinja2, config_h, '@INPUT@'],
|
||||
capture : true,
|
||||
install : conf.get('HAVE_SYSV_COMPAT') == 1,
|
||||
install_dir : sysvinit_path)
|
||||
configuration : substs)
|
||||
|
||||
if conf.get('HAVE_SYSV_COMPAT') == 1
|
||||
install_data(file,
|
||||
install_dir : sysvinit_path)
|
||||
endif
|
||||
|
||||
@ -2,8 +2,7 @@
|
||||
|
||||
passwd: compat systemd
|
||||
group: compat [SUCCESS=merge] systemd
|
||||
shadow: compat systemd
|
||||
gshadow: files systemd
|
||||
shadow: compat
|
||||
|
||||
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
|
||||
networks: files
|
||||
|
||||
@ -13,7 +13,7 @@ account sufficient pam_unix.so
|
||||
account required pam_permit.so
|
||||
|
||||
-password sufficient pam_systemd_home.so
|
||||
password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok
|
||||
password sufficient pam_unix.so sha512 shadow try_first_pass try_authtok
|
||||
password required pam_deny.so
|
||||
|
||||
-session optional pam_keyinit.so revoke
|
||||
|
||||
3504
hwdb.d/20-OUI.hwdb
3504
hwdb.d/20-OUI.hwdb
File diff suppressed because it is too large
Load Diff
@ -51,9 +51,6 @@ acpi:ATML*:
|
||||
acpi:AUTH*:
|
||||
ID_VENDOR_FROM_DATABASE=AuthenTec
|
||||
|
||||
acpi:BABA*:
|
||||
ID_VENDOR_FROM_DATABASE=Alibaba Co., Ltd.
|
||||
|
||||
acpi:BOOT*:
|
||||
ID_VENDOR_FROM_DATABASE=Coreboot Project
|
||||
|
||||
@ -75,9 +72,6 @@ acpi:CPLM*:
|
||||
acpi:DELL*:
|
||||
ID_VENDOR_FROM_DATABASE=Dell, Inc.
|
||||
|
||||
acpi:DIOO*:
|
||||
ID_VENDOR_FROM_DATABASE=Dioo Microcircuits Co., Ltd. Jiangsu
|
||||
|
||||
acpi:DLGS*:
|
||||
ID_VENDOR_FROM_DATABASE=Dialog Semiconductor PLC
|
||||
|
||||
@ -87,9 +81,6 @@ acpi:DLLK*:
|
||||
acpi:DMST*:
|
||||
ID_VENDOR_FROM_DATABASE=DMIST RESEARCH LTD
|
||||
|
||||
acpi:DNBK*:
|
||||
ID_VENDOR_FROM_DATABASE=Dynabook Inc.
|
||||
|
||||
acpi:DSUO*:
|
||||
ID_VENDOR_FROM_DATABASE=Shenzhen DSO Microelectronics Co.,Ltd.
|
||||
|
||||
@ -102,9 +93,6 @@ acpi:ESSX*:
|
||||
acpi:EXAR*:
|
||||
ID_VENDOR_FROM_DATABASE=Exar Corporation
|
||||
|
||||
acpi:FRMW*:
|
||||
ID_VENDOR_FROM_DATABASE=Framework Computer LLC
|
||||
|
||||
acpi:FRSC*:
|
||||
ID_VENDOR_FROM_DATABASE=Freescale, Inc
|
||||
|
||||
@ -180,9 +168,6 @@ acpi:IP3T*:
|
||||
acpi:IPHI*:
|
||||
ID_VENDOR_FROM_DATABASE=Inphi Corporation
|
||||
|
||||
acpi:JSYS*:
|
||||
ID_VENDOR_FROM_DATABASE=Juniper Systems, Inc.
|
||||
|
||||
acpi:KIOX*:
|
||||
ID_VENDOR_FROM_DATABASE=Kionix, Inc.
|
||||
|
||||
@ -243,12 +228,6 @@ acpi:PHYT*:
|
||||
acpi:PIXA*:
|
||||
ID_VENDOR_FROM_DATABASE=PixArt imaging inc.
|
||||
|
||||
acpi:PNSO*:
|
||||
ID_VENDOR_FROM_DATABASE=Pensando Systems, Inc.
|
||||
|
||||
acpi:PURI*:
|
||||
ID_VENDOR_FROM_DATABASE=Purism SPC
|
||||
|
||||
acpi:QCOM*:
|
||||
ID_VENDOR_FROM_DATABASE=Qualcomm Inc
|
||||
|
||||
@ -264,9 +243,6 @@ acpi:RKCP*:
|
||||
acpi:RZSN*:
|
||||
ID_VENDOR_FROM_DATABASE=Rozsnyó, s.r.o.
|
||||
|
||||
acpi:SECC*:
|
||||
ID_VENDOR_FROM_DATABASE=Seiko Epson Corporation
|
||||
|
||||
acpi:SHRP*:
|
||||
ID_VENDOR_FROM_DATABASE=Sharp Corporation
|
||||
|
||||
@ -616,7 +592,7 @@ acpi:ALO*:
|
||||
ID_VENDOR_FROM_DATABASE=Algolith Inc.
|
||||
|
||||
acpi:ALP*:
|
||||
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
|
||||
ID_VENDOR_FROM_DATABASE=Alps Electric Company Ltd
|
||||
|
||||
acpi:ALR*:
|
||||
ID_VENDOR_FROM_DATABASE=Advanced Logic
|
||||
@ -742,7 +718,7 @@ acpi:APD*:
|
||||
ID_VENDOR_FROM_DATABASE=AppliAdata
|
||||
|
||||
acpi:APE*:
|
||||
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
|
||||
ID_VENDOR_FROM_DATABASE=Alpine Electronics, Inc.
|
||||
|
||||
acpi:APG*:
|
||||
ID_VENDOR_FROM_DATABASE=Horner Electric Inc
|
||||
@ -907,7 +883,7 @@ acpi:AUG*:
|
||||
ID_VENDOR_FROM_DATABASE=August Home, Inc.
|
||||
|
||||
acpi:AUI*:
|
||||
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
|
||||
ID_VENDOR_FROM_DATABASE=Alps Electric Inc
|
||||
|
||||
acpi:AUO*:
|
||||
ID_VENDOR_FROM_DATABASE=AU Optronics
|
||||
@ -1497,9 +1473,6 @@ acpi:CLM*:
|
||||
acpi:CLO*:
|
||||
ID_VENDOR_FROM_DATABASE=Clone Computers
|
||||
|
||||
acpi:CLR*:
|
||||
ID_VENDOR_FROM_DATABASE=Clover Electronics
|
||||
|
||||
acpi:CLT*:
|
||||
ID_VENDOR_FROM_DATABASE=automated computer control systems
|
||||
|
||||
@ -1548,9 +1521,6 @@ acpi:CNB*:
|
||||
acpi:CNC*:
|
||||
ID_VENDOR_FROM_DATABASE=Alvedon Computers Ltd
|
||||
|
||||
acpi:CND*:
|
||||
ID_VENDOR_FROM_DATABASE=Micro-Star Int'l Co., Ltd.
|
||||
|
||||
acpi:CNE*:
|
||||
ID_VENDOR_FROM_DATABASE=Cine-tal
|
||||
|
||||
@ -1650,9 +1620,6 @@ acpi:CRI*:
|
||||
acpi:CRL*:
|
||||
ID_VENDOR_FROM_DATABASE=Creative Logic
|
||||
|
||||
acpi:CRM*:
|
||||
ID_VENDOR_FROM_DATABASE=CORSAIR MEMORY Inc.
|
||||
|
||||
acpi:CRN*:
|
||||
ID_VENDOR_FROM_DATABASE=Cornerstone Imaging
|
||||
|
||||
@ -2004,9 +1971,6 @@ acpi:DLK*:
|
||||
acpi:DLL*:
|
||||
ID_VENDOR_FROM_DATABASE=Dell Inc
|
||||
|
||||
acpi:DLM*:
|
||||
ID_VENDOR_FROM_DATABASE=DLOGIC Ltd.
|
||||
|
||||
acpi:DLO*:
|
||||
ID_VENDOR_FROM_DATABASE=Shenzhen Dlodlo Technologies Co., Ltd.
|
||||
|
||||
@ -2019,9 +1983,6 @@ acpi:DMB*:
|
||||
acpi:DMC*:
|
||||
ID_VENDOR_FROM_DATABASE=Dune Microsystems Corporation
|
||||
|
||||
acpi:DMG*:
|
||||
ID_VENDOR_FROM_DATABASE=Monoprice.Inc
|
||||
|
||||
acpi:DMM*:
|
||||
ID_VENDOR_FROM_DATABASE=Dimond Multimedia Systems Inc
|
||||
|
||||
@ -2394,9 +2355,6 @@ acpi:EMK*:
|
||||
acpi:EMO*:
|
||||
ID_VENDOR_FROM_DATABASE=ELMO COMPANY, LIMITED
|
||||
|
||||
acpi:EMR*:
|
||||
ID_VENDOR_FROM_DATABASE=ICC Intelligent Platforms GmbH
|
||||
|
||||
acpi:EMU*:
|
||||
ID_VENDOR_FROM_DATABASE=Emulex Corporation
|
||||
|
||||
@ -2775,9 +2733,6 @@ acpi:FTW*:
|
||||
acpi:FUJ*:
|
||||
ID_VENDOR_FROM_DATABASE=Fujitsu Ltd
|
||||
|
||||
acpi:FUL*:
|
||||
ID_VENDOR_FROM_DATABASE=Fun Technology Innovation INC.
|
||||
|
||||
acpi:FUN*:
|
||||
ID_VENDOR_FROM_DATABASE=sisel muhendislik
|
||||
|
||||
@ -3084,9 +3039,6 @@ acpi:HHC*:
|
||||
acpi:HHI*:
|
||||
ID_VENDOR_FROM_DATABASE=Fraunhofer Heinrich-Hertz-Institute
|
||||
|
||||
acpi:HHT*:
|
||||
ID_VENDOR_FROM_DATABASE=Hitevision Group
|
||||
|
||||
acpi:HIB*:
|
||||
ID_VENDOR_FROM_DATABASE=Hibino Corporation
|
||||
|
||||
@ -3207,9 +3159,6 @@ acpi:HSL*:
|
||||
acpi:HSM*:
|
||||
ID_VENDOR_FROM_DATABASE=AT&T Microelectronics
|
||||
|
||||
acpi:HSN*:
|
||||
ID_VENDOR_FROM_DATABASE=Hansung Co., Ltd
|
||||
|
||||
acpi:HSP*:
|
||||
ID_VENDOR_FROM_DATABASE=HannStar Display Corp
|
||||
|
||||
@ -3537,9 +3486,6 @@ acpi:INZ*:
|
||||
acpi:IOA*:
|
||||
ID_VENDOR_FROM_DATABASE=CRE Technology Corporation
|
||||
|
||||
acpi:IOC*:
|
||||
ID_VENDOR_FROM_DATABASE=Guangxi Century Innovation Display Electronics Co., Ltd
|
||||
|
||||
acpi:IOD*:
|
||||
ID_VENDOR_FROM_DATABASE=I-O Data Device Inc
|
||||
|
||||
@ -3945,9 +3891,6 @@ acpi:KTK*:
|
||||
acpi:KTN*:
|
||||
ID_VENDOR_FROM_DATABASE=Katron Tech Inc
|
||||
|
||||
acpi:KTS*:
|
||||
ID_VENDOR_FROM_DATABASE=Kyokko Communication System Co., Ltd.
|
||||
|
||||
acpi:KUR*:
|
||||
ID_VENDOR_FROM_DATABASE=Kurta Corporation
|
||||
|
||||
@ -4023,9 +3966,6 @@ acpi:LCM*:
|
||||
acpi:LCN*:
|
||||
ID_VENDOR_FROM_DATABASE=LEXICON
|
||||
|
||||
acpi:LCP*:
|
||||
ID_VENDOR_FROM_DATABASE=Silent Power Electronics GmbH
|
||||
|
||||
acpi:LCS*:
|
||||
ID_VENDOR_FROM_DATABASE=Longshine Electronics Company
|
||||
|
||||
@ -4092,9 +4032,6 @@ acpi:LIN*:
|
||||
acpi:LIP*:
|
||||
ID_VENDOR_FROM_DATABASE=Linked IP GmbH
|
||||
|
||||
acpi:LIS*:
|
||||
ID_VENDOR_FROM_DATABASE=Life is Style Inc.
|
||||
|
||||
acpi:LIT*:
|
||||
ID_VENDOR_FROM_DATABASE=Lithics Silicon Technology
|
||||
|
||||
@ -4803,9 +4740,6 @@ acpi:NAC*:
|
||||
acpi:NAD*:
|
||||
ID_VENDOR_FROM_DATABASE=NAD Electronics
|
||||
|
||||
acpi:NAF*:
|
||||
ID_VENDOR_FROM_DATABASE=NAFASAE INDIA Pvt. Ltd
|
||||
|
||||
acpi:NAK*:
|
||||
ID_VENDOR_FROM_DATABASE=Nakano Engineering Co.,Ltd.
|
||||
|
||||
@ -4908,9 +4842,6 @@ acpi:NGC*:
|
||||
acpi:NGS*:
|
||||
ID_VENDOR_FROM_DATABASE=A D S Exports
|
||||
|
||||
acpi:NHC*:
|
||||
ID_VENDOR_FROM_DATABASE=New H3C Technology Co., Ltd.
|
||||
|
||||
acpi:NHT*:
|
||||
ID_VENDOR_FROM_DATABASE=Vinci Labs
|
||||
|
||||
@ -5055,9 +4986,6 @@ acpi:NVT*:
|
||||
acpi:NWC*:
|
||||
ID_VENDOR_FROM_DATABASE=NW Computer Engineering
|
||||
|
||||
acpi:NWL*:
|
||||
ID_VENDOR_FROM_DATABASE=Newline Interactive Inc.
|
||||
|
||||
acpi:NWP*:
|
||||
ID_VENDOR_FROM_DATABASE=NovaWeb Technologies Inc
|
||||
|
||||
@ -5262,9 +5190,6 @@ acpi:PAC*:
|
||||
acpi:PAD*:
|
||||
ID_VENDOR_FROM_DATABASE=Promotion and Display Technology Ltd.
|
||||
|
||||
acpi:PAE*:
|
||||
ID_VENDOR_FROM_DATABASE=PreSonus Audio Electronics
|
||||
|
||||
acpi:PAK*:
|
||||
ID_VENDOR_FROM_DATABASE=Many CNC System Co., Ltd.
|
||||
|
||||
@ -5421,9 +5346,6 @@ acpi:PIM*:
|
||||
acpi:PIO*:
|
||||
ID_VENDOR_FROM_DATABASE=Pioneer Electronic Corporation
|
||||
|
||||
acpi:PIR*:
|
||||
ID_VENDOR_FROM_DATABASE=Pico Technology Inc.
|
||||
|
||||
acpi:PIS*:
|
||||
ID_VENDOR_FROM_DATABASE=TECNART CO.,LTD.
|
||||
|
||||
@ -6027,9 +5949,6 @@ acpi:SCD*:
|
||||
acpi:SCE*:
|
||||
ID_VENDOR_FROM_DATABASE=Sun Corporation
|
||||
|
||||
acpi:SCG*:
|
||||
ID_VENDOR_FROM_DATABASE=Seco S.p.A.
|
||||
|
||||
acpi:SCH*:
|
||||
ID_VENDOR_FROM_DATABASE=Schlumberger Cards
|
||||
|
||||
@ -6243,9 +6162,6 @@ acpi:SJE*:
|
||||
acpi:SKD*:
|
||||
ID_VENDOR_FROM_DATABASE=Schneider & Koch
|
||||
|
||||
acpi:SKG*:
|
||||
ID_VENDOR_FROM_DATABASE=Shenzhen KTC Technology Group
|
||||
|
||||
acpi:SKI*:
|
||||
ID_VENDOR_FROM_DATABASE=LLC SKTB “SKIT”
|
||||
|
||||
@ -6888,9 +6804,6 @@ acpi:TLV*:
|
||||
acpi:TLX*:
|
||||
ID_VENDOR_FROM_DATABASE=Telxon Corporation
|
||||
|
||||
acpi:TLY*:
|
||||
ID_VENDOR_FROM_DATABASE=Truly Semiconductors Ltd.
|
||||
|
||||
acpi:TMC*:
|
||||
ID_VENDOR_FROM_DATABASE=Techmedia Computer Systems Corporation
|
||||
|
||||
@ -6903,9 +6816,6 @@ acpi:TMI*:
|
||||
acpi:TMM*:
|
||||
ID_VENDOR_FROM_DATABASE=Time Management, Inc.
|
||||
|
||||
acpi:TMO*:
|
||||
ID_VENDOR_FROM_DATABASE=Terumo Corporation
|
||||
|
||||
acpi:TMR*:
|
||||
ID_VENDOR_FROM_DATABASE=Taicom International Inc
|
||||
|
||||
@ -7092,9 +7002,6 @@ acpi:TTL*:
|
||||
acpi:TTP*:
|
||||
ID_VENDOR_FROM_DATABASE=Toshiba Corporation
|
||||
|
||||
acpi:TTR*:
|
||||
ID_VENDOR_FROM_DATABASE=Hubei Century Joint Innovation Technology Co.Ltd
|
||||
|
||||
acpi:TTS*:
|
||||
ID_VENDOR_FROM_DATABASE=TechnoTrend Systemtechnik GmbH
|
||||
|
||||
@ -7311,9 +7218,6 @@ acpi:VAR*:
|
||||
acpi:VAT*:
|
||||
ID_VENDOR_FROM_DATABASE=VADATECH INC
|
||||
|
||||
acpi:VAV*:
|
||||
ID_VENDOR_FROM_DATABASE=aviica
|
||||
|
||||
acpi:VBR*:
|
||||
ID_VENDOR_FROM_DATABASE=VBrick Systems Inc.
|
||||
|
||||
@ -7389,9 +7293,6 @@ acpi:VIM*:
|
||||
acpi:VIN*:
|
||||
ID_VENDOR_FROM_DATABASE=Vine Micros Ltd
|
||||
|
||||
acpi:VIO*:
|
||||
ID_VENDOR_FROM_DATABASE=Zake IP Holdings LLC (3B tech)
|
||||
|
||||
acpi:VIR*:
|
||||
ID_VENDOR_FROM_DATABASE=Visual Interface, Inc
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
--- 20-acpi-vendor.hwdb.base 2021-06-25 14:20:43.637315960 +0200
|
||||
+++ 20-acpi-vendor.hwdb 2021-06-25 14:20:43.655316147 +0200
|
||||
--- 20-acpi-vendor.hwdb.base 2021-02-12 15:42:10.664053745 +0100
|
||||
+++ 20-acpi-vendor.hwdb 2021-02-12 15:42:10.706054210 +0100
|
||||
@@ -3,6 +3,8 @@
|
||||
# Data imported from:
|
||||
# https://uefi.org/uefi-pnp-export
|
||||
@ -19,7 +19,7 @@
|
||||
acpi:AMDI*:
|
||||
ID_VENDOR_FROM_DATABASE=AMD
|
||||
|
||||
@@ -319,6 +318,9 @@
|
||||
@@ -295,6 +294,9 @@
|
||||
acpi:AAA*:
|
||||
ID_VENDOR_FROM_DATABASE=Avolites Ltd
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
acpi:AAE*:
|
||||
ID_VENDOR_FROM_DATABASE=Anatek Electronics Inc.
|
||||
|
||||
@@ -346,6 +348,9 @@
|
||||
@@ -322,6 +324,9 @@
|
||||
acpi:ABO*:
|
||||
ID_VENDOR_FROM_DATABASE=D-Link Systems Inc
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
acpi:ABS*:
|
||||
ID_VENDOR_FROM_DATABASE=Abaco Systems, Inc.
|
||||
|
||||
@@ -391,7 +396,7 @@
|
||||
@@ -367,7 +372,7 @@
|
||||
acpi:ACO*:
|
||||
ID_VENDOR_FROM_DATABASE=Allion Computer Inc.
|
||||
|
||||
@ -48,7 +48,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Aspen Tech Inc
|
||||
|
||||
acpi:ACR*:
|
||||
@@ -664,6 +669,9 @@
|
||||
@@ -640,6 +645,9 @@
|
||||
acpi:AMT*:
|
||||
ID_VENDOR_FROM_DATABASE=AMT International Industry
|
||||
|
||||
@ -58,7 +58,7 @@
|
||||
acpi:AMX*:
|
||||
ID_VENDOR_FROM_DATABASE=AMX LLC
|
||||
|
||||
@@ -712,6 +720,9 @@
|
||||
@@ -688,6 +696,9 @@
|
||||
acpi:AOA*:
|
||||
ID_VENDOR_FROM_DATABASE=AOpen Inc.
|
||||
|
||||
@ -68,7 +68,7 @@
|
||||
acpi:AOE*:
|
||||
ID_VENDOR_FROM_DATABASE=Advanced Optics Electronics, Inc.
|
||||
|
||||
@@ -721,6 +732,9 @@
|
||||
@@ -697,6 +708,9 @@
|
||||
acpi:AOT*:
|
||||
ID_VENDOR_FROM_DATABASE=Alcatel
|
||||
|
||||
@ -78,8 +78,8 @@
|
||||
acpi:APC*:
|
||||
ID_VENDOR_FROM_DATABASE=American Power Conversion
|
||||
|
||||
@@ -896,7 +910,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
|
||||
@@ -872,7 +886,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Alps Electric Inc
|
||||
|
||||
acpi:AUO*:
|
||||
- ID_VENDOR_FROM_DATABASE=DO NOT USE - AUO
|
||||
@ -87,7 +87,7 @@
|
||||
|
||||
acpi:AUR*:
|
||||
ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
|
||||
@@ -976,6 +990,9 @@
|
||||
@@ -952,6 +966,9 @@
|
||||
acpi:AXE*:
|
||||
ID_VENDOR_FROM_DATABASE=Axell Corporation
|
||||
|
||||
@ -97,7 +97,7 @@
|
||||
acpi:AXI*:
|
||||
ID_VENDOR_FROM_DATABASE=American Magnetics
|
||||
|
||||
@@ -1126,6 +1143,9 @@
|
||||
@@ -1102,6 +1119,9 @@
|
||||
acpi:BML*:
|
||||
ID_VENDOR_FROM_DATABASE=BIOMED Lab
|
||||
|
||||
@ -107,7 +107,7 @@
|
||||
acpi:BMS*:
|
||||
ID_VENDOR_FROM_DATABASE=BIOMEDISYS
|
||||
|
||||
@@ -1138,6 +1158,9 @@
|
||||
@@ -1114,6 +1134,9 @@
|
||||
acpi:BNO*:
|
||||
ID_VENDOR_FROM_DATABASE=Bang & Olufsen
|
||||
|
||||
@ -117,7 +117,7 @@
|
||||
acpi:BNS*:
|
||||
ID_VENDOR_FROM_DATABASE=Boulder Nonlinear Systems
|
||||
|
||||
@@ -1381,6 +1404,9 @@
|
||||
@@ -1357,6 +1380,9 @@
|
||||
acpi:CHA*:
|
||||
ID_VENDOR_FROM_DATABASE=Chase Research PLC
|
||||
|
||||
@ -127,7 +127,7 @@
|
||||
acpi:CHD*:
|
||||
ID_VENDOR_FROM_DATABASE=ChangHong Electric Co.,Ltd
|
||||
|
||||
@@ -1543,6 +1569,9 @@
|
||||
@@ -1513,6 +1539,9 @@
|
||||
acpi:COD*:
|
||||
ID_VENDOR_FROM_DATABASE=CODAN Pty. Ltd.
|
||||
|
||||
@ -137,7 +137,7 @@
|
||||
acpi:COI*:
|
||||
ID_VENDOR_FROM_DATABASE=Codec Inc.
|
||||
|
||||
@@ -1952,7 +1981,7 @@
|
||||
@@ -1919,7 +1948,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Dragon Information Technology
|
||||
|
||||
acpi:DJE*:
|
||||
@ -146,7 +146,7 @@
|
||||
|
||||
acpi:DJP*:
|
||||
ID_VENDOR_FROM_DATABASE=Maygay Machines, Ltd
|
||||
@@ -2290,6 +2319,9 @@
|
||||
@@ -2251,6 +2280,9 @@
|
||||
acpi:EIN*:
|
||||
ID_VENDOR_FROM_DATABASE=Elegant Invention
|
||||
|
||||
@ -156,7 +156,7 @@
|
||||
acpi:EKA*:
|
||||
ID_VENDOR_FROM_DATABASE=MagTek Inc.
|
||||
|
||||
@@ -2554,6 +2586,9 @@
|
||||
@@ -2512,6 +2544,9 @@
|
||||
acpi:FCG*:
|
||||
ID_VENDOR_FROM_DATABASE=First International Computer Ltd
|
||||
|
||||
@ -166,7 +166,7 @@
|
||||
acpi:FCS*:
|
||||
ID_VENDOR_FROM_DATABASE=Focus Enhancements, Inc.
|
||||
|
||||
@@ -2930,7 +2965,7 @@
|
||||
@@ -2885,7 +2920,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=General Standards Corporation
|
||||
|
||||
acpi:GSM*:
|
||||
@ -175,7 +175,7 @@
|
||||
|
||||
acpi:GSN*:
|
||||
ID_VENDOR_FROM_DATABASE=Grandstream Networks, Inc.
|
||||
@@ -3031,6 +3066,9 @@
|
||||
@@ -2986,6 +3021,9 @@
|
||||
acpi:HEC*:
|
||||
ID_VENDOR_FROM_DATABASE=Hisense Electric Co., Ltd.
|
||||
|
||||
@ -185,7 +185,7 @@
|
||||
acpi:HEL*:
|
||||
ID_VENDOR_FROM_DATABASE=Hitachi Micro Systems Europe Ltd
|
||||
|
||||
@@ -3163,6 +3201,9 @@
|
||||
@@ -3115,6 +3153,9 @@
|
||||
acpi:HSD*:
|
||||
ID_VENDOR_FROM_DATABASE=HannStar Display Corp
|
||||
|
||||
@ -195,7 +195,7 @@
|
||||
acpi:HSM*:
|
||||
ID_VENDOR_FROM_DATABASE=AT&T Microelectronics
|
||||
|
||||
@@ -3289,6 +3330,9 @@
|
||||
@@ -3238,6 +3279,9 @@
|
||||
acpi:ICI*:
|
||||
ID_VENDOR_FROM_DATABASE=Infotek Communication Inc
|
||||
|
||||
@ -205,7 +205,7 @@
|
||||
acpi:ICM*:
|
||||
ID_VENDOR_FROM_DATABASE=Intracom SA
|
||||
|
||||
@@ -3385,6 +3429,9 @@
|
||||
@@ -3334,6 +3378,9 @@
|
||||
acpi:IKE*:
|
||||
ID_VENDOR_FROM_DATABASE=Ikegami Tsushinki Co. Ltd.
|
||||
|
||||
@ -215,7 +215,7 @@
|
||||
acpi:IKS*:
|
||||
ID_VENDOR_FROM_DATABASE=Ikos Systems Inc
|
||||
|
||||
@@ -3430,6 +3477,9 @@
|
||||
@@ -3379,6 +3426,9 @@
|
||||
acpi:IMT*:
|
||||
ID_VENDOR_FROM_DATABASE=Inmax Technology Corporation
|
||||
|
||||
@ -225,7 +225,7 @@
|
||||
acpi:INA*:
|
||||
ID_VENDOR_FROM_DATABASE=Inventec Corporation
|
||||
|
||||
@@ -3943,6 +3993,9 @@
|
||||
@@ -3886,6 +3936,9 @@
|
||||
acpi:LAN*:
|
||||
ID_VENDOR_FROM_DATABASE=Sodeman Lancom Inc
|
||||
|
||||
@ -235,7 +235,7 @@
|
||||
acpi:LAS*:
|
||||
ID_VENDOR_FROM_DATABASE=LASAT Comm. A/S
|
||||
|
||||
@@ -3991,6 +4044,9 @@
|
||||
@@ -3931,6 +3984,9 @@
|
||||
acpi:LED*:
|
||||
ID_VENDOR_FROM_DATABASE=Long Engineering Design Inc
|
||||
|
||||
@ -245,7 +245,7 @@
|
||||
acpi:LEG*:
|
||||
ID_VENDOR_FROM_DATABASE=Legerity, Inc
|
||||
|
||||
@@ -4006,6 +4062,9 @@
|
||||
@@ -3946,6 +4002,9 @@
|
||||
acpi:LGC*:
|
||||
ID_VENDOR_FROM_DATABASE=Logic Ltd
|
||||
|
||||
@ -255,7 +255,7 @@
|
||||
acpi:LGI*:
|
||||
ID_VENDOR_FROM_DATABASE=Logitech Inc
|
||||
|
||||
@@ -4063,6 +4122,9 @@
|
||||
@@ -4000,6 +4059,9 @@
|
||||
acpi:LND*:
|
||||
ID_VENDOR_FROM_DATABASE=Land Computer Company Ltd
|
||||
|
||||
@ -265,7 +265,7 @@
|
||||
acpi:LNK*:
|
||||
ID_VENDOR_FROM_DATABASE=Link Tech Inc
|
||||
|
||||
@@ -4097,7 +4159,7 @@
|
||||
@@ -4034,7 +4096,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Design Technology
|
||||
|
||||
acpi:LPL*:
|
||||
@ -274,7 +274,7 @@
|
||||
|
||||
acpi:LSC*:
|
||||
ID_VENDOR_FROM_DATABASE=LifeSize Communications
|
||||
@@ -4273,6 +4335,9 @@
|
||||
@@ -4210,6 +4272,9 @@
|
||||
acpi:MCX*:
|
||||
ID_VENDOR_FROM_DATABASE=Millson Custom Solutions Inc.
|
||||
|
||||
@ -284,7 +284,7 @@
|
||||
acpi:MDA*:
|
||||
ID_VENDOR_FROM_DATABASE=Media4 Inc
|
||||
|
||||
@@ -4513,6 +4578,9 @@
|
||||
@@ -4450,6 +4515,9 @@
|
||||
acpi:MOM*:
|
||||
ID_VENDOR_FROM_DATABASE=Momentum Data Systems
|
||||
|
||||
@ -294,7 +294,7 @@
|
||||
acpi:MOS*:
|
||||
ID_VENDOR_FROM_DATABASE=Moses Corporation
|
||||
|
||||
@@ -4744,6 +4812,9 @@
|
||||
@@ -4678,6 +4746,9 @@
|
||||
acpi:NAL*:
|
||||
ID_VENDOR_FROM_DATABASE=Network Alchemy
|
||||
|
||||
@ -304,7 +304,7 @@
|
||||
acpi:NAT*:
|
||||
ID_VENDOR_FROM_DATABASE=NaturalPoint Inc.
|
||||
|
||||
@@ -5260,6 +5331,9 @@
|
||||
@@ -5185,6 +5256,9 @@
|
||||
acpi:PCX*:
|
||||
ID_VENDOR_FROM_DATABASE=PC Xperten
|
||||
|
||||
@ -314,7 +314,7 @@
|
||||
acpi:PDM*:
|
||||
ID_VENDOR_FROM_DATABASE=Psion Dacom Plc.
|
||||
|
||||
@@ -5323,9 +5397,6 @@
|
||||
@@ -5248,9 +5322,6 @@
|
||||
acpi:PHE*:
|
||||
ID_VENDOR_FROM_DATABASE=Philips Medical Systems Boeblingen GmbH
|
||||
|
||||
@ -324,7 +324,7 @@
|
||||
acpi:PHL*:
|
||||
ID_VENDOR_FROM_DATABASE=Philips Consumer Electronics Company
|
||||
|
||||
@@ -5416,9 +5487,6 @@
|
||||
@@ -5338,9 +5409,6 @@
|
||||
acpi:PNL*:
|
||||
ID_VENDOR_FROM_DATABASE=Panelview, Inc.
|
||||
|
||||
@ -334,7 +334,7 @@
|
||||
acpi:PNR*:
|
||||
ID_VENDOR_FROM_DATABASE=Planar Systems, Inc.
|
||||
|
||||
@@ -5554,15 +5622,9 @@
|
||||
@@ -5476,15 +5544,9 @@
|
||||
acpi:PTS*:
|
||||
ID_VENDOR_FROM_DATABASE=Plain Tree Systems Inc
|
||||
|
||||
@ -350,7 +350,7 @@
|
||||
acpi:PVG*:
|
||||
ID_VENDOR_FROM_DATABASE=Proview Global Co., Ltd
|
||||
|
||||
@@ -5878,9 +5940,6 @@
|
||||
@@ -5800,9 +5862,6 @@
|
||||
acpi:RTI*:
|
||||
ID_VENDOR_FROM_DATABASE=Rancho Tech Inc
|
||||
|
||||
@ -360,7 +360,7 @@
|
||||
acpi:RTL*:
|
||||
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Company Ltd
|
||||
|
||||
@@ -6049,9 +6108,6 @@
|
||||
@@ -5968,9 +6027,6 @@
|
||||
acpi:SEE*:
|
||||
ID_VENDOR_FROM_DATABASE=SeeColor Corporation
|
||||
|
||||
@ -370,7 +370,7 @@
|
||||
acpi:SEI*:
|
||||
ID_VENDOR_FROM_DATABASE=Seitz & Associates Inc
|
||||
|
||||
@@ -6514,6 +6570,9 @@
|
||||
@@ -6430,6 +6486,9 @@
|
||||
acpi:SVD*:
|
||||
ID_VENDOR_FROM_DATABASE=SVD Computer
|
||||
|
||||
@ -380,7 +380,7 @@
|
||||
acpi:SVI*:
|
||||
ID_VENDOR_FROM_DATABASE=Sun Microsystems
|
||||
|
||||
@@ -6598,6 +6657,9 @@
|
||||
@@ -6514,6 +6573,9 @@
|
||||
acpi:SZM*:
|
||||
ID_VENDOR_FROM_DATABASE=Shenzhen MTC Co., Ltd
|
||||
|
||||
@ -390,7 +390,7 @@
|
||||
acpi:TAA*:
|
||||
ID_VENDOR_FROM_DATABASE=Tandberg
|
||||
|
||||
@@ -6688,6 +6750,9 @@
|
||||
@@ -6604,6 +6666,9 @@
|
||||
acpi:TDG*:
|
||||
ID_VENDOR_FROM_DATABASE=Six15 Technologies
|
||||
|
||||
@ -400,7 +400,7 @@
|
||||
acpi:TDM*:
|
||||
ID_VENDOR_FROM_DATABASE=Tandem Computer Europe Inc
|
||||
|
||||
@@ -6730,6 +6795,9 @@
|
||||
@@ -6646,6 +6711,9 @@
|
||||
acpi:TEV*:
|
||||
ID_VENDOR_FROM_DATABASE=Televés, S.A.
|
||||
|
||||
@ -410,7 +410,7 @@
|
||||
acpi:TEZ*:
|
||||
ID_VENDOR_FROM_DATABASE=Tech Source Inc.
|
||||
|
||||
@@ -6853,9 +6921,6 @@
|
||||
@@ -6763,9 +6831,6 @@
|
||||
acpi:TNC*:
|
||||
ID_VENDOR_FROM_DATABASE=TNC Industrial Company Ltd
|
||||
|
||||
@ -420,7 +420,7 @@
|
||||
acpi:TNM*:
|
||||
ID_VENDOR_FROM_DATABASE=TECNIMAGEN SA
|
||||
|
||||
@@ -7165,14 +7230,14 @@
|
||||
@@ -7072,14 +7137,14 @@
|
||||
acpi:UNC*:
|
||||
ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
||||
|
||||
@ -441,7 +441,7 @@
|
||||
|
||||
acpi:UNI*:
|
||||
ID_VENDOR_FROM_DATABASE=Uniform Industry Corp.
|
||||
@@ -7207,6 +7272,9 @@
|
||||
@@ -7114,6 +7179,9 @@
|
||||
acpi:USA*:
|
||||
ID_VENDOR_FROM_DATABASE=Utimaco Safeware AG
|
||||
|
||||
@ -451,7 +451,7 @@
|
||||
acpi:USD*:
|
||||
ID_VENDOR_FROM_DATABASE=U.S. Digital Corporation
|
||||
|
||||
@@ -7459,9 +7527,6 @@
|
||||
@@ -7360,9 +7428,6 @@
|
||||
acpi:WAL*:
|
||||
ID_VENDOR_FROM_DATABASE=Wave Access
|
||||
|
||||
@ -461,7 +461,7 @@
|
||||
acpi:WAV*:
|
||||
ID_VENDOR_FROM_DATABASE=Wavephore
|
||||
|
||||
@@ -7586,7 +7651,7 @@
|
||||
@@ -7487,7 +7552,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=WyreStorm Technologies LLC
|
||||
|
||||
acpi:WYS*:
|
||||
@ -470,7 +470,7 @@
|
||||
|
||||
acpi:WYT*:
|
||||
ID_VENDOR_FROM_DATABASE=Wooyoung Image & Information Co.,Ltd.
|
||||
@@ -7600,9 +7665,6 @@
|
||||
@@ -7501,9 +7566,6 @@
|
||||
acpi:XDM*:
|
||||
ID_VENDOR_FROM_DATABASE=XDM Ltd.
|
||||
|
||||
@ -480,7 +480,7 @@
|
||||
acpi:XES*:
|
||||
ID_VENDOR_FROM_DATABASE=Extreme Engineering Solutions, Inc.
|
||||
|
||||
@@ -7633,9 +7695,6 @@
|
||||
@@ -7534,9 +7596,6 @@
|
||||
acpi:XNT*:
|
||||
ID_VENDOR_FROM_DATABASE=XN Technologies, Inc.
|
||||
|
||||
@ -490,7 +490,7 @@
|
||||
acpi:XQU*:
|
||||
ID_VENDOR_FROM_DATABASE=SHANGHAI SVA-DAV ELECTRONICS CO., LTD
|
||||
|
||||
@@ -7702,6 +7761,9 @@
|
||||
@@ -7603,6 +7662,9 @@
|
||||
acpi:ZBX*:
|
||||
ID_VENDOR_FROM_DATABASE=Zebax Technologies
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1721,9 +1721,6 @@ usb:v03F0p6302*
|
||||
usb:v03F0p6317*
|
||||
ID_MODEL_FROM_DATABASE=Color LaserJet 4730mfp
|
||||
|
||||
usb:v03F0p632A*
|
||||
ID_MODEL_FROM_DATABASE=LaserJet M203-M206
|
||||
|
||||
usb:v03F0p6402*
|
||||
ID_MODEL_FROM_DATABASE=PhotoSmart 715 (ptp)
|
||||
|
||||
@ -2288,9 +2285,6 @@ usb:v0402p5661*
|
||||
usb:v0402p5667*
|
||||
ID_MODEL_FROM_DATABASE=M5667 MP3 player
|
||||
|
||||
usb:v0402p8841*
|
||||
ID_MODEL_FROM_DATABASE=Newmine Camera
|
||||
|
||||
usb:v0402p9665*
|
||||
ID_MODEL_FROM_DATABASE=Gateway Webcam
|
||||
|
||||
@ -2342,9 +2336,6 @@ usb:v0403p6015*
|
||||
usb:v0403p601F*
|
||||
ID_MODEL_FROM_DATABASE=Myriad-RF LimeSDR-Mini
|
||||
|
||||
usb:v0403p6EE0*
|
||||
ID_MODEL_FROM_DATABASE=EZO Carrier Board
|
||||
|
||||
usb:v0403p6F70*
|
||||
ID_MODEL_FROM_DATABASE=HB-RF-USB
|
||||
|
||||
@ -2411,18 +2402,12 @@ usb:v0403p9132*
|
||||
usb:v0403p9133*
|
||||
ID_MODEL_FROM_DATABASE=CallerID
|
||||
|
||||
usb:v0403p9134*
|
||||
ID_MODEL_FROM_DATABASE=Virtual keyboard
|
||||
|
||||
usb:v0403p9135*
|
||||
ID_MODEL_FROM_DATABASE=Rotary Pub alarm
|
||||
|
||||
usb:v0403p9136*
|
||||
ID_MODEL_FROM_DATABASE=Pulsecounter
|
||||
|
||||
usb:v0403p9137*
|
||||
ID_MODEL_FROM_DATABASE=Ledbutton interface
|
||||
|
||||
usb:v0403p9E90*
|
||||
ID_MODEL_FROM_DATABASE=Marvell OpenRD Base/Client
|
||||
|
||||
@ -2732,9 +2717,6 @@ usb:v0403pF850*
|
||||
usb:v0403pF918*
|
||||
ID_MODEL_FROM_DATABASE=Ant8 Logic Probe
|
||||
|
||||
usb:v0403pF9D9*
|
||||
ID_MODEL_FROM_DATABASE=Wetterempfanger 147.3kHz
|
||||
|
||||
usb:v0403pFA00*
|
||||
ID_MODEL_FROM_DATABASE=Matrix Orbital USB Serial
|
||||
|
||||
@ -3002,9 +2984,6 @@ usb:v0409p00F7*
|
||||
usb:v0409p011D*
|
||||
ID_MODEL_FROM_DATABASE=e228 Mobile Phone
|
||||
|
||||
usb:v0409p0193*
|
||||
ID_MODEL_FROM_DATABASE=RVT-R Writer
|
||||
|
||||
usb:v0409p0203*
|
||||
ID_MODEL_FROM_DATABASE=HID Audio Controls
|
||||
|
||||
@ -4085,9 +4064,6 @@ usb:v041Ep3232*
|
||||
usb:v041Ep3237*
|
||||
ID_MODEL_FROM_DATABASE=SB X-Fi Surround 5.1 Pro
|
||||
|
||||
usb:v041Ep3241*
|
||||
ID_MODEL_FROM_DATABASE=Sound Blaster JAM
|
||||
|
||||
usb:v041Ep3263*
|
||||
ID_MODEL_FROM_DATABASE=SB X-Fi Surround 5.1 Pro
|
||||
|
||||
@ -4289,9 +4265,6 @@ usb:v041Ep4095*
|
||||
usb:v041Ep4097*
|
||||
ID_MODEL_FROM_DATABASE=Live! Cam Chat HD [VF0700]
|
||||
|
||||
usb:v041Ep4099*
|
||||
ID_MODEL_FROM_DATABASE=Creative VF0800 [RealSense Camera SR300]
|
||||
|
||||
usb:v041Ep4100*
|
||||
ID_MODEL_FROM_DATABASE=Nomad Jukebox 2
|
||||
|
||||
@ -5981,9 +5954,6 @@ usb:v044FpB653*
|
||||
usb:v044FpB654*
|
||||
ID_MODEL_FROM_DATABASE=Ferrari GT Force Feedback Wheel
|
||||
|
||||
usb:v044FpB677*
|
||||
ID_MODEL_FROM_DATABASE=T150 Racing Wheel
|
||||
|
||||
usb:v044FpB678*
|
||||
ID_MODEL_FROM_DATABASE=T.Flight Rudder Pedals
|
||||
|
||||
@ -7568,9 +7538,6 @@ usb:v045Ep09C0*
|
||||
usb:v045Ep0A00*
|
||||
ID_MODEL_FROM_DATABASE=Lumia 950 Dual SIM (RM-1118)
|
||||
|
||||
usb:v045Ep0B12*
|
||||
ID_MODEL_FROM_DATABASE=Xbox Wireless Controller (model 1914)
|
||||
|
||||
usb:v045Ep930A*
|
||||
ID_MODEL_FROM_DATABASE=ISOUSB.SYS Intel 82930 Isochronous IO Test Board
|
||||
|
||||
@ -8024,41 +7991,20 @@ usb:v046Dp0840*
|
||||
usb:v046Dp0843*
|
||||
ID_MODEL_FROM_DATABASE=Webcam C930e
|
||||
|
||||
usb:v046Dp0845*
|
||||
ID_MODEL_FROM_DATABASE=ConferenceCam CC3000e Camera
|
||||
|
||||
usb:v046Dp0846*
|
||||
ID_MODEL_FROM_DATABASE=ConferenceCam CC3000e Speakerphone
|
||||
|
||||
usb:v046Dp084B*
|
||||
ID_MODEL_FROM_DATABASE=ConferenceCam Connect Video
|
||||
|
||||
usb:v046Dp0850*
|
||||
ID_MODEL_FROM_DATABASE=QuickCam Web
|
||||
|
||||
usb:v046Dp0857*
|
||||
ID_MODEL_FROM_DATABASE=Logi Group Speakerphone
|
||||
|
||||
usb:v046Dp085C*
|
||||
ID_MODEL_FROM_DATABASE=C922 Pro Stream Webcam
|
||||
|
||||
usb:v046Dp085E*
|
||||
ID_MODEL_FROM_DATABASE=BRIO Ultra HD Webcam
|
||||
|
||||
usb:v046Dp0870*
|
||||
ID_MODEL_FROM_DATABASE=QuickCam Express
|
||||
|
||||
usb:v046Dp0882*
|
||||
ID_MODEL_FROM_DATABASE=Logi Group Speakerphone
|
||||
|
||||
usb:v046Dp0890*
|
||||
ID_MODEL_FROM_DATABASE=QuickCam Traveler
|
||||
|
||||
usb:v046Dp0892*
|
||||
ID_MODEL_FROM_DATABASE=C920 HD Pro Webcam
|
||||
|
||||
usb:v046Dp0893*
|
||||
ID_MODEL_FROM_DATABASE=StreamCam
|
||||
ID_MODEL_FROM_DATABASE=OrbiCam
|
||||
|
||||
usb:v046Dp0894*
|
||||
ID_MODEL_FROM_DATABASE=CrystalCam
|
||||
@ -8384,9 +8330,6 @@ usb:v046Dp0A5D*
|
||||
usb:v046Dp0A66*
|
||||
ID_MODEL_FROM_DATABASE=[G533 Wireless Headset Dongle]
|
||||
|
||||
usb:v046Dp0A8F*
|
||||
ID_MODEL_FROM_DATABASE=H390 headset with microphone
|
||||
|
||||
usb:v046Dp0B02*
|
||||
ID_MODEL_FROM_DATABASE=C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode)
|
||||
|
||||
@ -8624,9 +8567,6 @@ usb:v046DpC084*
|
||||
usb:v046DpC08B*
|
||||
ID_MODEL_FROM_DATABASE=G502 SE HERO Gaming Mouse
|
||||
|
||||
usb:v046DpC092*
|
||||
ID_MODEL_FROM_DATABASE=G203 LIGHTSYNC Gaming Mouse
|
||||
|
||||
usb:v046DpC101*
|
||||
ID_MODEL_FROM_DATABASE=UltraX Media Remote
|
||||
|
||||
@ -8804,9 +8744,6 @@ usb:v046DpC24F*
|
||||
usb:v046DpC260*
|
||||
ID_MODEL_FROM_DATABASE=G29 Driving Force Racing Wheel [PS4]
|
||||
|
||||
usb:v046DpC262*
|
||||
ID_MODEL_FROM_DATABASE=G920 Driving Force Racing Wheel
|
||||
|
||||
usb:v046DpC281*
|
||||
ID_MODEL_FROM_DATABASE=WingMan Force
|
||||
|
||||
@ -8948,9 +8885,6 @@ usb:v046DpC335*
|
||||
usb:v046DpC33A*
|
||||
ID_MODEL_FROM_DATABASE=G413 Gaming Keyboard
|
||||
|
||||
usb:v046DpC33F*
|
||||
ID_MODEL_FROM_DATABASE=G815 Mechanical Keyboard
|
||||
|
||||
usb:v046DpC401*
|
||||
ID_MODEL_FROM_DATABASE=TrackMan Marble Wheel
|
||||
|
||||
@ -9071,9 +9005,6 @@ usb:v046DpC537*
|
||||
usb:v046DpC53A*
|
||||
ID_MODEL_FROM_DATABASE=PowerPlay Wireless Charging System
|
||||
|
||||
usb:v046DpC53D*
|
||||
ID_MODEL_FROM_DATABASE=G631 Keyboard
|
||||
|
||||
usb:v046DpC603*
|
||||
ID_MODEL_FROM_DATABASE=3Dconnexion Spacemouse Plus XT
|
||||
|
||||
@ -9914,12 +9845,6 @@ usb:v047Dp5002*
|
||||
usb:v047Dp5003*
|
||||
ID_MODEL_FROM_DATABASE=VideoCam
|
||||
|
||||
usb:v047Dp8018*
|
||||
ID_MODEL_FROM_DATABASE=Expert Wireless Trackball Mouse (K72359WW)
|
||||
|
||||
usb:v047Dp8068*
|
||||
ID_MODEL_FROM_DATABASE=Pro Fit Ergo Vertical Wireless Trackball
|
||||
|
||||
usb:v047E*
|
||||
ID_VENDOR_FROM_DATABASE=Agere Systems, Inc. (Lucent)
|
||||
|
||||
@ -9980,9 +9905,6 @@ usb:v047FpC00E*
|
||||
usb:v047FpC03B*
|
||||
ID_MODEL_FROM_DATABASE=HD1
|
||||
|
||||
usb:v047FpCA01*
|
||||
ID_MODEL_FROM_DATABASE=Calisto 800 Series
|
||||
|
||||
usb:v047FpDA60*
|
||||
ID_MODEL_FROM_DATABASE=DA60
|
||||
|
||||
@ -10106,9 +10028,6 @@ usb:v0482p0640*
|
||||
usb:v0482p069B*
|
||||
ID_MODEL_FROM_DATABASE=ECOSYS M2635dn
|
||||
|
||||
usb:v0482p06B4*
|
||||
ID_MODEL_FROM_DATABASE=ECOSYS M5526cdw
|
||||
|
||||
usb:v0483*
|
||||
ID_VENDOR_FROM_DATABASE=STMicroelectronics
|
||||
|
||||
@ -11123,9 +11042,6 @@ usb:v04A7p04BB*
|
||||
usb:v04A7p04CD*
|
||||
ID_MODEL_FROM_DATABASE=Xerox Travel Scanner 150
|
||||
|
||||
usb:v04A7p04EE*
|
||||
ID_MODEL_FROM_DATABASE=Duplex Combo Scanner
|
||||
|
||||
usb:v04A8*
|
||||
ID_VENDOR_FROM_DATABASE=Multivideo Labs, Inc.
|
||||
|
||||
@ -11744,9 +11660,6 @@ usb:v04A9p190E*
|
||||
usb:v04A9p190F*
|
||||
ID_MODEL_FROM_DATABASE=CanoScan LiDE 220
|
||||
|
||||
usb:v04A9p1913*
|
||||
ID_MODEL_FROM_DATABASE=CanoScan LiDE 300
|
||||
|
||||
usb:v04A9p2200*
|
||||
ID_MODEL_FROM_DATABASE=CanoScan LiDE 25
|
||||
|
||||
@ -13130,9 +13043,6 @@ usb:v04A9p32BB*
|
||||
usb:v04A9p32BF*
|
||||
ID_MODEL_FROM_DATABASE=PowerShot SX420 IS
|
||||
|
||||
usb:v04A9p32C0*
|
||||
ID_MODEL_FROM_DATABASE=PowerShot ELPH 190IS
|
||||
|
||||
usb:v04A9p32C1*
|
||||
ID_MODEL_FROM_DATABASE=PowerShot ELPH 180 / IXUS 175
|
||||
|
||||
@ -13361,12 +13271,6 @@ usb:v04B0p040F*
|
||||
usb:v04B0p0410*
|
||||
ID_MODEL_FROM_DATABASE=D200 (ptp)
|
||||
|
||||
usb:v04B0p0411*
|
||||
ID_MODEL_FROM_DATABASE=D80 (mass storage mode)
|
||||
|
||||
usb:v04B0p0412*
|
||||
ID_MODEL_FROM_DATABASE=D80 (MTP/PTP mode)
|
||||
|
||||
usb:v04B0p0413*
|
||||
ID_MODEL_FROM_DATABASE=D40 (mass storage mode)
|
||||
|
||||
@ -13526,9 +13430,6 @@ usb:v04B4p0001*
|
||||
usb:v04B4p0002*
|
||||
ID_MODEL_FROM_DATABASE=CY7C63x0x Thermometer
|
||||
|
||||
usb:v04B4p0008*
|
||||
ID_MODEL_FROM_DATABASE=CDC ACM serial port
|
||||
|
||||
usb:v04B4p0033*
|
||||
ID_MODEL_FROM_DATABASE=Mouse
|
||||
|
||||
@ -13556,9 +13457,6 @@ usb:v04B4p0306*
|
||||
usb:v04B4p0407*
|
||||
ID_MODEL_FROM_DATABASE=Optical Skype Mouse
|
||||
|
||||
usb:v04B4p0818*
|
||||
ID_MODEL_FROM_DATABASE=AE-SMKD92-* [Thumb Keyboard]
|
||||
|
||||
usb:v04B4p0BAD*
|
||||
ID_MODEL_FROM_DATABASE=MetaGeek Wi-Spy
|
||||
|
||||
@ -14249,9 +14147,6 @@ usb:v04B8p1114*
|
||||
usb:v04B8p1129*
|
||||
ID_MODEL_FROM_DATABASE=ET-4750 [WorkForce ET-4750 EcoTank All-in-One]
|
||||
|
||||
usb:v04B8p1168*
|
||||
ID_MODEL_FROM_DATABASE=Workforce WF-7820/7840 Series
|
||||
|
||||
usb:v04B9*
|
||||
ID_VENDOR_FROM_DATABASE=Rainbow Technologies, Inc.
|
||||
|
||||
@ -14603,9 +14498,6 @@ usb:v04C5p125A*
|
||||
usb:v04C5p132E*
|
||||
ID_MODEL_FROM_DATABASE=fi-7160
|
||||
|
||||
usb:v04C5p159F*
|
||||
ID_MODEL_FROM_DATABASE=ScanSnap iX1500
|
||||
|
||||
usb:v04C5p200F*
|
||||
ID_MODEL_FROM_DATABASE=Sigma DP2 (Mass Storage)
|
||||
|
||||
@ -14963,9 +14855,6 @@ usb:v04CBp01D4*
|
||||
usb:v04CBp01D5*
|
||||
ID_MODEL_FROM_DATABASE=FinePix F47 (PTP)
|
||||
|
||||
usb:v04CBp01E7*
|
||||
ID_MODEL_FROM_DATABASE=Fujifilm A850 Digital Camera
|
||||
|
||||
usb:v04CBp01F7*
|
||||
ID_MODEL_FROM_DATABASE=FinePix J250 (PTP)
|
||||
|
||||
@ -14987,9 +14876,6 @@ usb:v04CBp0278*
|
||||
usb:v04CBp02C5*
|
||||
ID_MODEL_FROM_DATABASE=FinePix S9900W Digital Camera (PTP)
|
||||
|
||||
usb:v04CBp02E0*
|
||||
ID_MODEL_FROM_DATABASE=X-T200 Digital Camera
|
||||
|
||||
usb:v04CBp5006*
|
||||
ID_MODEL_FROM_DATABASE=ASK-300
|
||||
|
||||
@ -15257,9 +15143,6 @@ usb:v04D9p0022*
|
||||
usb:v04D9p0348*
|
||||
ID_MODEL_FROM_DATABASE=Keyboard
|
||||
|
||||
usb:v04D9p0407*
|
||||
ID_MODEL_FROM_DATABASE=Keyboard [TEX Shinobi]
|
||||
|
||||
usb:v04D9p048E*
|
||||
ID_MODEL_FROM_DATABASE=Optical Mouse
|
||||
|
||||
@ -15341,9 +15224,6 @@ usb:v04D9pA100*
|
||||
usb:v04D9pA11B*
|
||||
ID_MODEL_FROM_DATABASE=Mouse [MX-3200]
|
||||
|
||||
usb:v04D9pA153*
|
||||
ID_MODEL_FROM_DATABASE=Optical Gaming Mouse
|
||||
|
||||
usb:v04D9pA29F*
|
||||
ID_MODEL_FROM_DATABASE=Microarray fingerprint reader
|
||||
|
||||
@ -15353,21 +15233,6 @@ usb:v04D9pB534*
|
||||
usb:v04D9pE002*
|
||||
ID_MODEL_FROM_DATABASE=MCU
|
||||
|
||||
usb:v04D9pFC2A*
|
||||
ID_MODEL_FROM_DATABASE=Gaming Mouse [Redragon M709]
|
||||
|
||||
usb:v04D9pFC30*
|
||||
ID_MODEL_FROM_DATABASE=Gaming Mouse [Redragon M711]
|
||||
|
||||
usb:v04D9pFC38*
|
||||
ID_MODEL_FROM_DATABASE=Gaming Mouse [Redragon M602-RGB]
|
||||
|
||||
usb:v04D9pFC4D*
|
||||
ID_MODEL_FROM_DATABASE=Gaming Mouse [Redragon M908]
|
||||
|
||||
usb:v04D9pFC55*
|
||||
ID_MODEL_FROM_DATABASE=Venus MMO Gaming Mouse
|
||||
|
||||
usb:v04DA*
|
||||
ID_VENDOR_FROM_DATABASE=Panasonic (Matsushita)
|
||||
|
||||
@ -16883,9 +16748,6 @@ usb:v04F2pB1B4*
|
||||
usb:v04F2pB1B9*
|
||||
ID_MODEL_FROM_DATABASE=Asus Integrated Webcam
|
||||
|
||||
usb:v04F2pB1BB*
|
||||
ID_MODEL_FROM_DATABASE=2.0M UVC WebCam
|
||||
|
||||
usb:v04F2pB1CF*
|
||||
ID_MODEL_FROM_DATABASE=Lenovo Integrated Camera
|
||||
|
||||
@ -16970,12 +16832,6 @@ usb:v04F2pB49F*
|
||||
usb:v04F2pB563*
|
||||
ID_MODEL_FROM_DATABASE=Integrated Camera
|
||||
|
||||
usb:v04F2pB5AB*
|
||||
ID_MODEL_FROM_DATABASE=Integrated Camera
|
||||
|
||||
usb:v04F2pB5AC*
|
||||
ID_MODEL_FROM_DATABASE=Integrated IR Camera
|
||||
|
||||
usb:v04F2pB5CE*
|
||||
ID_MODEL_FROM_DATABASE=Integrated Camera
|
||||
|
||||
@ -17039,9 +16895,6 @@ usb:v04F3p0381*
|
||||
usb:v04F3p04A0*
|
||||
ID_MODEL_FROM_DATABASE=Dream Cheeky Stress/Panic Button
|
||||
|
||||
usb:v04F3p0C28*
|
||||
ID_MODEL_FROM_DATABASE=fingerprint sensor [FeinTech FPS00200]
|
||||
|
||||
usb:v04F3p2234*
|
||||
ID_MODEL_FROM_DATABASE=Touchscreen
|
||||
|
||||
@ -17174,12 +17027,6 @@ usb:v04F9p002C*
|
||||
usb:v04F9p002D*
|
||||
ID_MODEL_FROM_DATABASE=Printer
|
||||
|
||||
usb:v04F9p0037*
|
||||
ID_MODEL_FROM_DATABASE=HL-3040CN series
|
||||
|
||||
usb:v04F9p0038*
|
||||
ID_MODEL_FROM_DATABASE=HL-3070CW series
|
||||
|
||||
usb:v04F9p0039*
|
||||
ID_MODEL_FROM_DATABASE=HL-5340 series
|
||||
|
||||
@ -17720,9 +17567,6 @@ usb:v04F9p01EC*
|
||||
usb:v04F9p01F4*
|
||||
ID_MODEL_FROM_DATABASE=MFC-5890CN
|
||||
|
||||
usb:v04F9p0204*
|
||||
ID_MODEL_FROM_DATABASE=DCP-165C
|
||||
|
||||
usb:v04F9p020A*
|
||||
ID_MODEL_FROM_DATABASE=MFC-8670DN
|
||||
|
||||
@ -18557,45 +18401,6 @@ usb:v04F9p03BD*
|
||||
usb:v04F9p03FD*
|
||||
ID_MODEL_FROM_DATABASE=ADS-2700W
|
||||
|
||||
usb:v04F9p043F*
|
||||
ID_MODEL_FROM_DATABASE=MFC-L3770CDW
|
||||
|
||||
usb:v04F9p0440*
|
||||
ID_MODEL_FROM_DATABASE=MFC-9350CDW
|
||||
|
||||
usb:v04F9p0441*
|
||||
ID_MODEL_FROM_DATABASE=MFC-L3750CDW
|
||||
|
||||
usb:v04F9p0442*
|
||||
ID_MODEL_FROM_DATABASE=MFC-L3745CDW
|
||||
|
||||
usb:v04F9p0443*
|
||||
ID_MODEL_FROM_DATABASE=MFC-L3735CDN
|
||||
|
||||
usb:v04F9p0444*
|
||||
ID_MODEL_FROM_DATABASE=MFC-9150CDN
|
||||
|
||||
usb:v04F9p0445*
|
||||
ID_MODEL_FROM_DATABASE=MFC-L3730CDN
|
||||
|
||||
usb:v04F9p0446*
|
||||
ID_MODEL_FROM_DATABASE=MFC-L3710CW
|
||||
|
||||
usb:v04F9p0447*
|
||||
ID_MODEL_FROM_DATABASE=DCP-9030CDN
|
||||
|
||||
usb:v04F9p0448*
|
||||
ID_MODEL_FROM_DATABASE=DCP-L3550CDW
|
||||
|
||||
usb:v04F9p044A*
|
||||
ID_MODEL_FROM_DATABASE=HL-L3290CDW
|
||||
|
||||
usb:v04F9p044B*
|
||||
ID_MODEL_FROM_DATABASE=DCP-L3510CDW
|
||||
|
||||
usb:v04F9p044C*
|
||||
ID_MODEL_FROM_DATABASE=DCP-L3551CDW
|
||||
|
||||
usb:v04F9p1000*
|
||||
ID_MODEL_FROM_DATABASE=Printer
|
||||
|
||||
@ -18668,9 +18473,6 @@ usb:v04F9p2061*
|
||||
usb:v04F9p2064*
|
||||
ID_MODEL_FROM_DATABASE=PT-P700 P-touch Label Printer RemovableDisk
|
||||
|
||||
usb:v04F9p2074*
|
||||
ID_MODEL_FROM_DATABASE=PT-D600 P-touch Label Printer
|
||||
|
||||
usb:v04F9p209B*
|
||||
ID_MODEL_FROM_DATABASE=QL-800 Label Printer
|
||||
|
||||
@ -19452,7 +19254,7 @@ usb:v0525pA4A4*
|
||||
ID_MODEL_FROM_DATABASE=Linux-USB user-mode bulk source/sink
|
||||
|
||||
usb:v0525pA4A5*
|
||||
ID_MODEL_FROM_DATABASE=Linux-USB File-backed Storage Gadget
|
||||
ID_MODEL_FROM_DATABASE=Pocketbook Pro 903 / Mobius 2 Action Cam / xDuoo X3 / PocketBook Pro 602
|
||||
|
||||
usb:v0525pA4A6*
|
||||
ID_MODEL_FROM_DATABASE=Linux-USB Serial Gadget
|
||||
@ -19469,12 +19271,6 @@ usb:v0525pA4A9*
|
||||
usb:v0525pA4AA*
|
||||
ID_MODEL_FROM_DATABASE=Linux-USB CDC Composite Gadge (Ethernet and ACM)
|
||||
|
||||
usb:v0525pA4AB*
|
||||
ID_MODEL_FROM_DATABASE=Linux-USB Multifunction Composite Gadget
|
||||
|
||||
usb:v0525pA4AC*
|
||||
ID_MODEL_FROM_DATABASE=Linux-USB HID Gadget
|
||||
|
||||
usb:v0526*
|
||||
ID_VENDOR_FROM_DATABASE=Temic MHS S.A.
|
||||
|
||||
@ -20462,9 +20258,6 @@ usb:v054Cp06BB*
|
||||
usb:v054Cp06C3*
|
||||
ID_MODEL_FROM_DATABASE=RC-S380
|
||||
|
||||
usb:v054Cp07C3*
|
||||
ID_MODEL_FROM_DATABASE=ILCE-6000 (aka Alpha-6000) in Mass Storage mode
|
||||
|
||||
usb:v054Cp07C4*
|
||||
ID_MODEL_FROM_DATABASE=ILCE-6000 (aka Alpha-6000) in Mass Storage mode
|
||||
|
||||
@ -20474,9 +20267,6 @@ usb:v054Cp082F*
|
||||
usb:v054Cp0847*
|
||||
ID_MODEL_FROM_DATABASE=WG-C10 Portable Wireless Server
|
||||
|
||||
usb:v054Cp0877*
|
||||
ID_MODEL_FROM_DATABASE=UP-D898/X898 series
|
||||
|
||||
usb:v054Cp0884*
|
||||
ID_MODEL_FROM_DATABASE=MDR-ZX770BN [Wireless Noise Canceling Stereo Headset]
|
||||
|
||||
@ -20510,24 +20300,12 @@ usb:v054Cp0C03*
|
||||
usb:v054Cp0C34*
|
||||
ID_MODEL_FROM_DATABASE=ILCE-7M3 [A7III] in PC Remote mode
|
||||
|
||||
usb:v054Cp0C7F*
|
||||
ID_MODEL_FROM_DATABASE=WH-CH700N [Wireless Noise-Canceling Headphones]
|
||||
|
||||
usb:v054Cp0CD3*
|
||||
ID_MODEL_FROM_DATABASE=WH-1000XM3 [Wireless Noise-Canceling Headphones]
|
||||
|
||||
usb:v054Cp0CDA*
|
||||
ID_MODEL_FROM_DATABASE=PlayStation Classic controller
|
||||
|
||||
usb:v054Cp0CE0*
|
||||
ID_MODEL_FROM_DATABASE=WF-1000XM3 [Wireless Noise-Canceling Headphones]
|
||||
|
||||
usb:v054Cp0CF0*
|
||||
ID_MODEL_FROM_DATABASE=MRW-G1
|
||||
|
||||
usb:v054Cp0D58*
|
||||
ID_MODEL_FROM_DATABASE=WH-1000XM4 [Wireless Noise-Canceling Headphones]
|
||||
|
||||
usb:v054Cp1000*
|
||||
ID_MODEL_FROM_DATABASE=Wireless Buzz! Receiver
|
||||
|
||||
@ -20660,9 +20438,6 @@ usb:v0557p2221*
|
||||
usb:v0557p2404*
|
||||
ID_MODEL_FROM_DATABASE=4-port switch
|
||||
|
||||
usb:v0557p2419*
|
||||
ID_MODEL_FROM_DATABASE=Virtual mouse/keyboard device
|
||||
|
||||
usb:v0557p2600*
|
||||
ID_MODEL_FROM_DATABASE=IDE Bridge
|
||||
|
||||
@ -21653,45 +21428,9 @@ usb:v056Dp0002*
|
||||
usb:v056Dp0003*
|
||||
ID_MODEL_FROM_DATABASE=Device Bay Controller
|
||||
|
||||
usb:v056Dp4000*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV3237
|
||||
|
||||
usb:v056Dp4001*
|
||||
ID_MODEL_FROM_DATABASE=Monitor
|
||||
|
||||
usb:v056Dp4002*
|
||||
ID_MODEL_FROM_DATABASE=USB HID Monitor
|
||||
|
||||
usb:v056Dp4014*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV2750
|
||||
|
||||
usb:v056Dp4026*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV2451
|
||||
|
||||
usb:v056Dp4027*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV2456
|
||||
|
||||
usb:v056Dp4036*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV2785
|
||||
|
||||
usb:v056Dp4037*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV3285
|
||||
|
||||
usb:v056Dp4044*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV2457
|
||||
|
||||
usb:v056Dp4059*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV2760
|
||||
|
||||
usb:v056Dp405B*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV2460
|
||||
|
||||
usb:v056Dp405F*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV2795
|
||||
|
||||
usb:v056Dp4065*
|
||||
ID_MODEL_FROM_DATABASE=FlexScan EV3895
|
||||
|
||||
usb:v056E*
|
||||
ID_VENDOR_FROM_DATABASE=Elecom Co., Ltd
|
||||
|
||||
@ -23993,9 +23732,6 @@ usb:v05A3p9320*
|
||||
usb:v05A3p9331*
|
||||
ID_MODEL_FROM_DATABASE=Camera
|
||||
|
||||
usb:v05A3p9332*
|
||||
ID_MODEL_FROM_DATABASE=Camera - 1080p
|
||||
|
||||
usb:v05A3p9422*
|
||||
ID_MODEL_FROM_DATABASE=Camera
|
||||
|
||||
@ -24656,9 +24392,6 @@ usb:v05ACp8205*
|
||||
usb:v05ACp8206*
|
||||
ID_MODEL_FROM_DATABASE=Bluetooth HCI
|
||||
|
||||
usb:v05ACp8207*
|
||||
ID_MODEL_FROM_DATABASE=Built-in Bluetooth
|
||||
|
||||
usb:v05ACp820A*
|
||||
ID_MODEL_FROM_DATABASE=Bluetooth HID Keyboard
|
||||
|
||||
@ -24689,9 +24422,6 @@ usb:v05ACp821A*
|
||||
usb:v05ACp821F*
|
||||
ID_MODEL_FROM_DATABASE=Built-in Bluetooth 2.0+EDR HCI
|
||||
|
||||
usb:v05ACp8233*
|
||||
ID_MODEL_FROM_DATABASE=iBridge
|
||||
|
||||
usb:v05ACp8240*
|
||||
ID_MODEL_FROM_DATABASE=Built-in IR Receiver
|
||||
|
||||
@ -26312,9 +26042,6 @@ usb:v05E3pF103*
|
||||
usb:v05E3pF104*
|
||||
ID_MODEL_FROM_DATABASE=VX7012 TV Box
|
||||
|
||||
usb:v05E3pF12A*
|
||||
ID_MODEL_FROM_DATABASE=Digital Microscope
|
||||
|
||||
usb:v05E3pFD21*
|
||||
ID_MODEL_FROM_DATABASE=3M TL20 Temperature Logger
|
||||
|
||||
@ -26588,9 +26315,6 @@ usb:v0603p00F1*
|
||||
usb:v0603p00F2*
|
||||
ID_MODEL_FROM_DATABASE=Keyboard (Labtec Ultra Flat Keyboard)
|
||||
|
||||
usb:v0603p1002*
|
||||
ID_MODEL_FROM_DATABASE=Mobius actioncam (webcam mode)
|
||||
|
||||
usb:v0603p6871*
|
||||
ID_MODEL_FROM_DATABASE=Mouse
|
||||
|
||||
@ -28691,24 +28415,6 @@ usb:v06BCp015E*
|
||||
usb:v06BCp01C9*
|
||||
ID_MODEL_FROM_DATABASE=OKI B430 Mono Printer
|
||||
|
||||
usb:v06BCp01DB*
|
||||
ID_MODEL_FROM_DATABASE=MC860 Multifunction Printer
|
||||
|
||||
usb:v06BCp01DC*
|
||||
ID_MODEL_FROM_DATABASE=MC860 Multifunction Printer
|
||||
|
||||
usb:v06BCp01DD*
|
||||
ID_MODEL_FROM_DATABASE=MC860 Multifunction Printer
|
||||
|
||||
usb:v06BCp01DE*
|
||||
ID_MODEL_FROM_DATABASE=MC860 Multifunction Printer
|
||||
|
||||
usb:v06BCp01DF*
|
||||
ID_MODEL_FROM_DATABASE=CX2633 Multifunction Printer
|
||||
|
||||
usb:v06BCp01E0*
|
||||
ID_MODEL_FROM_DATABASE=ES8460 Multifunction Printer
|
||||
|
||||
usb:v06BCp020B*
|
||||
ID_MODEL_FROM_DATABASE=OKI ES4140 Mono Printer
|
||||
|
||||
@ -54471,10 +54177,10 @@ usb:v15C2pFFDC*
|
||||
ID_MODEL_FROM_DATABASE=iMON PAD Remote Controller
|
||||
|
||||
usb:v15C5*
|
||||
ID_VENDOR_FROM_DATABASE=Pressure Profile Systems, Inc.
|
||||
ID_VENDOR_FROM_DATABASE=Advance Multimedia Internet Technology Inc. (AMIT)
|
||||
|
||||
usb:v15C5p0008*
|
||||
ID_MODEL_FROM_DATABASE=Advance Multimedia Internet Technology Inc. (AMIT) WL532U 802.11g Adapter
|
||||
ID_MODEL_FROM_DATABASE=WL532U 802.11g Adapter
|
||||
|
||||
usb:v15C6*
|
||||
ID_VENDOR_FROM_DATABASE=Laboratoires MXM
|
||||
@ -61304,24 +61010,6 @@ usb:v1DE1pC101*
|
||||
usb:v1DE6*
|
||||
ID_VENDOR_FROM_DATABASE=MICRORISC s.r.o.
|
||||
|
||||
usb:v1DF7*
|
||||
ID_VENDOR_FROM_DATABASE=SDRplay
|
||||
|
||||
usb:v1DF7p2500*
|
||||
ID_MODEL_FROM_DATABASE=RSP1
|
||||
|
||||
usb:v1DF7p3000*
|
||||
ID_MODEL_FROM_DATABASE=RSP1a
|
||||
|
||||
usb:v1DF7p3010*
|
||||
ID_MODEL_FROM_DATABASE=RSP2/RSP2pro
|
||||
|
||||
usb:v1DF7p3020*
|
||||
ID_MODEL_FROM_DATABASE=RSPduo
|
||||
|
||||
usb:v1DF7p3030*
|
||||
ID_MODEL_FROM_DATABASE=RSPdx
|
||||
|
||||
usb:v1E0E*
|
||||
ID_VENDOR_FROM_DATABASE=Qualcomm / Option
|
||||
|
||||
@ -67649,15 +67337,6 @@ usb:v3344*
|
||||
usb:v3344p3744*
|
||||
ID_MODEL_FROM_DATABASE=OEM PC Remote
|
||||
|
||||
usb:v3384*
|
||||
ID_VENDOR_FROM_DATABASE=System76
|
||||
|
||||
usb:v3384p0000*
|
||||
ID_MODEL_FROM_DATABASE=Thelio Io (thelio-io)
|
||||
|
||||
usb:v3384p0001*
|
||||
ID_MODEL_FROM_DATABASE=Launch Configurable Keyboard (launch_1)
|
||||
|
||||
usb:v348F*
|
||||
ID_VENDOR_FROM_DATABASE=ISY
|
||||
|
||||
|
||||
@ -5,6 +5,27 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
# This file has been generated using fprint-list-udev-hwdb with all drivers enabled
|
||||
|
||||
# Supported by libfprint driver upektc_img
|
||||
usb:v147Ep2016*
|
||||
usb:v147Ep2020*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vfs5011
|
||||
usb:v138Ap0010*
|
||||
usb:v138Ap0011*
|
||||
usb:v138Ap0015*
|
||||
usb:v138Ap0017*
|
||||
usb:v138Ap0018*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver aes3500
|
||||
usb:v08FFp5731*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver aes4000
|
||||
usb:v5501p08FF*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver aes1610
|
||||
usb:v08FFp1600*
|
||||
ID_AUTOSUSPEND=1
|
||||
@ -29,16 +50,6 @@ usb:v08FFp168E*
|
||||
usb:v08FFp168F*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver aes2501
|
||||
usb:v08FFp2500*
|
||||
usb:v08FFp2580*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver aes2550
|
||||
usb:v08FFp2550*
|
||||
usb:v08FFp2810*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver aes2660
|
||||
usb:v08FFp2660*
|
||||
usb:v08FFp2680*
|
||||
@ -60,12 +71,46 @@ usb:v08FFp268F*
|
||||
usb:v08FFp2691*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver aes3500
|
||||
usb:v08FFp5731*
|
||||
# Supported by libfprint driver aes2501
|
||||
usb:v08FFp2500*
|
||||
usb:v08FFp2580*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver aes4000
|
||||
usb:v5501p08FF*
|
||||
# Supported by libfprint driver aes2550
|
||||
usb:v08FFp2550*
|
||||
usb:v08FFp2810*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vfs101
|
||||
usb:v138Ap0001*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vfs301
|
||||
usb:v138Ap0005*
|
||||
usb:v138Ap0008*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vfs0050
|
||||
usb:v138Ap0050*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver etes603
|
||||
usb:v1C7Ap0603*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vcom5s
|
||||
usb:v061Ap0110*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver synaptics
|
||||
usb:v06CBp00BD*
|
||||
usb:v06CBp00E9*
|
||||
usb:v06CBp00DF*
|
||||
usb:v06CBp00F9*
|
||||
usb:v06CBp00FC*
|
||||
usb:v06CBp00C2*
|
||||
usb:v06CBp00C9*
|
||||
usb:v06CBp00E7*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver elan
|
||||
@ -122,61 +167,8 @@ usb:v04F3p0C30*
|
||||
usb:v04F3p0C31*
|
||||
usb:v04F3p0C32*
|
||||
usb:v04F3p0C33*
|
||||
usb:v04F3p0C3D*
|
||||
usb:v04F3p0C42*
|
||||
usb:v04F3p0C4D*
|
||||
usb:v04F3p0C4F*
|
||||
usb:v04F3p0C63*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver etes603
|
||||
usb:v1C7Ap0603*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver goodixmoc
|
||||
usb:v27C6p5840*
|
||||
usb:v27C6p609C*
|
||||
usb:v27C6p60A2*
|
||||
usb:v27C6p639C*
|
||||
usb:v27C6p63AC*
|
||||
usb:v27C6p6496*
|
||||
usb:v27C6p6584*
|
||||
usb:v27C6p658C*
|
||||
usb:v27C6p6592*
|
||||
usb:v27C6p6594*
|
||||
usb:v27C6p659C*
|
||||
usb:v27C6p6A94*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver nb1010
|
||||
usb:v298Dp1010*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver synaptics
|
||||
usb:v06CBp00BD*
|
||||
usb:v06CBp00DF*
|
||||
usb:v06CBp00F9*
|
||||
usb:v06CBp00FC*
|
||||
usb:v06CBp00C2*
|
||||
usb:v06CBp00C9*
|
||||
usb:v06CBp0100*
|
||||
usb:v06CBp00F0*
|
||||
usb:v06CBp0103*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver upeksonly
|
||||
usb:v147Ep2016*
|
||||
usb:v147Ep1000*
|
||||
usb:v147Ep1001*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver upektc
|
||||
usb:v0483p2015*
|
||||
usb:v147Ep3001*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver upektc_img
|
||||
usb:v147Ep2020*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver uru4000
|
||||
@ -188,33 +180,22 @@ usb:v05BAp0008*
|
||||
usb:v05BAp000A*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vcom5s
|
||||
usb:v061Ap0110*
|
||||
# Supported by libfprint driver upektc
|
||||
usb:v0483p2015*
|
||||
usb:v147Ep3001*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vfs0050
|
||||
usb:v138Ap0050*
|
||||
# Supported by libfprint driver upeksonly
|
||||
usb:v147Ep1000*
|
||||
usb:v147Ep1001*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vfs101
|
||||
usb:v138Ap0001*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vfs301
|
||||
usb:v138Ap0005*
|
||||
usb:v138Ap0008*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vfs5011
|
||||
usb:v138Ap0010*
|
||||
usb:v138Ap0011*
|
||||
usb:v138Ap0015*
|
||||
usb:v138Ap0017*
|
||||
usb:v138Ap0018*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Supported by libfprint driver vfs7552
|
||||
usb:v138Ap0091*
|
||||
# Supported by libfprint driver goodixmoc
|
||||
usb:v27C6p5840*
|
||||
usb:v27C6p6496*
|
||||
usb:v27C6p60A2*
|
||||
usb:v27C6p63AC*
|
||||
usb:v27C6p639C*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
# Known unsupported devices
|
||||
@ -222,8 +203,8 @@ usb:v04F3p036B*
|
||||
usb:v04F3p0C00*
|
||||
usb:v04F3p0C4B*
|
||||
usb:v04F3p0C4C*
|
||||
usb:v04F3p0C4F*
|
||||
usb:v04F3p0C57*
|
||||
usb:v04F3p0C5E*
|
||||
usb:v04F3p2706*
|
||||
usb:v06CBp0081*
|
||||
usb:v06CBp0088*
|
||||
@ -234,19 +215,13 @@ usb:v06CBp00A2*
|
||||
usb:v06CBp00B7*
|
||||
usb:v06CBp00BB*
|
||||
usb:v06CBp00BE*
|
||||
usb:v06CBp00C4*
|
||||
usb:v06CBp00CB*
|
||||
usb:v06CBp00D8*
|
||||
usb:v06CBp00DA*
|
||||
usb:v06CBp00E9*
|
||||
usb:v0A5Cp5801*
|
||||
usb:v0A5Cp5805*
|
||||
usb:v0A5Cp5834*
|
||||
usb:v0A5Cp5840*
|
||||
usb:v0A5Cp5841*
|
||||
usb:v0A5Cp5842*
|
||||
usb:v0A5Cp5843*
|
||||
usb:v0A5Cp5845*
|
||||
usb:v10A5p0007*
|
||||
usb:v1188p9545*
|
||||
usb:v138Ap0007*
|
||||
@ -255,6 +230,7 @@ usb:v138Ap003C*
|
||||
usb:v138Ap003D*
|
||||
usb:v138Ap003F*
|
||||
usb:v138Ap0090*
|
||||
usb:v138Ap0091*
|
||||
usb:v138Ap0092*
|
||||
usb:v138Ap0094*
|
||||
usb:v138Ap0097*
|
||||
|
||||
@ -55,14 +55,6 @@ usb:v0627p0001:*QEMU USB Mouse*
|
||||
usb:v0627p0001:*QEMU USB Tablet*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
#########################################
|
||||
# Sierra Wireless
|
||||
#########################################
|
||||
|
||||
# Sierra Wireless EM7345 4G LTE modem
|
||||
usb:v1199pA001*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
#########################################
|
||||
# Wacom
|
||||
#########################################
|
||||
|
||||
@ -265,10 +265,10 @@ evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE725
|
||||
|
||||
# Dell Latitude E7470
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470:*
|
||||
EVDEV_ABS_00=29:2930:30:16
|
||||
EVDEV_ABS_01=26:1533:29:16
|
||||
EVDEV_ABS_35=29:2930:30:16
|
||||
EVDEV_ABS_36=26:1533:29:16
|
||||
EVDEV_ABS_00=29:2930:30
|
||||
EVDEV_ABS_01=26:1533:29
|
||||
EVDEV_ABS_35=29:2930:30
|
||||
EVDEV_ABS_36=26:1533:29
|
||||
|
||||
# Dell Precision 5510
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnPrecision5510:*
|
||||
@ -560,13 +560,6 @@ evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14IBD:*
|
||||
EVDEV_ABS_35=117:3952:36
|
||||
EVDEV_ABS_36=105:1960:26
|
||||
|
||||
# Lenovo U41-70 (80JV)
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoU41-70:*
|
||||
EVDEV_ABS_00=117:3958:36
|
||||
EVDEV_ABS_01=104:1960:26
|
||||
EVDEV_ABS_35=117:3958:36
|
||||
EVDEV_ABS_36=104:1960:26
|
||||
|
||||
# Lenovo Thinkpad T490 and T14 Gen1
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*:svnLENOVO:*pvrThinkPadT490:*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*:svnLENOVO:*pvrThinkPadT14Gen1:*
|
||||
|
||||
@ -383,8 +383,8 @@ evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:*
|
||||
KEYBOARD_KEY_100150=f20 # Mic mute toggle, should be micmute
|
||||
|
||||
# Dell Latitude privacy microphone mute
|
||||
evdev:name:Dell Privacy Driver:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*:*
|
||||
KEYBOARD_KEY_120001=f20 # Mic mute toggle, should be micmute
|
||||
evdev:name:Dell Privacy Driver:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*:sku0A3E:*
|
||||
KEYBOARD_KEY_12001=f20 # Mic mute toggle, should be micmute
|
||||
|
||||
###########################################################
|
||||
# Everex
|
||||
@ -623,13 +623,11 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPLicrice:*
|
||||
# HP EliteBook
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPEliteBook*:*
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHPEliteBook*:*
|
||||
# HP Elite Dragonfly
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHPEliteDragonfly*:*
|
||||
# HP ProBook 440 G2
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP440G2:*
|
||||
# HP ProBook
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*ProBook*:*
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHP*ProBook*:*
|
||||
# several HP ProBooks 4xx
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*ProBook4*:*
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHP*ProBook*4*:*
|
||||
# HP ZBook
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPZBook*:*
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHP*:pnHPZBook*:*
|
||||
@ -686,21 +684,6 @@ evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHP*ProBook*645*G4*:*
|
||||
KEYBOARD_KEY_73=slash # Slash key
|
||||
KEYBOARD_KEY_f8=wlan # Wireless HW switch button
|
||||
|
||||
# HP ProBook 455 G5
|
||||
evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHP*ProBook*455*G5*:*
|
||||
KEYBOARD_KEY_85=unknown # lid close; also reported via special evdev
|
||||
KEYBOARD_KEY_f8=wlan # Wireless HW switch button
|
||||
|
||||
# HP mt44 Mobile Thin Client
|
||||
evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHP*mt44*Mobile*Thin*Client*:*
|
||||
KEYBOARD_KEY_64=calendar # Calendar icon (Fn + F12)
|
||||
KEYBOARD_KEY_6d=displaytoggle # Display icon
|
||||
KEYBOARD_KEY_66=connect # Pickup phone button → connect → XF86Go
|
||||
KEYBOARD_KEY_65=cancel # Hangup phone button → cancel → Cancel
|
||||
KEYBOARD_KEY_81=f20 # Fn+F8; Microphone mute button, should be micmute
|
||||
KEYBOARD_KEY_85=unknown # lid close; also reported via special evdev
|
||||
KEYBOARD_KEY_f8=wlan # Wireless HW switch button
|
||||
|
||||
# HP Stream 7
|
||||
# The ACPI tables contains a gpio-keys entry for a non connected GPIO
|
||||
# causing spurious events, map this to unknown to disable it
|
||||
@ -880,10 +863,6 @@ evdev:atkbd:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:*
|
||||
KEYBOARD_KEY_ae=!volumedown
|
||||
KEYBOARD_KEY_b0=!volumeup
|
||||
|
||||
evdev:atkbd:dmi:*:svnLENOVO:*:pvrLenovoYoga300-11IBR:*
|
||||
KEYBOARD_KEY_62=unknown # Touchpad on, also emitted by "Ideapad extra buttons", ignore
|
||||
KEYBOARD_KEY_63=unknown # Touchpad off, also emitted by "Ideapad extra buttons", ignore
|
||||
|
||||
# Fix for volume keys on Lenovo Yoga S940
|
||||
# For 10th gen it should be pn81Q8 instead of pn81Q7 but
|
||||
# I don't have a device to test
|
||||
@ -917,10 +896,6 @@ evdev:input:b0003v04B3p301B*
|
||||
KEYBOARD_KEY_90007=mail
|
||||
KEYBOARD_KEY_90008=www
|
||||
|
||||
# Lenovo Ideapad D330-10IGM
|
||||
evdev:name:SIPODEV Lenovo HID Device:dmi:*:svnLENOVO:*:pvrLenovoideapadD330-10IGM:*
|
||||
KEYBOARD_KEY_70073=f21 # Fn+Supr (Touchpad toggle)
|
||||
|
||||
|
||||
###########################################################
|
||||
# Logitech
|
||||
@ -1261,7 +1236,7 @@ evdev:input:b0003v1532p0200*
|
||||
KEYBOARD_KEY_c01cb=down # zoomout
|
||||
|
||||
###########################################################
|
||||
# MSI (aka "Micro Star")
|
||||
# Micro Star
|
||||
###########################################################
|
||||
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*:*
|
||||
@ -1300,19 +1275,24 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*PR200*:*
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pnU90/U100:*
|
||||
KEYBOARD_KEY_e4=reserved
|
||||
|
||||
# Keymaps MSI Prestige And MSI Modern FnKeys and Special keys
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*Prestige*:*
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*Modern*:*
|
||||
KEYBOARD_KEY_56=backslash # Secondary backslash key
|
||||
KEYBOARD_KEY_f1=f20 # Fn+F5 Micmute
|
||||
KEYBOARD_KEY_76=f21 # Fn+F4 Toggle touchpad, sends meta+ctrl+toggle
|
||||
# MSI Prestige15 A10SC specific keycodes. Needed for microphone and screen rotation
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*A10SC*:*
|
||||
KEYBOARD_KEY_f1=f20
|
||||
KEYBOARD_KEY_f2=f21
|
||||
|
||||
# MSI Modern series
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-StarInternational*:pnModern*:*
|
||||
KEYBOARD_KEY_f1=f20 # Fn+F5 micmute
|
||||
KEYBOARD_KEY_76=f21 # Fn+F4 touchpad, becomes meta+ctrl+toggle
|
||||
KEYBOARD_KEY_91=prog1 # Fn+F7 Creation Center, sometime F7
|
||||
KEYBOARD_KEY_f2=prog2 # Fn+F12 Screen rotation
|
||||
KEYBOARD_KEY_8d=prog3 # Fn+A Change True Color selections
|
||||
KEYBOARD_KEY_8c=prog4 # Fn+Z Launch True Color
|
||||
KEYBOARD_KEY_f5=fn_esc # Fn+esc Toggle the behaviour of Fn keys
|
||||
KEYBOARD_KEY_97=unknown # Lid close
|
||||
KEYBOARD_KEY_98=unknown # Lid open
|
||||
KEYBOARD_KEY_f2=prog2 # Fn+F12 screen rotation
|
||||
KEYBOARD_KEY_97=unknown # lid close
|
||||
KEYBOARD_KEY_98=unknown # lid open
|
||||
#Fn+PrntScr sends meta+shif+s
|
||||
|
||||
###########################################################
|
||||
# MSI
|
||||
###########################################################
|
||||
|
||||
evdev:name:MSI Laptop hotkeys:dmi:bvn*:bvr*:bd*:svn*:pnM[iI][cC][rR][oO]-S[tT][aA][rR]*:*
|
||||
KEYBOARD_KEY_0213=f22
|
||||
|
||||
@ -150,7 +150,6 @@ sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LJ:*
|
||||
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LAB:*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LB:*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP550LA:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LD:*
|
||||
@ -345,14 +344,6 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:svnEVE*:pnEveV:*
|
||||
sensor:modalias:acpi:KIOX010A*:dmi:*:svnGEO*:pnGeoFlex*:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Glavey
|
||||
#########################################
|
||||
|
||||
# Glavey TM800A550L
|
||||
sensor:modalias:acpi:KXCJ9000*:dmi:*:bvrZY-8-BI-PX4S70VTR400-X423B-005-D:*:rvnAMICorporation:rnAptioCRB:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Google Chromebooks
|
||||
#########################################
|
||||
@ -477,12 +468,6 @@ sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:*:svnjumper:pnEZpad
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnINSYDECorp.:bvrVISION.I22K*:svnKAZAM:pnVISION:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# KD / Kurio
|
||||
#########################################
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*:svnKDInteractive:pnKurioSmart:*:rnKDM960BCP:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Lamina
|
||||
#########################################
|
||||
@ -512,8 +497,8 @@ sensor:modalias:acpi:BMA250E*:dmi:bvnLENOVO:*:pvrLenovoMIIX3-1030:*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:bvnLENOVO:*:pvrLenovoMIIX3-830:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
# IdeaPad D330-10IGM (both 81H3 and 81MD product names)
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:*:pvrLenovoideapadD330-10IGM:*
|
||||
# IdeaPad D330
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:pn81H3:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# IdeaPad Miix 300
|
||||
@ -537,16 +522,6 @@ sensor:modalias:acpi:*BOSC0200*:dmi:*:svnLENOVO*:pn80XE:*
|
||||
sensor:modalias:acpi:*BOSC0200*:dmi:*:svnLENOVO*:pn80U1:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# Yoga 300-11IBR, display sensor
|
||||
sensor:modalias:acpi:DUAL250E*:dmi:*:svnLENOVO:*:pvrLenovoYoga300-11IBR:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
ACCEL_LOCATION=display
|
||||
|
||||
# Yoga 300-11IBR, base sensor
|
||||
sensor:modalias:i2c:bmc150_accel:dmi:*:svnLENOVO:*:pvrLenovoYoga300-11IBR:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, -1
|
||||
ACCEL_LOCATION=base
|
||||
|
||||
#########################################
|
||||
# LINX
|
||||
#########################################
|
||||
@ -560,13 +535,6 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:svnLINX*:pnLINX12*64:*
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*:svnLINX:pnVISION004:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Mediacom
|
||||
#########################################
|
||||
# Mediacom Winpad 7.0 W700
|
||||
sensor:modalias:acpi:BMA250*:dmi:*svnMEDIACOM*:pnWinPad7W10-WPW700:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Medion
|
||||
#########################################
|
||||
@ -675,20 +643,10 @@ sensor:modalias:acpi:SMO8500*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd07/25/201
|
||||
# One-netbook
|
||||
#########################################
|
||||
|
||||
# One-netbook OneMix 2s
|
||||
# OneMix 2s has no product name filled, matching entire dmi-alias
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.12:bd10/26/2018:br5.12:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnDefaultstring:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
# One-netbook OneMix 3 Pro
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*svnONE-NETBOOKTECHNOLOGYCO*:pnOne-Mix3Pro:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
# One-netbook OneMix 3s
|
||||
# OneMix 3s has no product name filled, matching entire dmi-alias
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.12:bd07/17/2019:br5.12:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnDefaultstring:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Peaq
|
||||
#########################################
|
||||
@ -776,14 +734,6 @@ sensor:modalias:acpi:KIOX020A*:dmi:*:svnTECLAST:pnF6Pro:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
ACCEL_LOCATION=base
|
||||
|
||||
# Teclast Tbook 11 (E5A6)
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnTbooK11:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
# Teclast X4 2-in-1 (G4M6)
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnX4:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
# Teclast X80 Plus (H5C5)
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnDefaultstring:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
@ -816,10 +766,6 @@ sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd04/15/201
|
||||
# Toshiba
|
||||
#########################################
|
||||
|
||||
# Toshiba Encore WT8-B tablet
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*:svnTOSHIBA:pnTOSHIBAENCORE2WT8-B:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# Toshiba Encore WT10A tablet
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*:svnTOSHIBA:pnTOSHIBAWT10-A-103:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
@ -491,9 +491,7 @@ mouse:bluetooth:v046dpb019:name:MX Master 2S Mouse:*
|
||||
MOUSE_WHEEL_CLICK_COUNT=24
|
||||
MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14
|
||||
|
||||
# Logitech MX Ergo
|
||||
mouse:usb:v046dp406f:name:Logitech MX Ergo:*
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:406f:*
|
||||
# Logitech MX Ergo (via Bluetooth)
|
||||
mouse:bluetooth:v046dpb01d:name:MX Ergo Mouse:*
|
||||
ID_INPUT_TRACKBALL=1
|
||||
|
||||
@ -666,10 +664,6 @@ mouse:bluetooth:v0000p0000:name:Surface Mouse:*
|
||||
mouse:usb:v045ep0823:name:Microsoft Microsoft?? Classic IntelliMouse??:*
|
||||
MOUSE_DPI=3200@1000
|
||||
|
||||
# Microsoft Pro Intellimouse
|
||||
mouse:usb:v045ep082a:name:Microsoft Microsoft Pro Intellimouse Mouse:*
|
||||
MOUSE_DPI=1600@1000
|
||||
|
||||
##########################################
|
||||
# Mionix
|
||||
##########################################
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,11 +0,0 @@
|
||||
Files in this directory specify a description of hardware devices, in the form
|
||||
of mappings from modalias-like keys (which identify specific hardware devices)
|
||||
to udev properties.
|
||||
|
||||
Files in this directory are not read by udev directly. Instead,
|
||||
man:systemd-hwdb(8) compiles them into a binary database.
|
||||
|
||||
See man:hwdb(7) for an overview of the configuration file format, and
|
||||
man:systemd-udevd.service(8) for a description of the udev daemon.
|
||||
|
||||
Use 'systemd-analyze cat-config udev/hwdb.d' to display the effective config.
|
||||
@ -100,14 +100,6 @@
|
||||
<tr class="even"><td>CHENGDU HAIGUANG IC DESIGN CO., LTD</td><td>HYGO</td><td>07/15/2020</td> </tr>
|
||||
<tr class="odd"><td>PixArt imaging inc.</td><td>PIXA</td><td>07/15/2020</td> </tr>
|
||||
<tr class="even"><td>Loongson Technology Corporation Limited</td><td>LOON</td><td>09/10/2020</td> </tr>
|
||||
<tr class="odd"><td>Seiko Epson Corporation</td><td>SECC</td><td>02/16/2021</td> </tr>
|
||||
<tr class="even"><td>Alibaba Co., Ltd.</td><td>BABA</td><td>02/02/2021</td> </tr>
|
||||
<tr class="odd"><td>Juniper Systems, Inc.</td><td>JSYS</td><td>03/18/2021</td> </tr>
|
||||
<tr class="even"><td>Framework Computer LLC</td><td>FRMW</td><td>03/22/2021</td> </tr>
|
||||
<tr class="odd"><td>Pensando Systems, Inc.</td><td>PNSO</td><td>03/24/2021</td> </tr>
|
||||
<tr class="even"><td>Dynabook Inc.</td><td>DNBK</td><td>06/01/2021</td> </tr>
|
||||
<tr class="odd"><td>Dioo Microcircuits Co., Ltd. Jiangsu</td><td>DIOO</td><td>06/04/2021</td> </tr>
|
||||
<tr class="even"><td>Purism SPC</td><td>PURI</td><td>06/10/2021</td> </tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
6216
hwdb.d/ma-large.txt
6216
hwdb.d/ma-large.txt
File diff suppressed because it is too large
Load Diff
1686
hwdb.d/ma-medium.txt
1686
hwdb.d/ma-medium.txt
File diff suppressed because it is too large
Load Diff
1665
hwdb.d/ma-small.txt
1665
hwdb.d/ma-small.txt
File diff suppressed because it is too large
Load Diff
@ -4,7 +4,6 @@
|
||||
# they are very long but quite repetitive and the parser is not very fast.
|
||||
# So we don't "test" them.
|
||||
hwdb_files_notest = files('''
|
||||
README
|
||||
20-dmi-id.hwdb
|
||||
20-pci-vendor-model.hwdb
|
||||
20-pci-classes.hwdb
|
||||
@ -30,7 +29,6 @@ hwdb_files_test = files('''
|
||||
70-mouse.hwdb
|
||||
70-pointingstick.hwdb
|
||||
70-touchpad.hwdb
|
||||
80-ieee1394-unit-function.hwdb
|
||||
'''.split())
|
||||
|
||||
if conf.get('ENABLE_HWDB') == 1
|
||||
@ -51,7 +49,8 @@ if conf.get('ENABLE_HWDB') == 1
|
||||
mkdir_p.format(join_paths(sysconfdir, 'udev/hwdb.d')))
|
||||
|
||||
meson.add_install_script('sh', '-c',
|
||||
'test -n "$DESTDIR" || @0@/systemd-hwdb update'.format(rootbindir))
|
||||
'test -n "$DESTDIR" || @0@/systemd-hwdb update'
|
||||
.format(rootbindir))
|
||||
endif
|
||||
|
||||
if want_tests != 'false'
|
||||
|
||||
@ -72,7 +72,6 @@ TYPES = {'mouse': ('usb', 'bluetooth', 'ps2', '*'),
|
||||
'joystick': ('i8042', 'rmi', 'bluetooth', 'usb'),
|
||||
'keyboard': ('name', ),
|
||||
'sensor': ('modalias', ),
|
||||
'ieee1394-unit-function' : ('node', ),
|
||||
}
|
||||
|
||||
# Patterns that are used to set general properties on a device
|
||||
@ -83,7 +82,6 @@ GENERAL_MATCHES = {'acpi',
|
||||
'sdio',
|
||||
'vmbus',
|
||||
'OUI',
|
||||
'ieee1394',
|
||||
}
|
||||
|
||||
def upperhex_word(length):
|
||||
@ -101,7 +99,7 @@ def hwdb_grammar():
|
||||
matchline = (matchline_typed | matchline_general) + EOL
|
||||
|
||||
propertyline = (White(' ', exact=1).suppress() +
|
||||
Combine(UDEV_TAG - '=' - Optional(Word(alphanums + '_=:@*.!-;, "/'))
|
||||
Combine(UDEV_TAG - '=' - Optional(Word(alphanums + '_=:@*.!-;, "'))
|
||||
- Optional(pythonStyleComment)) +
|
||||
EOL)
|
||||
propertycomment = White(' ', exact=1) + pythonStyleComment + EOL
|
||||
@ -124,9 +122,6 @@ def property_grammar():
|
||||
mount_matrix = Group(mount_matrix_row + ';' + mount_matrix_row + ';' + mount_matrix_row)('MOUNT_MATRIX')
|
||||
xkb_setting = Optional(Word(alphanums + '+-/@._'))
|
||||
|
||||
# Although this set doesn't cover all of characters in database entries, it's enough for test targets.
|
||||
name_literal = Word(printables + ' ')
|
||||
|
||||
props = (('MOUSE_DPI', Group(OneOrMore(dpi_setting))),
|
||||
('MOUSE_WHEEL_CLICK_ANGLE', INTEGER),
|
||||
('MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL', INTEGER),
|
||||
@ -158,11 +153,6 @@ def property_grammar():
|
||||
('ACCEL_MOUNT_MATRIX', mount_matrix),
|
||||
('ACCEL_LOCATION', Or(('display', 'base'))),
|
||||
('PROXIMITY_NEAR_LEVEL', INTEGER),
|
||||
('IEEE1394_UNIT_FUNCTION_MIDI', Or((Literal('0'), Literal('1')))),
|
||||
('IEEE1394_UNIT_FUNCTION_AUDIO', Or((Literal('0'), Literal('1')))),
|
||||
('IEEE1394_UNIT_FUNCTION_VIDEO', Or((Literal('0'), Literal('1')))),
|
||||
('ID_VENDOR_FROM_DATABASE', name_literal),
|
||||
('ID_MODEL_FROM_DATABASE', name_literal),
|
||||
)
|
||||
fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE')
|
||||
for name, val in props]
|
||||
@ -301,7 +291,7 @@ def print_summary(fname, groups):
|
||||
error('{}: no matches or props'.format(fname))
|
||||
|
||||
if __name__ == '__main__':
|
||||
args = sys.argv[1:] or sorted(glob.glob(os.path.dirname(sys.argv[0]) + '/[678][0-9]-*.hwdb'))
|
||||
args = sys.argv[1:] or sorted(glob.glob(os.path.dirname(sys.argv[0]) + '/[67][0-9]-*.hwdb'))
|
||||
|
||||
for fname in args:
|
||||
groups = parse(fname)
|
||||
|
||||
638
hwdb.d/pci.ids
638
hwdb.d/pci.ids
File diff suppressed because it is too large
Load Diff
@ -108,9 +108,9 @@
|
||||
<tr class="even"><td>Alpha Telecom Inc</td><td>ATD</td><td>09/26/1997</td> </tr>
|
||||
<tr class="odd"><td>Alpha-Top Corporation</td><td>ATP</td><td>12/04/1996</td> </tr>
|
||||
<tr class="even"><td>AlphaView LCD</td><td>ALV</td><td>11/01/2008</td> </tr>
|
||||
<tr class="odd"><td>ALPS ALPINE CO., LTD.</td><td>APE</td><td>01/22/2013</td> </tr>
|
||||
<tr class="even"><td>ALPS ALPINE CO., LTD.</td><td>ALP</td><td>11/29/1996</td> </tr>
|
||||
<tr class="odd"><td>ALPS ALPINE CO., LTD.</td><td>AUI</td><td>11/29/1996</td> </tr>
|
||||
<tr class="odd"><td>Alpine Electronics, Inc.</td><td>APE</td><td>01/22/2013</td> </tr>
|
||||
<tr class="even"><td>Alps Electric Company Ltd</td><td>ALP</td><td>11/29/1996</td> </tr>
|
||||
<tr class="odd"><td>Alps Electric Inc</td><td>AUI</td><td>11/29/1996</td> </tr>
|
||||
<tr class="even"><td>Alta Research Corporation</td><td>ARC</td><td>11/29/1996</td> </tr>
|
||||
<tr class="odd"><td>Altec Corporation</td><td>ALC</td><td>08/04/1998</td> </tr>
|
||||
<tr class="even"><td>Altec Lansing</td><td>ALJ</td><td>01/13/2000</td> </tr>
|
||||
@ -2466,31 +2466,6 @@
|
||||
<tr class="even"><td>NZXT (PNP same EDID)_</td><td>NXT</td><td>07/15/2020</td> </tr>
|
||||
<tr class="odd"><td>Unicompute Technology Co., Ltd.</td><td>UTC</td><td>10/19/2020</td> </tr>
|
||||
<tr class="even"><td>TECHNOGYM S.p.A.</td><td>TGW</td><td>01/08/2021</td> </tr>
|
||||
<tr class="odd"><td>Clover Electronics</td><td>CLR</td><td>02/02/2021</td> </tr>
|
||||
<tr class="even"><td>Kyokko Communication System Co., Ltd.</td><td>KTS</td><td>02/18/2021</td> </tr>
|
||||
<tr class="odd"><td>Terumo Corporation</td><td>TMO</td><td>02/02/2021</td> </tr>
|
||||
<tr class="even"><td>Micro-Star Int'l Co., Ltd.</td><td>CND</td><td>02/17/2021</td> </tr>
|
||||
<tr class="odd"><td>Newline Interactive Inc.</td><td>NWL</td><td>12/03/2020</td> </tr>
|
||||
<tr class="even"><td>CORSAIR MEMORY Inc.</td><td>CRM</td><td>02/05/2021</td> </tr>
|
||||
<tr class="odd"><td>aviica</td><td>VAV</td><td>06/01/2021</td> </tr>
|
||||
<tr class="even"><td>Monoprice.Inc</td><td>DMG</td><td>06/04/2021</td> </tr>
|
||||
<tr class="odd"><td>Shenzhen KTC Technology Group</td><td>SKG</td><td>06/01/2021</td> </tr>
|
||||
<tr class="even"><td>Truly Semiconductors Ltd.</td><td>TLY</td><td>06/01/2021</td> </tr>
|
||||
<tr class="odd"><td>Hitevision Group</td><td>HHT</td><td>03/08/2021</td> </tr>
|
||||
<tr class="even"><td>DLOGIC Ltd.</td><td>DLM</td><td>06/10/2021</td> </tr>
|
||||
<tr class="odd"><td>Fun Technology Innovation INC.</td><td>FUL</td><td>06/10/2021</td> </tr>
|
||||
<tr class="even"><td>Guangxi Century Innovation Display Electronics Co., Ltd</td><td>IOC</td><td>06/10/2021</td> </tr>
|
||||
<tr class="odd"><td>ICC Intelligent Platforms GmbH</td><td>EMR</td><td>06/10/2021</td> </tr>
|
||||
<tr class="even"><td>New H3C Technology Co., Ltd.</td><td>NHC</td><td>06/10/2021</td> </tr>
|
||||
<tr class="odd"><td>Seco S.p.A.</td><td>SCG</td><td>06/10/2021</td> </tr>
|
||||
<tr class="even"><td>Silent Power Electronics GmbH</td><td>LCP</td><td>06/10/2021</td> </tr>
|
||||
<tr class="odd"><td>NAFASAE INDIA Pvt. Ltd</td><td>NAF</td><td>06/18/2021</td> </tr>
|
||||
<tr class="even"><td>Pico Technology Inc.</td><td>PIR</td><td>06/18/2021</td> </tr>
|
||||
<tr class="odd"><td>Life is Style Inc.</td><td>LIS</td><td>06/18/2021</td> </tr>
|
||||
<tr class="even"><td>Hansung Co., Ltd</td><td>HSN</td><td>06/18/2021</td> </tr>
|
||||
<tr class="odd"><td>Hubei Century Joint Innovation Technology Co.Ltd</td><td>TTR</td><td>06/18/2021</td> </tr>
|
||||
<tr class="even"><td>Zake IP Holdings LLC (3B tech)</td><td>VIO</td><td>06/18/2021</td> </tr>
|
||||
<tr class="odd"><td>PreSonus Audio Electronics</td><td>PAE</td><td>06/24/2021</td> </tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
119
hwdb.d/usb.ids
119
hwdb.d/usb.ids
@ -9,8 +9,8 @@
|
||||
# The latest version can be obtained from
|
||||
# http://www.linux-usb.org/usb.ids
|
||||
#
|
||||
# Version: 2021.06.16
|
||||
# Date: 2021-06-16 20:34:10
|
||||
# Version: 2021.01.29
|
||||
# Date: 2021-01-29 20:34:11
|
||||
#
|
||||
|
||||
# Vendors, devices and interfaces. Please keep sorted.
|
||||
@ -593,7 +593,6 @@
|
||||
6217 Color LaserJet 4700
|
||||
6302 PhotoSmart 318/612
|
||||
6317 Color LaserJet 4730mfp
|
||||
632a LaserJet M203-M206
|
||||
6402 PhotoSmart 715 (ptp)
|
||||
6411 PhotoSmart C8100 series
|
||||
6417 LaserJet 5200
|
||||
@ -782,7 +781,6 @@
|
||||
5642 Storage Device
|
||||
5661 M5661 MP3 player
|
||||
5667 M5667 MP3 player
|
||||
8841 Newmine Camera
|
||||
9665 Gateway Webcam
|
||||
0403 Future Technology Devices International, Ltd
|
||||
0000 H4SMK 7 Port Hub / Bricked Counterfeit FT232 Serial (UART) IC
|
||||
@ -800,7 +798,6 @@
|
||||
6014 FT232H Single HS USB-UART/FIFO IC
|
||||
6015 Bridge(I2C/SPI/UART/FIFO)
|
||||
601f Myriad-RF LimeSDR-Mini
|
||||
6ee0 EZO Carrier Board
|
||||
6f70 HB-RF-USB
|
||||
8028 Dev board JTAG (FT232H based)
|
||||
8040 4 Port Hub
|
||||
@ -823,10 +820,8 @@
|
||||
9090 SNAP Stick 200
|
||||
9132 LCD and Temperature Interface
|
||||
9133 CallerID
|
||||
9134 Virtual keyboard
|
||||
9135 Rotary Pub alarm
|
||||
9136 Pulsecounter
|
||||
9137 Ledbutton interface
|
||||
9e90 Marvell OpenRD Base/Client
|
||||
9f08 CIB-1894 Conclusion SmartLink Box:
|
||||
9f80 Ewert Energy Systems CANdapter
|
||||
@ -930,7 +925,6 @@
|
||||
f7c0 ZeitControl Cardsystems TagTracer MIFARE
|
||||
f850 USB-UIRT (Universal Infrared Receiver+Transmitter)
|
||||
f918 Ant8 Logic Probe
|
||||
f9d9 Wetterempfanger 147.3kHz
|
||||
fa00 Matrix Orbital USB Serial
|
||||
fa01 Matrix Orbital MX2 or MX3
|
||||
fa02 Matrix Orbital MX4 or MX5
|
||||
@ -1020,7 +1014,6 @@
|
||||
00c0 Wireless Remocon
|
||||
00f7 Smart Display PK-SD10
|
||||
011d e228 Mobile Phone
|
||||
0193 RVT-R Writer
|
||||
0203 HID Audio Controls
|
||||
021d Aterm WL54SU2 802.11g Wireless Adapter [Atheros AR5523]
|
||||
0248 Aterm PA-WL54GU
|
||||
@ -1381,7 +1374,6 @@
|
||||
3220 Sound Blaster Tactic(3D) Sigma sound card
|
||||
3232 Sound Blaster Premium HD [SBX]
|
||||
3237 SB X-Fi Surround 5.1 Pro
|
||||
3241 Sound Blaster JAM
|
||||
3263 SB X-Fi Surround 5.1 Pro
|
||||
3f00 E-Mu Xboard 25 MIDI Controller
|
||||
3f02 E-Mu 0202
|
||||
@ -1449,7 +1441,6 @@
|
||||
4088 Live! Cam Chat HD [VF0700]
|
||||
4095 Live! Cam Sync HD [VF0770]
|
||||
4097 Live! Cam Chat HD [VF0700]
|
||||
4099 Creative VF0800 [RealSense Camera SR300]
|
||||
4100 Nomad Jukebox 2
|
||||
4101 Nomad Jukebox 3
|
||||
4102 NOMAD MuVo^2
|
||||
@ -2013,7 +2004,6 @@
|
||||
b651 Ferrari GT Rumble Force Wheel
|
||||
b653 RGT Force Feedback Clutch Racing Wheel
|
||||
b654 Ferrari GT Force Feedback Wheel
|
||||
b677 T150 Racing Wheel
|
||||
b678 T.Flight Rudder Pedals
|
||||
b679 T-Rudder
|
||||
b687 TWCS Throttle
|
||||
@ -2542,7 +2532,6 @@
|
||||
09a0 RTL8153B GigE [Surface Ethernet Adapter]
|
||||
09c0 Surface Type Cover
|
||||
0a00 Lumia 950 Dual SIM (RM-1118)
|
||||
0b12 Xbox Wireless Controller (model 1914)
|
||||
930a ISOUSB.SYS Intel 82930 Isochronous IO Test Board
|
||||
ffca Catalina
|
||||
fff8 Keyboard
|
||||
@ -2694,18 +2683,11 @@
|
||||
0837 BCC950 ConferenceCam
|
||||
0840 QuickCam Express
|
||||
0843 Webcam C930e
|
||||
0845 ConferenceCam CC3000e Camera
|
||||
0846 ConferenceCam CC3000e Speakerphone
|
||||
084b ConferenceCam Connect Video
|
||||
0850 QuickCam Web
|
||||
0857 Logi Group Speakerphone
|
||||
085c C922 Pro Stream Webcam
|
||||
085e BRIO Ultra HD Webcam
|
||||
0870 QuickCam Express
|
||||
0882 Logi Group Speakerphone
|
||||
0890 QuickCam Traveler
|
||||
0892 C920 HD Pro Webcam
|
||||
0893 StreamCam
|
||||
0892 OrbiCam
|
||||
0894 CrystalCam
|
||||
0895 QuickCam for Dell Notebooks
|
||||
0896 OrbiCam
|
||||
@ -2814,7 +2796,6 @@
|
||||
0a5b G933 Wireless Headset Dongle
|
||||
0a5d G933 Headset Battery Charger
|
||||
0a66 [G533 Wireless Headset Dongle]
|
||||
0a8f H390 headset with microphone
|
||||
0b02 C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode)
|
||||
8801 Video Camera
|
||||
b014 Bluetooth Mouse M336/M337/M535
|
||||
@ -2894,7 +2875,6 @@
|
||||
c083 G403 Prodigy Gaming Mouse
|
||||
c084 G203 Gaming Mouse
|
||||
c08b G502 SE HERO Gaming Mouse
|
||||
c092 G203 LIGHTSYNC Gaming Mouse
|
||||
c101 UltraX Media Remote
|
||||
c110 Harmony 785/880/885 Remote
|
||||
c111 Harmony 525 Remote
|
||||
@ -2954,7 +2934,6 @@
|
||||
c24e G500s Laser Gaming Mouse
|
||||
c24f G29 Driving Force Racing Wheel [PS3]
|
||||
c260 G29 Driving Force Racing Wheel [PS4]
|
||||
c262 G920 Driving Force Racing Wheel
|
||||
c281 WingMan Force
|
||||
c283 WingMan Force 3D
|
||||
c285 WingMan Strike Force 3D
|
||||
@ -3002,7 +2981,6 @@
|
||||
c332 G502 Proteus Spectrum Optical Mouse
|
||||
c335 G910 Orion Spectrum Mechanical Keyboard
|
||||
c33a G413 Gaming Keyboard
|
||||
c33f G815 Mechanical Keyboard
|
||||
c401 TrackMan Marble Wheel
|
||||
c402 Marble Mouse (2-button)
|
||||
c403 Turbo TrackMan Marble FX
|
||||
@ -3043,7 +3021,6 @@
|
||||
c534 Unifying Receiver
|
||||
c537 Cordless Mouse Receiver
|
||||
c53a PowerPlay Wireless Charging System
|
||||
c53d G631 Keyboard
|
||||
c603 3Dconnexion Spacemouse Plus XT
|
||||
c605 3Dconnexion CADman
|
||||
c606 3Dconnexion Spacemouse Classic
|
||||
@ -3324,8 +3301,6 @@
|
||||
5001 Cabo I Camera
|
||||
5002 VideoCam CABO II
|
||||
5003 VideoCam
|
||||
8018 Expert Wireless Trackball Mouse (K72359WW)
|
||||
8068 Pro Fit Ergo Vertical Wireless Trackball
|
||||
047e Agere Systems, Inc. (Lucent)
|
||||
0300 ORiNOCO Card
|
||||
1001 USS720 Parallel Port
|
||||
@ -3346,7 +3321,6 @@
|
||||
c008 Audio 655 DSP
|
||||
c00e Blackwire C310 headset
|
||||
c03b HD1
|
||||
ca01 Calisto 800 Series
|
||||
da60 DA60
|
||||
0480 Toshiba America Inc
|
||||
0001 InTouch Module
|
||||
@ -3388,7 +3362,6 @@
|
||||
0408 FS-1320D Printer
|
||||
0640 ECOSYS M6026cdn
|
||||
069b ECOSYS M2635dn
|
||||
06b4 ECOSYS M5526cdw
|
||||
0483 STMicroelectronics
|
||||
0137 BeWAN ADSL USB ST (blue or green)
|
||||
0138 Unicorn II (ST70138B + MTC-20174TQ chipset)
|
||||
@ -3727,7 +3700,6 @@
|
||||
04ac Xerox Travel Scanner 100
|
||||
04bb strobe 400 scanner
|
||||
04cd Xerox Travel Scanner 150
|
||||
04ee Duplex Combo Scanner
|
||||
04a8 Multivideo Labs, Inc.
|
||||
0101 Hub
|
||||
0303 Peripheral Switch
|
||||
@ -3934,7 +3906,6 @@
|
||||
190d CanoScan 9000F Mark II
|
||||
190e CanoScan LiDE 120
|
||||
190f CanoScan LiDE 220
|
||||
1913 CanoScan LiDE 300
|
||||
2200 CanoScan LiDE 25
|
||||
2201 CanoScan FB320U
|
||||
2202 CanoScan FB620U
|
||||
@ -4396,7 +4367,6 @@
|
||||
32b4 EOS Rebel T6
|
||||
32bb EOS M5
|
||||
32bf PowerShot SX420 IS
|
||||
32c0 PowerShot ELPH 190IS
|
||||
32c1 PowerShot ELPH 180 / IXUS 175
|
||||
32c2 PowerShot SX720 HS
|
||||
32c5 EOS M6
|
||||
@ -4473,8 +4443,6 @@
|
||||
040e DSC D70s (ptp)
|
||||
040f D200 (mass storage mode)
|
||||
0410 D200 (ptp)
|
||||
0411 D80 (mass storage mode)
|
||||
0412 D80 (MTP/PTP mode)
|
||||
0413 D40 (mass storage mode)
|
||||
041e D60 digital camera (mass storage mode)
|
||||
0422 D700 (ptp)
|
||||
@ -4528,7 +4496,6 @@
|
||||
04b4 Cypress Semiconductor Corp.
|
||||
0001 Mouse
|
||||
0002 CY7C63x0x Thermometer
|
||||
0008 CDC ACM serial port
|
||||
0033 Mouse
|
||||
0060 Wireless optical mouse
|
||||
00f3 FX3 micro-controller (DFU mode)
|
||||
@ -4538,7 +4505,6 @@
|
||||
0130 MyIRC Remote Receiver
|
||||
0306 Telephone Receiver
|
||||
0407 Optical Skype Mouse
|
||||
0818 AE-SMKD92-* [Thumb Keyboard]
|
||||
0bad MetaGeek Wi-Spy
|
||||
1002 CY7C63001 R100 FM Radio
|
||||
1006 Human Interface Device
|
||||
@ -4769,7 +4735,6 @@
|
||||
0e03 Thermal Receipt Printer [TM-T20]
|
||||
1114 XP-440 [Expression Home Small-in-One Printer]
|
||||
1129 ET-4750 [WorkForce ET-4750 EcoTank All-in-One]
|
||||
1168 Workforce WF-7820/7840 Series
|
||||
04b9 Rainbow Technologies, Inc.
|
||||
0300 SafeNet USB SuperPro/UltraPro
|
||||
1000 iKey 1000 Token
|
||||
@ -4887,7 +4852,6 @@
|
||||
11f3 fi-6130Z
|
||||
125a PalmSecure Sensor Device - MP
|
||||
132e fi-7160
|
||||
159f ScanSnap iX1500
|
||||
200f Sigma DP2 (Mass Storage)
|
||||
2010 Sigma DP2 (PictBridge)
|
||||
201d SATA 3.0 6Gbit/s Adaptor [GROOVY]
|
||||
@ -5007,7 +4971,6 @@
|
||||
01d3 FinePix A920 (PTP)
|
||||
01d4 FinePix F50fd (PTP)
|
||||
01d5 FinePix F47 (PTP)
|
||||
01e7 Fujifilm A850 Digital Camera
|
||||
01f7 FinePix J250 (PTP)
|
||||
01fd A160
|
||||
023e FinePix AX300
|
||||
@ -5015,7 +4978,6 @@
|
||||
0241 FinePix S3200 Digital Camera
|
||||
0278 FinePix JV300
|
||||
02c5 FinePix S9900W Digital Camera (PTP)
|
||||
02e0 X-T200 Digital Camera
|
||||
5006 ASK-300
|
||||
04cc ST-Ericsson
|
||||
1122 Hub
|
||||
@ -5105,7 +5067,6 @@
|
||||
0006 Wired Keyboard (78/79 key) [RPI Wired Keyboard 5]
|
||||
0022 Portable Keyboard
|
||||
0348 Keyboard
|
||||
0407 Keyboard [TEX Shinobi]
|
||||
048e Optical Mouse
|
||||
0499 Optical Mouse
|
||||
1135 Mouse [MGK-15BU/MLK-15BU]
|
||||
@ -5133,15 +5094,9 @@
|
||||
a09f E-Signal LUOM G10 Mechanical Gaming Mouse
|
||||
a100 Mouse [HV-MS735]
|
||||
a11b Mouse [MX-3200]
|
||||
a153 Optical Gaming Mouse
|
||||
a29f Microarray fingerprint reader
|
||||
b534 LGT8F328P Microprocessor
|
||||
e002 MCU
|
||||
fc2a Gaming Mouse [Redragon M709]
|
||||
fc30 Gaming Mouse [Redragon M711]
|
||||
fc38 Gaming Mouse [Redragon M602-RGB]
|
||||
fc4d Gaming Mouse [Redragon M908]
|
||||
fc55 Venus MMO Gaming Mouse
|
||||
04da Panasonic (Matsushita)
|
||||
0901 LS-120 Camera
|
||||
0912 SDR-S10
|
||||
@ -5647,7 +5602,6 @@
|
||||
b1ac HP Laptop Integrated Webcam [2 MP Fixed]
|
||||
b1b4 Lenovo Integrated Camera
|
||||
b1b9 Asus Integrated Webcam
|
||||
b1bb 2.0M UVC WebCam
|
||||
b1cf Lenovo Integrated Camera
|
||||
b1d6 CNF9055 Toshiba Webcam
|
||||
b1d8 1.3M Webcam
|
||||
@ -5676,8 +5630,6 @@
|
||||
b444 Lenovo Integrated Webcam
|
||||
b49f Bluetooth (RTL8723BE)
|
||||
b563 Integrated Camera
|
||||
b5ab Integrated Camera
|
||||
b5ac Integrated IR Camera
|
||||
b5ce Integrated Camera
|
||||
b5cf Integrated IR Camera
|
||||
b5db HP Webcam
|
||||
@ -5699,7 +5651,6 @@
|
||||
02f4 2.4G Cordless Mouse
|
||||
0381 Touchscreen
|
||||
04a0 Dream Cheeky Stress/Panic Button
|
||||
0c28 fingerprint sensor [FeinTech FPS00200]
|
||||
2234 Touchscreen
|
||||
04f4 Harting Elektronik, Inc.
|
||||
04f5 Fujitsu-ICL Systems, Inc.
|
||||
@ -5744,8 +5695,6 @@
|
||||
002b HL-5250DN Printer
|
||||
002c Printer
|
||||
002d Printer
|
||||
0037 HL-3040CN series
|
||||
0038 HL-3070CW series
|
||||
0039 HL-5340 series
|
||||
0041 HL-2250DN Laser Printer
|
||||
0042 HL-2270DW Laser Printer
|
||||
@ -5926,7 +5875,6 @@
|
||||
01eb MFC-7320
|
||||
01ec MFC-9640CW
|
||||
01f4 MFC-5890CN
|
||||
0204 DCP-165C
|
||||
020a MFC-8670DN
|
||||
020c DCP-9042CDN
|
||||
020d MFC-9450CDN
|
||||
@ -6205,19 +6153,6 @@
|
||||
03bc MFC-L2700DN
|
||||
03bd DCP-J762N
|
||||
03fd ADS-2700W
|
||||
043f MFC-L3770CDW
|
||||
0440 MFC-9350CDW
|
||||
0441 MFC-L3750CDW
|
||||
0442 MFC-L3745CDW
|
||||
0443 MFC-L3735CDN
|
||||
0444 MFC-9150CDN
|
||||
0445 MFC-L3730CDN
|
||||
0446 MFC-L3710CW
|
||||
0447 DCP-9030CDN
|
||||
0448 DCP-L3550CDW
|
||||
044a HL-L3290CDW
|
||||
044b DCP-L3510CDW
|
||||
044c DCP-L3551CDW
|
||||
1000 Printer
|
||||
1002 Printer
|
||||
2002 PTUSB Printing
|
||||
@ -6242,7 +6177,6 @@
|
||||
204d QL-720NW Label Printer (mass storage mode)
|
||||
2061 PT-P700 P-touch Label Printer
|
||||
2064 PT-P700 P-touch Label Printer RemovableDisk
|
||||
2074 PT-D600 P-touch Label Printer
|
||||
209b QL-800 Label Printer
|
||||
209c QL-810W Label Printer
|
||||
209d QL-820NWB Label Printer
|
||||
@ -6503,14 +6437,12 @@
|
||||
a4a2 Linux-USB Ethernet/RNDIS Gadget
|
||||
a4a3 Linux-USB user-mode isochronous source/sink
|
||||
a4a4 Linux-USB user-mode bulk source/sink
|
||||
a4a5 Linux-USB File-backed Storage Gadget
|
||||
a4a5 Pocketbook Pro 903 / Mobius 2 Action Cam / xDuoo X3 / PocketBook Pro 602
|
||||
a4a6 Linux-USB Serial Gadget
|
||||
a4a7 Linux-USB Serial Gadget (CDC ACM mode)
|
||||
a4a8 Linux-USB Printer Gadget
|
||||
a4a9 Linux-USB OBEX Gadget
|
||||
a4aa Linux-USB CDC Composite Gadge (Ethernet and ACM)
|
||||
a4ab Linux-USB Multifunction Composite Gadget
|
||||
a4ac Linux-USB HID Gadget
|
||||
0526 Temic MHS S.A.
|
||||
0527 ALTRA
|
||||
0528 ATI Technologies, Inc.
|
||||
@ -6840,11 +6772,9 @@
|
||||
0689 Walkman NWZ-B173F
|
||||
06bb WALKMAN NWZ-F805
|
||||
06c3 RC-S380
|
||||
07c3 ILCE-6000 (aka Alpha-6000) in Mass Storage mode
|
||||
07c4 ILCE-6000 (aka Alpha-6000) in Mass Storage mode
|
||||
082f Walkman NWZW Series
|
||||
0847 WG-C10 Portable Wireless Server
|
||||
0877 UP-D898/X898 series
|
||||
0884 MDR-ZX770BN [Wireless Noise Canceling Stereo Headset]
|
||||
088c Portable Headphone Amplifier
|
||||
08b7 ILCE-6000 (aka Alpha-6000) in MTP mode
|
||||
@ -6856,12 +6786,8 @@
|
||||
0c02 ILCE-7M3 [A7III] in Mass Storage mode
|
||||
0c03 ILCE-7M3 [A7III] in MTP mode
|
||||
0c34 ILCE-7M3 [A7III] in PC Remote mode
|
||||
0c7f WH-CH700N [Wireless Noise-Canceling Headphones]
|
||||
0cd3 WH-1000XM3 [Wireless Noise-Canceling Headphones]
|
||||
0cda PlayStation Classic controller
|
||||
0ce0 WF-1000XM3 [Wireless Noise-Canceling Headphones]
|
||||
0cf0 MRW-G1
|
||||
0d58 WH-1000XM4 [Wireless Noise-Canceling Headphones]
|
||||
1000 Wireless Buzz! Receiver
|
||||
054d Try Corp.
|
||||
054e Proside Corp.
|
||||
@ -6906,7 +6832,6 @@
|
||||
2213 CS682 2-Port USB 2.0 DVI KVM Switch
|
||||
2221 Winbond Hermon
|
||||
2404 4-port switch
|
||||
2419 Virtual mouse/keyboard device
|
||||
2600 IDE Bridge
|
||||
2701 CE700A KVM Extender
|
||||
4000 DSB-650 10Mbps Ethernet [klsi]
|
||||
@ -7237,19 +7162,7 @@
|
||||
0001 Monitor
|
||||
0002 HID Monitor Controls
|
||||
0003 Device Bay Controller
|
||||
4000 FlexScan EV3237
|
||||
4001 Monitor
|
||||
4002 USB HID Monitor
|
||||
4014 FlexScan EV2750
|
||||
4026 FlexScan EV2451
|
||||
4027 FlexScan EV2456
|
||||
4036 FlexScan EV2785
|
||||
4037 FlexScan EV3285
|
||||
4044 FlexScan EV2457
|
||||
4059 FlexScan EV2760
|
||||
405b FlexScan EV2460
|
||||
405f FlexScan EV2795
|
||||
4065 FlexScan EV3895
|
||||
056e Elecom Co., Ltd
|
||||
0002 29UO Mouse
|
||||
0057 Micro Grast Pop M-PGDL
|
||||
@ -8017,7 +7930,6 @@
|
||||
9230 Camera
|
||||
9320 Camera
|
||||
9331 Camera
|
||||
9332 Camera - 1080p
|
||||
9422 Camera
|
||||
9520 Camera
|
||||
05a4 Ortek Technology, Inc.
|
||||
@ -8238,7 +8150,6 @@
|
||||
8204 Built-in Bluetooth 2.0+EDR HCI
|
||||
8205 Bluetooth HCI
|
||||
8206 Bluetooth HCI
|
||||
8207 Built-in Bluetooth
|
||||
820a Bluetooth HID Keyboard
|
||||
820b Bluetooth HID Mouse
|
||||
820f Bluetooth HCI
|
||||
@ -8249,7 +8160,6 @@
|
||||
8218 Bluetooth Host Controller
|
||||
821a Bluetooth Host Controller
|
||||
821f Built-in Bluetooth 2.0+EDR HCI
|
||||
8233 iBridge
|
||||
8240 Built-in IR Receiver
|
||||
8241 Built-in IR Receiver
|
||||
8242 Built-in IR Receiver
|
||||
@ -8790,7 +8700,6 @@
|
||||
f102 VX7012 TV Box
|
||||
f103 VX7012 TV Box
|
||||
f104 VX7012 TV Box
|
||||
f12a Digital Microscope
|
||||
fd21 3M TL20 Temperature Logger
|
||||
fe00 Razer Mouse
|
||||
05e4 Red Wing Corp.
|
||||
@ -8882,7 +8791,6 @@
|
||||
0002 Sino Wealth keyboard/mouse 2.4 GHz receiver
|
||||
00f1 Keyboard (Labtec Ultra Flat Keyboard)
|
||||
00f2 Keyboard (Labtec Ultra Flat Keyboard)
|
||||
1002 Mobius actioncam (webcam mode)
|
||||
6871 Mouse
|
||||
8611 NTK96550 based camera
|
||||
0604 Jean Co., Ltd
|
||||
@ -9584,12 +9492,6 @@
|
||||
00f7 OKI B4600 Mono Printer
|
||||
015e OKIPOS 411/412 POS Printer
|
||||
01c9 OKI B430 Mono Printer
|
||||
01db MC860 Multifunction Printer
|
||||
01dc MC860 Multifunction Printer
|
||||
01dd MC860 Multifunction Printer
|
||||
01de MC860 Multifunction Printer
|
||||
01df CX2633 Multifunction Printer
|
||||
01e0 ES8460 Multifunction Printer
|
||||
020b OKI ES4140 Mono Printer
|
||||
02bb OKI PT390 POS Printer
|
||||
0383 MC563 Multifunction Printer
|
||||
@ -18177,8 +18079,8 @@
|
||||
0042 Antec Veris Multimedia Station E-Z IR Receiver
|
||||
ffda iMON PAD Remote Controller
|
||||
ffdc iMON PAD Remote Controller
|
||||
15c5 Pressure Profile Systems, Inc.
|
||||
0008 Advance Multimedia Internet Technology Inc. (AMIT) WL532U 802.11g Adapter
|
||||
15c5 Advance Multimedia Internet Technology Inc. (AMIT)
|
||||
0008 WL532U 802.11g Adapter
|
||||
15c6 Laboratoires MXM
|
||||
1000 DigistimSP (cold)
|
||||
1001 DigistimSP (warm)
|
||||
@ -20455,12 +20357,6 @@
|
||||
1101 Generic Display Device (Mass storage mode)
|
||||
c101 Generic Display Device
|
||||
1de6 MICRORISC s.r.o.
|
||||
1df7 SDRplay
|
||||
2500 RSP1
|
||||
3000 RSP1a
|
||||
3010 RSP2/RSP2pro
|
||||
3020 RSPduo
|
||||
3030 RSPdx
|
||||
1e0e Qualcomm / Option
|
||||
f000 iCON 210 UMTS Surfstick
|
||||
1e10 Point Grey Research, Inc.
|
||||
@ -22570,9 +22466,6 @@
|
||||
ffff Mio DigiWalker Sync
|
||||
3344 Leaguer Microelectronics (LME)
|
||||
3744 OEM PC Remote
|
||||
3384 System76
|
||||
0000 Thelio Io (thelio-io)
|
||||
0001 Launch Configurable Keyboard (launch_1)
|
||||
348f ISY
|
||||
2322 Wireless Presenter
|
||||
3504 Micro Star
|
||||
|
||||
@ -5,8 +5,8 @@ XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share}"
|
||||
|
||||
# add a directory if it exists
|
||||
if [[ -d /opt/foo/share ]]; then
|
||||
XDG_DATA_DIRS="/opt/foo/share:${XDG_DATA_DIRS}"
|
||||
XDG_DATA_DIRS=/opt/foo/share:${XDG_DATA_DIRS}
|
||||
fi
|
||||
|
||||
# write our output
|
||||
echo "XDG_DATA_DIRS=${XDG_DATA_DIRS}"
|
||||
echo XDG_DATA_DIRS=$XDG_DATA_DIRS
|
||||
|
||||
@ -34,7 +34,7 @@ def rearrange_bin_sbin(path):
|
||||
|
||||
if __name__ == '__main__':
|
||||
path = os.environ['PATH'] # This should be always set.
|
||||
# If it's not, we'll just crash, which is OK too.
|
||||
# If it's not, we'll just crash, we is OK too.
|
||||
new = rearrange_bin_sbin(path)
|
||||
if new != path:
|
||||
print('PATH={}'.format(new))
|
||||
|
||||
@ -237,29 +237,6 @@
|
||||
cannot be written. Currently only applies to random seed operations.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--make-machine-id-directory=yes|no|auto</option></term>
|
||||
<listitem><para>Control creation and deletion of the top-level machine ID directory on the file
|
||||
system containing boot loader entries (i.e. beneath the file system returned by
|
||||
<option>--print-boot-path</option> above) during <option>install</option> and
|
||||
<option>remove</option>, respectively. <literal>auto</literal> is equivalent to
|
||||
<literal>yes</literal> if <filename>/etc/machine-id</filename> resides on a filesystem other than
|
||||
tmpfs and <literal>no</literal> otherwise (in the latter case the machine ID is likely transient and
|
||||
hence should not be used persistently in the ESP). Defaults to <literal>auto</literal>. See
|
||||
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
|
||||
details about the machine ID concept and file.</para>
|
||||
|
||||
<para>Overriding this may be desirable to hide the machine ID from the (unencrypted) ESP, configure a
|
||||
<citerefentry><refentrytitle>kernel-install</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
script, or, conversely, commit a transient machine ID.</para>
|
||||
|
||||
<para>The top-level machine ID directory is useful to allow smooth multi-boot installations: each
|
||||
installed OS instance will have a different machine ID and thus a separate directory to place its
|
||||
boot-time resources in. If this feature is turned off with this option, care needs to be taken that
|
||||
multiple OS instances do not place conflicting files on the shared ESP and Extended Boot Loader
|
||||
Partitions, or that multiple OS instances are not possible.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="no-pager"/>
|
||||
<xi:include href="standard-options.xml" xpointer="help"/>
|
||||
<xi:include href="standard-options.xml" xpointer="version"/>
|
||||
|
||||
@ -122,7 +122,7 @@
|
||||
<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 an object path, interface name and method name. If parameters
|
||||
<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>
|
||||
|
||||
@ -1,35 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import ast
|
||||
import re
|
||||
import sys
|
||||
|
||||
def read_os_release():
|
||||
try:
|
||||
filename = '/etc/os-release'
|
||||
f = open(filename)
|
||||
except FileNotFoundError:
|
||||
filename = '/usr/lib/os-release'
|
||||
f = open(filename)
|
||||
|
||||
for line_number, line in enumerate(f):
|
||||
line = line.rstrip()
|
||||
if not line or line.startswith('#'):
|
||||
continue
|
||||
if m := re.match(r'([A-Z][A-Z_0-9]+)=(.*)', line):
|
||||
name, val = m.groups()
|
||||
if val and val[0] in '"\'':
|
||||
val = ast.literal_eval(val)
|
||||
yield name, val
|
||||
else:
|
||||
print(f'{filename}:{line_number + 1}: bad line {line!r}',
|
||||
file=sys.stderr)
|
||||
|
||||
os_release = dict(read_os_release())
|
||||
|
||||
pretty_name = os_release.get('PRETTY_NAME', 'Linux')
|
||||
print(f'Running on {pretty_name}')
|
||||
|
||||
if 'debian' in [os_release.get('ID', 'linux'),
|
||||
*os_release.get('ID_LIKE', '').split()]:
|
||||
print('Looks like Debian!')
|
||||
@ -1,10 +0,0 @@
|
||||
#!/bin/sh -eu
|
||||
|
||||
test -e /etc/os-release && os_release='/etc/os-release' || os_release='/usr/lib/os-release'
|
||||
. "${os_release}"
|
||||
|
||||
echo "Running on ${PRETTY_NAME:-Linux}"
|
||||
|
||||
if [ "${ID:-linux}" = "debian" ] || [ "${ID_LIKE#*debian*}" != "${ID_LIKE}" ]; then
|
||||
echo "Looks like Debian!"
|
||||
fi
|
||||
@ -35,7 +35,7 @@
|
||||
<varlistentry id='log-time'>
|
||||
<term><varname>$SYSTEMD_LOG_TIME</varname></term>
|
||||
|
||||
<listitem><para id='log-time-body'>A boolean. If true, console log messages will be prefixed with a
|
||||
<listitem><para id='log-time-body'>A boolean. If true, log messages will be prefixed with a
|
||||
timestamp.</para>
|
||||
|
||||
<para>This setting is only useful when messages are written directly to the terminal or a file, because
|
||||
@ -75,7 +75,7 @@
|
||||
project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<constant>kmsg</constant> (log to the kernel circular log buffer), <constant>journal</constant> (log to
|
||||
the journal), <constant>journal-or-kmsg</constant> (log to the journal if available, and to kmsg
|
||||
otherwise), <constant>auto</constant> (determine the appropriate log target automatically, the default),
|
||||
otherwise), <constant>auto</constant> (dermine the appropriate log target automatically, the default),
|
||||
<constant>null</constant> (disable log output).</para>
|
||||
<!-- <constant>syslog</constant>, <constant>syslog-or-kmsg</constant> are deprecated -->
|
||||
</listitem>
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
<citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
a handler for core dumps invoked by the kernel. Whether <command>systemd-coredump</command> is used
|
||||
is determined by the kernel's
|
||||
<varname>kernel.core_pattern</varname> <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
<varname>kernel.core_pattern</varname> <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
setting. See
|
||||
<citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
and
|
||||
@ -86,9 +86,7 @@
|
||||
<listitem><para>The maximum size in bytes of a core
|
||||
which will be processed. Core dumps exceeding this size
|
||||
may be stored, but the backtrace will not be generated.
|
||||
Like other sizes in this same config file, the usual
|
||||
suffixes to the base of 1024 are allowed (B, K, M,
|
||||
G, T, P, and E.)</para>
|
||||
</para>
|
||||
|
||||
<para>Setting <varname>Storage=none</varname> and <varname>ProcessSizeMax=0</varname>
|
||||
disables all coredump handling except for a log entry.</para>
|
||||
@ -99,19 +97,16 @@
|
||||
<term><varname>ExternalSizeMax=</varname></term>
|
||||
<term><varname>JournalSizeMax=</varname></term>
|
||||
|
||||
<listitem><para>The maximum (compressed or uncompressed) size in bytes of a
|
||||
core to be saved. Unit suffixes are allowed just as in
|
||||
<option>ProcessSizeMax=</option></para></listitem>.
|
||||
<listitem><para>The maximum (uncompressed) size in bytes of a
|
||||
core to be saved.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>MaxUse=</varname></term>
|
||||
<term><varname>KeepFree=</varname></term>
|
||||
|
||||
<listitem><para>Enforce limits on the disk space, specified
|
||||
in bytes, taken up by externally stored core dumps.
|
||||
Unit suffixes are allowed just as in <option>ProcessSizeMax=</option>.
|
||||
<option>MaxUse=</option> makes
|
||||
<listitem><para>Enforce limits on the disk space taken up by
|
||||
externally stored core dumps. <option>MaxUse=</option> makes
|
||||
sure that old core dumps are removed as soon as the total disk
|
||||
space taken up by core dumps grows beyond this limit (defaults
|
||||
to 10% of the total disk size). <option>KeepFree=</option>
|
||||
|
||||
@ -354,40 +354,10 @@ Fri … 552351 1000 1000 SIGSEGV present /usr/lib64/firefox/firefox 28.7M
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Show information about a core dump matched by PID</title>
|
||||
<title>Show information about a process that dumped core,
|
||||
matching by its PID 6654</title>
|
||||
|
||||
<programlisting>$ coredumpctl info 6654
|
||||
PID: 6654 (bash)
|
||||
UID: 1000 (user)
|
||||
GID: 1000 (user)
|
||||
Signal: 11 (SEGV)
|
||||
Timestamp: Mon 2021-01-01 00:00:01 CET (20s ago)
|
||||
Command Line: bash -c $'kill -SEGV $$'
|
||||
Executable: /usr/bin/bash
|
||||
Control Group: /user.slice/user-1000.slice/…
|
||||
Unit: user@1000.service
|
||||
User Unit: vte-spawn-….scope
|
||||
Slice: user-1000.slice
|
||||
Owner UID: 1000 (user)
|
||||
Boot ID: …
|
||||
Machine ID: …
|
||||
Hostname: …
|
||||
Storage: /var/lib/systemd/coredump/core.bash.1000.….zst (present)
|
||||
Disk Size: 51.7K
|
||||
Message: Process 130414 (bash) of user 1000 dumped core.
|
||||
|
||||
Stack trace of thread 130414:
|
||||
#0 0x00007f398142358b kill (libc.so.6 + 0x3d58b)
|
||||
#1 0x0000558c2c7fda09 kill_builtin (bash + 0xb1a09)
|
||||
#2 0x0000558c2c79dc59 execute_builtin.lto_priv.0 (bash + 0x51c59)
|
||||
#3 0x0000558c2c79709c execute_simple_command (bash + 0x4b09c)
|
||||
#4 0x0000558c2c798408 execute_command_internal (bash + 0x4c408)
|
||||
#5 0x0000558c2c7f6bdc parse_and_execute (bash + 0xaabdc)
|
||||
#6 0x0000558c2c85415c run_one_command.isra.0 (bash + 0x10815c)
|
||||
#7 0x0000558c2c77d040 main (bash + 0x31040)
|
||||
#8 0x00007f398140db75 __libc_start_main (libc.so.6 + 0x27b75)
|
||||
#9 0x0000558c2c77dd1e _start (bash + 0x31d1e)
|
||||
</programlisting>
|
||||
<programlisting>$ coredumpctl info 6654</programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
|
||||
@ -514,13 +514,6 @@
|
||||
user is queried for a password indefinitely.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>headless=</option></term>
|
||||
|
||||
<listitem><para>Takes a boolean argument, defaults to false. If true, never query interactively
|
||||
for the password/PIN. Useful for headless systems.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>verify</option></term>
|
||||
|
||||
@ -528,22 +521,6 @@
|
||||
prevent typos.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>password-echo=yes|no|masked</option></term>
|
||||
|
||||
<listitem><para>Controls whether to echo passwords or security token PINs
|
||||
that are read from console. Takes a boolean or the special string <literal>masked</literal>.
|
||||
The default is <option>password-echo=masked</option>.</para>
|
||||
|
||||
<para>If enabled, the typed characters are echoed literally. If disabled,
|
||||
the typed characters are not echoed in any form, the user will not get
|
||||
feedback on their input. If set to <literal>masked</literal>, an asterisk
|
||||
(<literal>*</literal>) is echoed for each character typed. Regardless of
|
||||
which mode is chosen, if the user hits the tabulator key (<literal>↹</literal>)
|
||||
at any time, or the backspace key (<literal>⌫</literal>) before any other
|
||||
data has been entered, then echo is turned off.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>pkcs11-uri=</option></term>
|
||||
|
||||
@ -629,7 +606,7 @@
|
||||
<term><option>fido2-rp=</option></term>
|
||||
|
||||
<listitem><para>Takes a string, configuring the FIDO2 Relying Party (rp) for the FIDO2 unlock
|
||||
operation. If not specified <literal>io.systemd.cryptsetup</literal> is used, except if the LUKS2
|
||||
operation. If not specified <literal>io.systemd.cryptsetup</literal> is used, except if the the LUKS2
|
||||
JSON token header contains a different value. It should normally not be necessary to override
|
||||
this.</para></listitem>
|
||||
</varlistentry>
|
||||
@ -668,9 +645,9 @@
|
||||
<varlistentry>
|
||||
<term><option>tpm2-pcrs=</option></term>
|
||||
|
||||
<listitem><para>Takes a <literal>+</literal> separated list of numeric TPM2 PCR (i.e. "Platform
|
||||
Configuration Register") indexes to bind the TPM2 volume unlocking to. This option is only useful
|
||||
when TPM2 enrollment metadata is not available in the LUKS2 JSON token header already, the way
|
||||
<listitem><para>Takes a comma separated list of numeric TPM2 PCR (i.e. "Platform Configuration
|
||||
Register") indexes to bind the TPM2 volume unlocking to. This option is only useful when TPM2
|
||||
enrollment metadata is not available in the LUKS2 JSON token header already, the way
|
||||
<command>systemd-cryptenroll</command> writes it there. If not used (and no metadata in the LUKS2
|
||||
JSON token header defines it), defaults to a list of a single entry: PCR 7. Assign an empty string to
|
||||
encode a policy that binds the key to no PCRs, making the key accessible to local programs regardless
|
||||
|
||||
@ -1,16 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!ENTITY MOUNT_PATH "{{MOUNT_PATH}}">
|
||||
<!ENTITY UMOUNT_PATH "{{UMOUNT_PATH}}">
|
||||
<!ENTITY SYSTEM_GENERATOR_DIR "{{SYSTEM_GENERATOR_DIR}}">
|
||||
<!ENTITY USER_GENERATOR_DIR "{{USER_GENERATOR_DIR}}">
|
||||
<!ENTITY SYSTEM_ENV_GENERATOR_DIR "{{SYSTEM_ENV_GENERATOR_DIR}}">
|
||||
<!ENTITY USER_ENV_GENERATOR_DIR "{{USER_ENV_GENERATOR_DIR}}">
|
||||
<!ENTITY CERTIFICATE_ROOT "{{CERTIFICATE_ROOT}}">
|
||||
<!ENTITY FALLBACK_HOSTNAME "{{FALLBACK_HOSTNAME}}">
|
||||
<!ENTITY MEMORY_ACCOUNTING_DEFAULT "{{ 'yes' if MEMORY_ACCOUNTING_DEFAULT else 'no' }}">
|
||||
<!ENTITY KILL_USER_PROCESSES "{{ 'yes' if KILL_USER_PROCESSES else 'no' }}">
|
||||
<!ENTITY DEBUGTTY "{{DEBUGTTY}}">
|
||||
<!ENTITY RC_LOCAL_PATH "{{RC_LOCAL_PATH}}">
|
||||
<!ENTITY HIGH_RLIMIT_NOFILE "{{HIGH_RLIMIT_NOFILE}}">
|
||||
<!ENTITY fedora_latest_version "34">
|
||||
<!ENTITY MOUNT_PATH @MOUNT_PATH@>
|
||||
<!ENTITY UMOUNT_PATH @UMOUNT_PATH@>
|
||||
<!ENTITY systemgeneratordir @SYSTEM_GENERATOR_DIR@>
|
||||
<!ENTITY usergeneratordir @USER_GENERATOR_DIR@>
|
||||
<!ENTITY systemenvgeneratordir @SYSTEM_ENV_GENERATOR_DIR@>
|
||||
<!ENTITY userenvgeneratordir @USER_ENV_GENERATOR_DIR@>
|
||||
<!ENTITY CERTIFICATE_ROOT @CERTIFICATE_ROOT@>
|
||||
<!ENTITY FALLBACK_HOSTNAME @FALLBACK_HOSTNAME@>
|
||||
<!ENTITY MEMORY_ACCOUNTING_DEFAULT @MEMORY_ACCOUNTING_DEFAULT_YES_NO@>
|
||||
<!ENTITY KILL_USER_PROCESSES @KILL_USER_PROCESSES_YES_NO@>
|
||||
<!ENTITY DEBUGTTY @DEBUGTTY@>
|
||||
<!ENTITY RC_LOCAL_PATH @RC_LOCAL_PATH@>
|
||||
<!ENTITY fedora_latest_version "33">
|
||||
<!ENTITY fedora_cloud_release "1.2">
|
||||
|
||||
@ -132,17 +132,11 @@
|
||||
<refsect1>
|
||||
<title>Constants</title>
|
||||
|
||||
<para>Various constants used and/or defined by systemd.</para>
|
||||
<para>Various constant used and/or defined by systemd.</para>
|
||||
|
||||
<variablelist id='constants' />
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>DNS resource record types</title>
|
||||
|
||||
<variablelist id='dns' />
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Miscellaneous options and directives</title>
|
||||
|
||||
|
||||
@ -43,10 +43,12 @@
|
||||
<refsect1>
|
||||
<title>Positive Trust Anchors</title>
|
||||
|
||||
<para>Positive trust anchor configuration files contain <constant class='dns'>DNSKEY</constant> and
|
||||
<constant class='dns'>DS</constant> resource record definitions to use as base for DNSSEC integrity
|
||||
proofs. See <ulink url="https://tools.ietf.org/html/rfc4035#section-4.4">RFC 4035, Section 4.4</ulink>
|
||||
for more information about DNSSEC trust anchors.</para>
|
||||
<para>Positive trust anchor configuration files contain DNSKEY and
|
||||
DS resource record definitions to use as base for DNSSEC integrity
|
||||
proofs. See <ulink
|
||||
url="https://tools.ietf.org/html/rfc4035#section-4.4">RFC 4035,
|
||||
Section 4.4</ulink> for more information about DNSSEC trust
|
||||
anchors.</para>
|
||||
|
||||
<para>Positive trust anchors are read from files with the suffix
|
||||
<filename>.positive</filename> located in
|
||||
@ -62,12 +64,13 @@
|
||||
<filename>/run/dnssec-trust-anchors.d/</filename> that is either
|
||||
empty or a symlink to <filename>/dev/null</filename> ("masked").</para>
|
||||
|
||||
<para>Positive trust anchor files are simple text files resembling DNS zone files, as documented in
|
||||
<ulink url="https://tools.ietf.org/html/rfc1035#section-5">RFC 1035, Section 5</ulink>. One <constant
|
||||
class='dns'>DS</constant> or <constant class='dns'>DNSKEY</constant> resource record may be listed per
|
||||
line. Empty lines and lines starting with <literal>#</literal> or <literal>;</literal> are ignored, which
|
||||
may be used for commenting. A <consant class='dns'>DS</consant> resource record is specified like in the
|
||||
following example:</para>
|
||||
<para>Positive trust anchor files are simple text files resembling
|
||||
DNS zone files, as documented in <ulink
|
||||
url="https://tools.ietf.org/html/rfc1035#section-5">RFC 1035, Section
|
||||
5</ulink>. One DS or DNSKEY resource record may be listed per
|
||||
line. Empty lines and lines starting with a semicolon
|
||||
(<literal>;</literal>) are ignored and considered comments. A DS
|
||||
resource record is specified like in the following example:</para>
|
||||
|
||||
<programlisting>. IN DS 19036 8 2 49aac11d7b6f6446702e54a1607371607a1a41855200fd2ce1cdde32f24e8fb5</programlisting>
|
||||
|
||||
@ -82,20 +85,24 @@
|
||||
Section 5</ulink> for details about the precise syntax and meaning
|
||||
of these fields.</para>
|
||||
|
||||
<para>Alternatively, <constant class='dns'>DNSKEY</constant> resource records may be used to define trust
|
||||
anchors, like in the following example:</para>
|
||||
<para>Alternatively, DNSKEY resource records may be used to define
|
||||
trust anchors, like in the following example:</para>
|
||||
|
||||
<programlisting>. IN DNSKEY 257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjFFVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0=</programlisting>
|
||||
|
||||
<para>The first word specifies the domain again, the second word must be <literal>IN</literal>, followed
|
||||
by <literal>DNSKEY</literal>. The subsequent words encode the <constant class='dns'>DNSKEY</constant>
|
||||
flags, protocol and algorithm fields, followed by the key data encoded in Base64. See <ulink
|
||||
url="https://tools.ietf.org/html/rfc4034#section-2">RFC 4034, Section 2</ulink> for details about the
|
||||
precise syntax and meaning of these fields.</para>
|
||||
<para>The first word specifies the domain again, the second word
|
||||
must be <literal>IN</literal>, followed by
|
||||
<literal>DNSKEY</literal>. The subsequent words encode the DNSKEY
|
||||
flags, protocol and algorithm fields, followed by the key data
|
||||
encoded in Base64. See <ulink
|
||||
url="https://tools.ietf.org/html/rfc4034#section-2">RFC 4034,
|
||||
Section 2</ulink> for details about the precise syntax and meaning
|
||||
of these fields.</para>
|
||||
|
||||
<para>If multiple <constant class='dns'>DS</constant> or <constant class='dns'>DNSKEY</constant> records
|
||||
are defined for the same domain (possibly even in different trust anchor files), all keys are used and
|
||||
are considered equivalent as base for DNSSEC proofs.</para>
|
||||
<para>If multiple DS or DNSKEY records are defined for the same
|
||||
domain (possibly even in different trust anchor files), all keys
|
||||
are used and are considered equivalent as base for DNSSEC
|
||||
proofs.</para>
|
||||
|
||||
<para>Note that <filename>systemd-resolved</filename> will
|
||||
automatically use a built-in trust anchor key for the Internet
|
||||
@ -105,15 +112,17 @@
|
||||
as soon as at least one trust anchor key for the root domain is
|
||||
defined in trust anchor files.</para>
|
||||
|
||||
<para>It is generally recommended to encode trust anchors in <constant class='dns'>DS</constant> resource
|
||||
records, rather than <constant class='dns'>DNSKEY</constant> resource records.</para>
|
||||
<para>It is generally recommended to encode trust anchors in DS
|
||||
resource records, rather than DNSKEY resource records.</para>
|
||||
|
||||
<para>If a trust anchor specified via a <constant class='dns'>DS</constant> record is found revoked it is
|
||||
automatically removed from the trust anchor database for the runtime. See <ulink
|
||||
url="https://tools.ietf.org/html/rfc5011">RFC 5011</ulink> for details about revoked trust anchors. Note
|
||||
that <filename>systemd-resolved</filename> will not update its trust anchor database from DNS servers
|
||||
automatically. Instead, it is recommended to update the resolver software or update the new trust anchor
|
||||
via adding in new trust anchor files.</para>
|
||||
<para>If a trust anchor specified via a DS record is found revoked
|
||||
it is automatically removed from the trust anchor database for the
|
||||
runtime. See <ulink url="https://tools.ietf.org/html/rfc5011">RFC
|
||||
5011</ulink> for details about revoked trust anchors. Note that
|
||||
<filename>systemd-resolved</filename> will not update its trust
|
||||
anchor database from DNS servers automatically. Instead, it is
|
||||
recommended to update the resolver software or update the new
|
||||
trust anchor via adding in new trust anchor files.</para>
|
||||
|
||||
<para>The current DNSSEC trust anchor for the Internet's root
|
||||
domain is available at the <ulink
|
||||
|
||||
@ -378,35 +378,6 @@
|
||||
discussion see above.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--fido2-with-client-pin=</option><replaceable>BOOL</replaceable></term>
|
||||
|
||||
<listitem><para>When enrolling a FIDO2 security token, controls whether to require the user to enter
|
||||
a PIN when unlocking the account (the FIDO2 <literal>clientPin</literal> feature). Defaults to
|
||||
<literal>yes</literal>. (Note: this setting is without effect if the security token does not support
|
||||
the <literal>clientPin</literal> feature at all, or does not allow enabling or disabling
|
||||
it.)</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--fido2-with-user-presence=</option><replaceable>BOOL</replaceable></term>
|
||||
|
||||
<listitem><para>When enrolling a FIDO2 security token, controls whether to require the user to
|
||||
verify presence (tap the token, the FIDO2 <literal>up</literal> feature) when unlocking the account.
|
||||
Defaults to <literal>yes</literal>. (Note: this setting is without effect if the security token does not support
|
||||
the <literal>up</literal> feature at all, or does not allow enabling or disabling it.)
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--fido2-with-user-verification=</option><replaceable>BOOL</replaceable></term>
|
||||
|
||||
<listitem><para>When enrolling a FIDO2 security token, controls whether to require user verification
|
||||
when unlocking the account (the FIDO2 <literal>uv</literal> feature). Defaults to
|
||||
<literal>no</literal>. (Note: this setting is without effect if the security token does not support
|
||||
the <literal>uv</literal> feature at all, or does not allow enabling or disabling it.)</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--recovery-key=</option><replaceable>BOOL</replaceable></term>
|
||||
|
||||
@ -875,10 +846,6 @@
|
||||
<title>Exit status</title>
|
||||
|
||||
<para>On success, 0 is returned, a non-zero failure code otherwise.</para>
|
||||
|
||||
<para>When a command is invoked with <command>with</command>, the exit status of the child is
|
||||
propagated. Effectively, <command>homectl</command> will exit without error if the command is
|
||||
successfully invoked <emphasis>and</emphasis> finishes successfully.</para>
|
||||
</refsect1>
|
||||
|
||||
<xi:include href="common-variables.xml" />
|
||||
|
||||
@ -63,16 +63,14 @@
|
||||
<varlistentry>
|
||||
<term><command>status</command></term>
|
||||
|
||||
<listitem><para>Show system hostname and related information. If no command is specified,
|
||||
<listitem><para>Show current system hostname and related information. If no command is specified,
|
||||
this is the implied default.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>hostname</command> [<replaceable>NAME</replaceable>]</term>
|
||||
<term><command>set-hostname <replaceable>NAME</replaceable></command></term>
|
||||
|
||||
<listitem><para>If no argument is given, print the system hostname. If an
|
||||
optional argument <replaceable>NAME</replaceable> is provided then the command changes the
|
||||
system hostname to <replaceable>NAME</replaceable>. By default, this will alter the
|
||||
<listitem><para>Set the system hostname to <replaceable>NAME</replaceable>. By default, this will alter the
|
||||
pretty, the static, and the transient hostname alike; however, if one or more of <option>--static</option>,
|
||||
<option>--transient</option>, <option>--pretty</option> are used, only the selected hostnames are changed. If
|
||||
the pretty hostname is being set, and static or transient are being set as well, the specified hostname will be
|
||||
@ -84,29 +82,35 @@
|
||||
<para>The static and transient hostnames must each be either a single DNS label (a string composed of
|
||||
7-bit ASCII lower-case characters and no spaces or dots, limited to the format allowed for DNS domain
|
||||
name labels), or a sequence of such labels separated by single dots that forms a valid DNS FQDN. The
|
||||
hostname must be at most 64 characters, which is a Linux limitation (DNS allows longer names).</para></listitem>
|
||||
hostname must be at most 64 characters, which is a Linux limitation (DNS allows longer names).</para>
|
||||
|
||||
<para>Pass the empty string <literal></literal> as the hostname to reset the selected hostnames to
|
||||
their default (usually <literal>&FALLBACK_HOSTNAME;</literal>).</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>icon-name</command> [<replaceable>NAME</replaceable>]</term>
|
||||
<term><command>set-icon-name <replaceable>NAME</replaceable></command></term>
|
||||
|
||||
<listitem><para>If no argument is given, print the icon name of the system. If an
|
||||
optional argument <replaceable>NAME</replaceable> is provided then the command changes the
|
||||
icon name to <replaceable>NAME</replaceable>. The icon name is used by some
|
||||
<listitem><para>Set the system icon name to
|
||||
<replaceable>NAME</replaceable>. The icon name is used by some
|
||||
graphical applications to visualize this host. The icon name
|
||||
should follow the <ulink
|
||||
url="http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html">Icon
|
||||
Naming Specification</ulink>.</para></listitem>
|
||||
Naming Specification</ulink>.</para>
|
||||
|
||||
<para>Pass an empty string to reset the icon name to the
|
||||
default value, which is determined from chassis type (see
|
||||
below) and possibly other parameters.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>chassis</command> [<replaceable>TYPE</replaceable>]</term>
|
||||
<term><command>set-chassis <replaceable>TYPE</replaceable></command></term>
|
||||
|
||||
<listitem><para>If no argument is given, print the chassis type. If an
|
||||
optional argument <replaceable>TYPE</replaceable> is provided then the command changes the
|
||||
chassis type to <replaceable>TYPE</replaceable>. The chassis type is used by
|
||||
some graphical applications to visualize the host or alter user interaction.
|
||||
Currently, the following chassis types are defined:
|
||||
<listitem><para>Set the chassis type to
|
||||
<replaceable>TYPE</replaceable>. The chassis type is used by
|
||||
some graphical applications to visualize the host or alter
|
||||
user interaction. Currently, the following chassis types are
|
||||
defined:
|
||||
<literal>desktop</literal>,
|
||||
<literal>laptop</literal>,
|
||||
<literal>convertible</literal>,
|
||||
@ -119,36 +123,43 @@
|
||||
<literal>vm</literal> and
|
||||
<literal>container</literal> for virtualized systems that lack
|
||||
an immediate physical chassis.</para>
|
||||
|
||||
<para>Pass an empty string to reset the chassis type to the
|
||||
default value which is determined from the firmware and
|
||||
possibly other parameters.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>deployment</command> [<replaceable>ENVIRONMENT</replaceable>]</term>
|
||||
<term><command>set-deployment <replaceable>ENVIRONMENT</replaceable></command></term>
|
||||
|
||||
<listitem><para>If no argument is given, print the deployment environment. If an
|
||||
optional argument <replaceable>ENVIRONMENT</replaceable> is provided then the command changes the
|
||||
deployment environment to <replaceable>ENVIRONMENT</replaceable>.
|
||||
Argument <replaceable>ENVIRONMENT</replaceable>
|
||||
must be a single word without any control characters. One of the following is suggested:
|
||||
<listitem><para>Set the deployment environment description.
|
||||
<replaceable>ENVIRONMENT</replaceable> must be a single word
|
||||
without any control characters. One of the following is
|
||||
suggested:
|
||||
<literal>development</literal>,
|
||||
<literal>integration</literal>,
|
||||
<literal>staging</literal>,
|
||||
<literal>production</literal>.
|
||||
</para>
|
||||
|
||||
<para>Pass an empty string to reset to the default empty
|
||||
value.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>location</command> [<replaceable>LOCATION</replaceable>]</term>
|
||||
<term><command>set-location <replaceable>LOCATION</replaceable></command></term>
|
||||
|
||||
<listitem><para>If no argument is given, print the location string for the system. If an
|
||||
optional argument <replaceable>LOCATION</replaceable> is provided then the command changes the
|
||||
location string for the system to <replaceable>LOCATION</replaceable>.
|
||||
Argument <replaceable>LOCATION</replaceable> should be a
|
||||
<listitem><para>Set the location string for the system, if it
|
||||
is known. <replaceable>LOCATION</replaceable> should be a
|
||||
human-friendly, free-form string describing the physical
|
||||
location of the system, if it is known and applicable. This
|
||||
may be as generic as <literal>Berlin, Germany</literal> or as
|
||||
specific as <literal>Left Rack, 2nd Shelf</literal>.</para>
|
||||
|
||||
<para>Pass an empty string to reset to the default empty
|
||||
value.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@ -184,7 +195,6 @@
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="help" />
|
||||
<xi:include href="standard-options.xml" xpointer="version" />
|
||||
<xi:include href="standard-options.xml" xpointer="json" />
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@ -74,17 +74,6 @@
|
||||
<listitem><para>SSL CA certificate.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>NetworkTimeoutSec=</varname></term>
|
||||
|
||||
<listitem><para>When network connectivity to the server is lost, this option
|
||||
configures the time to wait for the connectivity to get restored. If the server is
|
||||
not reachable over the network for the configured time, <command>systemd-journal-upload</command>
|
||||
exits. Takes a value in seconds (or in other time units if suffixed with "ms", "min", "h", etc).
|
||||
For details, see <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@ -28,9 +28,6 @@
|
||||
<para><filename>/run/systemd/journald.conf.d/*.conf</filename></para>
|
||||
<para><filename>/usr/lib/systemd/journald.conf.d/*.conf</filename></para>
|
||||
<para><filename>/etc/systemd/journald@<replaceable>NAMESPACE</replaceable>.conf</filename></para>
|
||||
<para><filename>/etc/systemd/journald@<replaceable>NAMESPACE</replaceable>.conf.d/*.conf</filename></para>
|
||||
<para><filename>/run/systemd/journald@<replaceable>NAMESPACE</replaceable>.conf.d/*.conf</filename></para>
|
||||
<para><filename>/usr/lib/systemd/journald@<replaceable>NAMESPACE</replaceable>.conf.d/*.conf</filename></para>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
@ -44,9 +41,8 @@
|
||||
|
||||
<para>The <command>systemd-journald</command> instance managing the default namespace is configured by
|
||||
<filename>/etc/systemd/journald.conf</filename> and associated drop-ins. Instances managing other
|
||||
namespaces read <filename>/etc/systemd/journald@<replaceable>NAMESPACE</replaceable>.conf</filename>
|
||||
and associated drop-ins with the namespace identifier filled in. This allows each namespace to carry
|
||||
a distinct configuration. See
|
||||
namespaces read <filename>/etc/systemd/journald@<replaceable>NAMESPACE</replaceable>.conf</filename> with
|
||||
the namespace identifier filled in. This allows each namespace to carry a distinct configuration. See
|
||||
<citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
for details about journal namespaces.</para>
|
||||
</refsect1>
|
||||
@ -78,11 +74,6 @@
|
||||
the kernel log buffer, or a syslog socket will still work). Defaults to <literal>auto</literal> in
|
||||
the default journal namespace, and <literal>persistent</literal> in all others.</para>
|
||||
|
||||
<para>Note that journald will initially use volatile storage, until a call to
|
||||
<command>journalctl --flush</command> (or sending <constant>SIGUSR1</constant> to journald) will cause
|
||||
it to switch to persistent logging (under the conditions mentioned above). This is done automatically
|
||||
on boot via <literal>systemd-journal-flush.service</literal>.</para>
|
||||
|
||||
<para>Note that when this option is changed to <literal>volatile</literal>, existing persistent data
|
||||
is not removed. In the other direction,
|
||||
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> with
|
||||
|
||||
@ -113,18 +113,18 @@
|
||||
<varlistentry>
|
||||
<term><command>terminate-session</command> <replaceable>ID</replaceable>…</term>
|
||||
|
||||
<listitem><para>Terminates a session. This kills all processes of the session and deallocates all
|
||||
resources attached to the session. If the argument is specified as empty string the session invoking
|
||||
the command is terminated.</para></listitem>
|
||||
<listitem><para>Terminates a session. This kills all processes
|
||||
of the session and deallocates all resources attached to the
|
||||
session. </para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>kill-session</command> <replaceable>ID</replaceable>…</term>
|
||||
|
||||
<listitem><para>Send a signal to one or more processes of the session. Use
|
||||
<option>--kill-who=</option> to select which process to kill. Use <option>--signal=</option> to
|
||||
select the signal to send. If the argument is specified as empty string the signal is sent to the
|
||||
session invoking the command.</para></listitem>
|
||||
<listitem><para>Send a signal to one or more processes of the
|
||||
session. Use <option>--kill-who=</option> to select which
|
||||
process to kill. Use <option>--signal=</option> to select the
|
||||
signal to send.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist></refsect2>
|
||||
|
||||
@ -184,17 +184,17 @@
|
||||
<varlistentry>
|
||||
<term><command>terminate-user</command> <replaceable>USER</replaceable>…</term>
|
||||
|
||||
<listitem><para>Terminates all sessions of a user. This kills all processes of all sessions of the
|
||||
user and deallocates all runtime resources attached to the user. If the argument is specified as
|
||||
empty string the sessions of the user invoking the command are terminated.</para></listitem>
|
||||
<listitem><para>Terminates all sessions of a user. This kills
|
||||
all processes of all sessions of the user and deallocates all
|
||||
runtime resources attached to the user.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><command>kill-user</command> <replaceable>USER</replaceable>…</term>
|
||||
|
||||
<listitem><para>Send a signal to all processes of a user. Use <option>--signal=</option> to select
|
||||
the signal to send. If the argument is specified as empty string the signal is sent to the sessions
|
||||
of the user invoking the command.</para></listitem>
|
||||
<listitem><para>Send a signal to all processes of a user. Use
|
||||
<option>--signal=</option> to select the signal to send.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist></refsect2>
|
||||
|
||||
|
||||
@ -147,13 +147,15 @@
|
||||
<refsect1>
|
||||
<title>Relation to OSF UUIDs</title>
|
||||
|
||||
<para>Note that the machine ID historically is not an OSF UUID as defined by <ulink
|
||||
url="https://tools.ietf.org/html/rfc4122">RFC 4122</ulink>, nor a Microsoft GUID; however, starting with
|
||||
systemd v30, newly generated machine IDs do qualify as Variant 1 Version 4 UUIDs, as per RFC 4122.</para>
|
||||
<para>Note that the machine ID historically is not an OSF UUID as
|
||||
defined by <ulink url="https://tools.ietf.org/html/rfc4122">RFC
|
||||
4122</ulink>, nor a Microsoft GUID; however, starting with systemd
|
||||
v30, newly generated machine IDs do qualify as v4 UUIDs.</para>
|
||||
|
||||
<para>In order to maintain compatibility with existing installations, an application requiring a strictly
|
||||
RFC 4122 compliant UUID should decode the machine ID, and then (non-reversibly) apply the following
|
||||
operations to turn it into a valid RFC 4122 Variant 1 Version 4 UUID. With <literal>id</literal> being an
|
||||
<para>In order to maintain compatibility with existing
|
||||
installations, an application requiring a UUID should decode the
|
||||
machine ID, and then apply the following operations to turn it
|
||||
into a valid OSF v4 UUID. With <literal>id</literal> being an
|
||||
unsigned character array:</para>
|
||||
|
||||
<programlisting>/* Set UUID version to 4 --- truly random generation */
|
||||
|
||||
@ -26,12 +26,10 @@ custom_man_xsl = files('custom-man.xsl')
|
||||
custom_html_xsl = files('custom-html.xsl')
|
||||
xslt_cmd = [xsltproc, '-o', '@OUTPUT0@'] + xsltproc_flags
|
||||
|
||||
custom_entities_ent = custom_target(
|
||||
'custom-entities.ent',
|
||||
custom_entities_ent = configure_file(
|
||||
input : 'custom-entities.ent.in',
|
||||
output : 'custom-entities.ent',
|
||||
command : [meson_render_jinja2, config_h, '@INPUT@'],
|
||||
capture : true)
|
||||
configuration : conf)
|
||||
|
||||
man_pages = []
|
||||
html_pages = []
|
||||
@ -62,7 +60,7 @@ foreach tuple : xsltproc.found() ? manpages : []
|
||||
input : xml,
|
||||
output : [man] + manaliases,
|
||||
command : xslt_cmd + [custom_man_xsl, '@INPUT@'],
|
||||
depends : custom_entities_ent,
|
||||
depend_files : custom_entities_ent,
|
||||
install : want_man,
|
||||
install_dir : mandirn)
|
||||
man_pages += p1
|
||||
@ -72,7 +70,7 @@ foreach tuple : xsltproc.found() ? manpages : []
|
||||
link = custom_target(
|
||||
htmlalias,
|
||||
output : htmlalias,
|
||||
command : [ln, '-fs', html, '@OUTPUT@'])
|
||||
command : ['ln', '-fs', html, '@OUTPUT@'])
|
||||
if want_html
|
||||
dst = join_paths(docdir, 'html', htmlalias)
|
||||
cmd = 'ln -fs @0@ $DESTDIR@1@'.format(html, dst)
|
||||
@ -87,7 +85,8 @@ foreach tuple : xsltproc.found() ? manpages : []
|
||||
input : xml,
|
||||
output : html,
|
||||
command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
|
||||
depends : [custom_entities_ent, p2],
|
||||
depend_files : custom_entities_ent,
|
||||
depends : p2,
|
||||
install : want_html,
|
||||
install_dir : join_paths(docdir, 'html'))
|
||||
html_pages += p3
|
||||
@ -113,7 +112,6 @@ systemd_directives_xml = custom_target(
|
||||
'systemd.directives.xml',
|
||||
input : ['directives-template.xml', source_xml_files],
|
||||
output : 'systemd.directives.xml',
|
||||
depends : custom_entities_ent,
|
||||
command : [make_directive_index_py, '@OUTPUT@', '@INPUT@'])
|
||||
|
||||
nonindex_xml_files = source_xml_files + [systemd_directives_xml]
|
||||
@ -150,7 +148,7 @@ foreach tuple : xsltproc.found() ? [['systemd.directives', '7', systemd_directiv
|
||||
htmlalias,
|
||||
input : p2,
|
||||
output : htmlalias,
|
||||
command : [ln, '-fs', html, '@OUTPUT@'])
|
||||
command : ['ln', '-fs', html, '@OUTPUT@'])
|
||||
if want_html
|
||||
dst = join_paths(docdir, 'html', htmlalias)
|
||||
cmd = 'ln -fs @0@ $DESTDIR@1@'.format(html, dst)
|
||||
@ -165,7 +163,8 @@ foreach tuple : xsltproc.found() ? [['systemd.directives', '7', systemd_directiv
|
||||
input : xml,
|
||||
output : html,
|
||||
command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
|
||||
depends : [custom_entities_ent, p2],
|
||||
depend_files : custom_entities_ent,
|
||||
depends : p2,
|
||||
install : want_html and have_lxml,
|
||||
install_dir : join_paths(docdir, 'html'))
|
||||
html_pages += p3
|
||||
@ -177,39 +176,34 @@ man = custom_target(
|
||||
'man',
|
||||
output : 'man',
|
||||
depends : man_pages,
|
||||
command : [echo])
|
||||
command : ['echo'])
|
||||
|
||||
html = custom_target(
|
||||
'html',
|
||||
output : 'html',
|
||||
depends : html_pages,
|
||||
command : [echo])
|
||||
command : ['echo'])
|
||||
|
||||
if rsync.found()
|
||||
run_target(
|
||||
'doc-sync',
|
||||
depends : man_pages + html_pages,
|
||||
command : [rsync, '-rlv',
|
||||
'--delete-excluded',
|
||||
'--include=man',
|
||||
'--include=*.html',
|
||||
'--exclude=*',
|
||||
'--omit-dir-times',
|
||||
meson.current_build_dir(),
|
||||
get_option('www-target')])
|
||||
endif
|
||||
run_target(
|
||||
'doc-sync',
|
||||
depends : man_pages + html_pages,
|
||||
command : ['rsync', '-rlv',
|
||||
'--delete-excluded',
|
||||
'--include=man',
|
||||
'--include=*.html',
|
||||
'--exclude=*',
|
||||
'--omit-dir-times',
|
||||
meson.current_build_dir(),
|
||||
get_option('www-target')])
|
||||
|
||||
############################################################
|
||||
|
||||
buildroot_substs = configuration_data()
|
||||
buildroot_substs.set_quoted('BUILD_ROOT', project_build_root)
|
||||
|
||||
configure_file(
|
||||
input : 'man.in',
|
||||
output : 'man',
|
||||
configuration : buildroot_substs)
|
||||
configuration : substs)
|
||||
|
||||
configure_file(
|
||||
input : 'html.in',
|
||||
output : 'html',
|
||||
configuration : buildroot_substs)
|
||||
configuration : substs)
|
||||
|
||||
@ -187,46 +187,14 @@
|
||||
|
||||
<para>Produces output similar to:
|
||||
<programlisting>
|
||||
● State: routable
|
||||
Online state: online
|
||||
Address: 10.193.76.5 on eth0
|
||||
192.168.122.1 on virbr0
|
||||
169.254.190.105 on eth0
|
||||
fe80::5054:aa:bbbb:cccc on eth0
|
||||
Gateway: 10.193.11.1 (CISCO SYSTEMS, INC.) on eth0
|
||||
DNS: 8.8.8.8
|
||||
8.8.4.4</programlisting></para>
|
||||
|
||||
<para>In the overall network status, the online state depends on the individual online state of all
|
||||
required links. Managed links are required for online by default. In this case, the online state is
|
||||
one of the following:
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>unknown</term>
|
||||
<listitem>
|
||||
<para>all links have unknown online status (i.e. there are no required links)</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>offline</term>
|
||||
<listitem>
|
||||
<para>all required links are offline</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>partial</term>
|
||||
<listitem>
|
||||
<para>some, but not all, required links are online</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>online</term>
|
||||
<listitem>
|
||||
<para>all required links are online</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
● State: routable
|
||||
Address: 10.193.76.5 on eth0
|
||||
192.168.122.1 on virbr0
|
||||
169.254.190.105 on eth0
|
||||
fe80::5054:aa:bbbb:cccc on eth0
|
||||
Gateway: 10.193.11.1 (CISCO SYSTEMS, INC.) on eth0
|
||||
DNS: 8.8.8.8
|
||||
8.8.4.4</programlisting></para>
|
||||
</listitem>
|
||||
|
||||
</varlistentry>
|
||||
@ -399,7 +367,6 @@ s - Service VLAN, m - Two-port MAC Relay (TPMR)
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="json" />
|
||||
<xi:include href="standard-options.xml" xpointer="help" />
|
||||
<xi:include href="standard-options.xml" xpointer="version" />
|
||||
<xi:include href="standard-options.xml" xpointer="no-legend" />
|
||||
|
||||
@ -62,24 +62,12 @@
|
||||
If <varname>SpeedMeter=no</varname>, the value is ignored. Defaults to 10sec.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>ManageForeignRoutingPolicyRules=</varname></term>
|
||||
<listitem><para>A boolean. When true, <command>systemd-networkd</command> will remove rules
|
||||
that are not configured in .network files (except for rules with protocol
|
||||
<literal>kernel</literal>). When false, it will not remove any foreign rules, keeping them even
|
||||
if they are not configured in a .network file. Defaults to yes.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>ManageForeignRoutes=</varname></term>
|
||||
<listitem><para>A boolean. When true, <command>systemd-networkd</command> will remove routes
|
||||
that are not configured in .network files (except for routes with protocol
|
||||
<literal>kernel</literal>, <literal>dhcp</literal> when <varname>KeepConfiguration=</varname>
|
||||
is true or <literal>dhcp</literal>, and <literal>static</literal> when
|
||||
<varname>KeepConfiguration=</varname> is true or <literal>static</literal>). When false, it will
|
||||
not remove any foreign routes, keeping them even if they are not configured in a .network file.
|
||||
Defaults to yes.</para></listitem>
|
||||
<listitem><para>A boolean. When true, <command>systemd-networkd</command> will store any routes
|
||||
configured by other tools in its memory. When false, <command>systemd-networkd</command> will
|
||||
not manage the foreign routes, thus they are kept even if <varname>KeepConfiguration=</varname>
|
||||
is false. Defaults to yes.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -98,12 +86,15 @@
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>[DHCPv4] Section Options</title>
|
||||
<title>[DHCP] Section Options</title>
|
||||
|
||||
<para>This section configures the DHCP Unique Identifier (DUID) value used by DHCP protocol. DHCPv4
|
||||
client protocol sends IAID and DUID to the DHCP server when acquiring a dynamic IPv4 address if
|
||||
<option>ClientIdentifier=duid</option>. IAID and DUID allows a DHCP server to uniquely identify the
|
||||
machine and the interface requesting a DHCP IP address. To configure IAID and ClientIdentifier, see
|
||||
<para>This section configures the DHCP Unique Identifier (DUID) value used by DHCP
|
||||
protocol. DHCPv6 client protocol sends the DHCP Unique Identifier and the interface
|
||||
Identity Association Identifier (IAID) to a DHCP server when acquiring a dynamic IPv6
|
||||
address. DHCPv4 client protocol sends IAID and DUID to the DHCP server when acquiring
|
||||
a dynamic IPv4 address if <option>ClientIdentifier=duid</option>. IAID and DUID allows
|
||||
a DHCP server to uniquely identify the machine and the interface requesting a DHCP IP.
|
||||
To configure IAID and ClientIdentifier, see
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
</para>
|
||||
|
||||
@ -185,28 +176,6 @@ DUIDRawData=00:00:ab:11:f9:2a:c2:77:29:f9:5c:00</programlisting>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>[DHCPv6] Section Options</title>
|
||||
|
||||
<para>This section configures the DHCP Unique Identifier (DUID) value used by DHCPv6 protocol.
|
||||
DHCPv6 client protocol sends the DHCP Unique Identifier and the interface Identity Association
|
||||
Identifier (IAID) to a DHCPv6 server when acquiring a dynamic IPv6 address. IAID and DUID allows a
|
||||
DHCPv6 server to uniquely identify the machine and the interface requesting a DHCP IP address. To
|
||||
configure IAID, see
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
</para>
|
||||
|
||||
<para>The following options are understood:</para>
|
||||
|
||||
<variablelist class='network-directives'>
|
||||
<varlistentry>
|
||||
<term><varname>DUIDType=</varname></term>
|
||||
<term><varname>DUIDRawData=</varname></term>
|
||||
<listitem><para>As in the [DHCPv4] section.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
<para>
|
||||
|
||||
@ -51,13 +51,6 @@
|
||||
ordered by their metric. This assigns a stable hostname to the
|
||||
current gateway, useful for referencing it independently of the
|
||||
current network configuration state.</para></listitem>
|
||||
|
||||
<listitem><para>The hostname <literal>_outbound</literal> is resolved to the local IPv4 and IPv6
|
||||
addresses that are most likely used for communication with other hosts. This is determined by
|
||||
requesting a routing decision to the configured default gateways from the kernel and then using the
|
||||
local IP addresses selected by this decision. This hostname is only available if there is at least one
|
||||
local default gateway configured. This assigns a stable hostname to the local outbound IP addresses,
|
||||
useful for referencing them independently of the current network configuration state.</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Various software relies on an always-resolvable local
|
||||
@ -91,9 +84,7 @@
|
||||
<!-- synchronize with other nss-* man pages and factory/etc/nsswitch.conf -->
|
||||
<programlisting>passwd: compat systemd
|
||||
group: compat [SUCCESS=merge] systemd
|
||||
shadow: compat systemd
|
||||
gshadow: files systemd
|
||||
|
||||
shadow: compat
|
||||
|
||||
# Either (untrusted network, see above):
|
||||
hosts: mymachines resolve [!UNAVAIL=return] files <command>myhostname</command> dns
|
||||
|
||||
@ -39,15 +39,6 @@
|
||||
Note that the name that is resolved is the one registered with <command>systemd-machined</command>, which
|
||||
may be different than the hostname configured inside of the container.</para>
|
||||
|
||||
<para>Note that this NSS module only makes available names of the containers running immediately below
|
||||
the current system context. It does not provide host name resolution for containers running side-by-side
|
||||
with the invoking system context, or containers further up or down the container hierarchy. Or in other
|
||||
words, on the host system it provides host name resolution for the containers running immediately below
|
||||
the host environment. When used inside a container environment however, it will not be able to provide
|
||||
name resolution for containers running on the host (as those are siblings and not children of the current
|
||||
container environment), but instead only for nested containers running immediately below its own
|
||||
container environment.</para>
|
||||
|
||||
<para>To activate the NSS module, add <literal>mymachines</literal> to the line starting with
|
||||
<literal>hosts:</literal> in <filename>/etc/nsswitch.conf</filename>.</para>
|
||||
|
||||
@ -66,8 +57,7 @@
|
||||
<!-- synchronize with other nss-* man pages and factory/etc/nsswitch.conf -->
|
||||
<programlisting>passwd: compat systemd
|
||||
group: compat [SUCCESS=merge] systemd
|
||||
shadow: compat systemd
|
||||
gshadow: files systemd
|
||||
shadow: compat
|
||||
|
||||
hosts: <command>mymachines</command> resolve [!UNAVAIL=return] files myhostname dns
|
||||
networks: files
|
||||
|
||||
@ -63,8 +63,7 @@
|
||||
<!-- synchronize with other nss-* man pages and factory/etc/nsswitch.conf -->
|
||||
<programlisting>passwd: compat systemd
|
||||
group: compat [SUCCESS=merge] systemd
|
||||
shadow: compat systemd
|
||||
gshadow: files systemd
|
||||
shadow: compat
|
||||
|
||||
hosts: mymachines <command>resolve [!UNAVAIL=return]</command> files myhostname dns
|
||||
networks: files
|
||||
|
||||
@ -47,56 +47,11 @@
|
||||
for resolving users and groups, but also works without the service running.</para>
|
||||
|
||||
<para>To activate the NSS module, add <literal>systemd</literal> to the lines starting with
|
||||
<literal>passwd:</literal>, <literal>group:</literal>, <literal>shadow:</literal> and
|
||||
<literal>gshadow:</literal> in <filename>/etc/nsswitch.conf</filename>.</para>
|
||||
<literal>passwd:</literal> and <literal>group:</literal> in <filename>/etc/nsswitch.conf</filename>.</para>
|
||||
|
||||
<para>It is recommended to place <literal>systemd</literal> after the <literal>files</literal> or
|
||||
<literal>compat</literal> entry of the <filename>/etc/nsswitch.conf</filename> lines so that
|
||||
<filename>/etc/passwd</filename>, <filename>/etc/group</filename>, <filename>/etc/shadow</filename> and
|
||||
<filename>/etc/gshadow</filename> based mappings take precedence.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Static Drop-In JSON User/Group Records</title>
|
||||
|
||||
<para>Besides user/group records acquired via the aforementioned Varlink IPC interfaces and the
|
||||
synthesized root and nobody accounts, this module also makes user and group accounts available to the
|
||||
system that are defined in static drop-in files in the <filename>/etc/userdb/</filename>,
|
||||
<filename>/run/userdb/</filename>, <filename>/run/host/userdb/</filename> and
|
||||
<filename>/usr/lib/userdb/</filename> directories.</para>
|
||||
|
||||
<para>This is a simple mechanism to provide static user and group records via JSON drop-in files. Such
|
||||
user records should be defined in the format described by the <ulink
|
||||
url="https://systemd.io/USER_RECORD">JSON User Record</ulink> specification and be placed in one of the
|
||||
aforementioned directories under a file name composed of the user name suffixed with
|
||||
<filename>.user</filename>, with a world-readable access mode. A symlink named after the user record's
|
||||
UID formatted in decimal and suffixed with <filename>.user</filename> pointing to the primary record file
|
||||
should be created as well, in order to allow both lookups by username and by UID. Privileged user record
|
||||
data (e.g. hashed UNIX passwords) may optionally be provided as well, in a pair of separate companion
|
||||
files with the <filename>.user-privileged</filename> suffix. The data should be stored in a regular file
|
||||
named after the user name, suffixed with <filename>.user-privileged</filename>, and a symlink pointing to
|
||||
it, named after the used numeric UID formatted in decimal with the same suffix. These companion files
|
||||
should not be readable to anyone but root. Example:</para>
|
||||
|
||||
<programlisting>-rw-r--r--. 1 root root 723 May 10 foobar.user
|
||||
-rw-------. 1 root root 123 May 10 foobar.user-privileged
|
||||
lrwxrwxrwx. 1 root root 19 May 10 4711.user -> foobar.user
|
||||
lrwxrwxrwx. 1 root root 19 May 10 4711.user-privileged -> foobar.user-privileged</programlisting>
|
||||
|
||||
<para>Similarly, group records following the format described in <ulink
|
||||
url="https://systemd.io/GROUP_RECORD">JSON Group Record</ulink> may be defined, using the file suffixes
|
||||
<filename>.group</filename> and <filename>.group-privileged</filename>.</para>
|
||||
|
||||
<para>The primary user/group record files (i.e. those with the <filename>.user</filename> and
|
||||
<filename>.group</filename> suffixes) should not contain the <literal>privileged</literal> section as
|
||||
described in the specifications. The privileged user/group record files (i.e. those with the
|
||||
<filename>.user-privileged</filename> and <filename>.group-privileged</filename> suffixes) should
|
||||
contain this section, exclusively.</para>
|
||||
|
||||
<para>Note that static user/group records generally do not override conflicting records in
|
||||
<filename>/etc/passwd</filename> or <filename>/etc/group</filename> or other account databases. In fact,
|
||||
before dropping in these files a reasonable level of care should be taken to avoid user/group name and
|
||||
UID/GID conflicts.</para>
|
||||
<filename>/etc/passwd</filename> and <filename>/etc/group</filename> based mappings take precedence.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
@ -108,8 +63,7 @@ lrwxrwxrwx. 1 root root 19 May 10 4711.user-privileged -> foobar.user-privileg
|
||||
<!-- synchronize with other nss-* man pages and factory/etc/nsswitch.conf -->
|
||||
<programlisting>passwd: compat <command>systemd</command>
|
||||
group: compat [SUCCESS=merge] <command>systemd</command>
|
||||
shadow: compat <command>systemd</command>
|
||||
gshadow: files <command>systemd</command>
|
||||
shadow: compat
|
||||
|
||||
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
|
||||
networks: files
|
||||
|
||||
@ -50,11 +50,11 @@
|
||||
<varlistentry>
|
||||
<term><varname>SwapUsedLimit=</varname></term>
|
||||
|
||||
<listitem><para>Sets the limit for memory and swap usage on the system before <command>systemd-oomd</command>
|
||||
will take action. If the fraction of memory used and the fraction of swap used on the system are both more than
|
||||
what is defined here, <command>systemd-oomd</command> will act on eligible descendant control groups with swap
|
||||
usage greater than 5% of total swap, starting from the ones with the highest swap usage. Which
|
||||
control groups are monitored and what action gets taken depends on what the unit has configured for
|
||||
<listitem><para>Sets the limit for swap usage on the system before <command>systemd-oomd</command>
|
||||
will take action. If the fraction of swap used on the system is more than what is defined here,
|
||||
<command>systemd-oomd</command> will act on eligible descendant control groups, starting from the
|
||||
ones with the highest swap usage to the lowest swap usage. Which control groups are monitored and
|
||||
what action gets taken depends on what the unit has configured for
|
||||
<varname>ManagedOOMSwap=</varname>. Takes a value specified in percent (when suffixed with "%"),
|
||||
permille ("‰") or permyriad ("‱"), between 0% and 100%, inclusive. Defaults to 90%.</para></listitem>
|
||||
</varlistentry>
|
||||
@ -81,7 +81,7 @@
|
||||
<listitem><para>Sets the amount of time a unit's control group needs to have exceeded memory pressure
|
||||
limits before <command>systemd-oomd</command> will take action. Memory pressure limits are defined by
|
||||
<varname>DefaultMemoryPressureLimit=</varname> and <varname>ManagedOOMMemoryPressureLimit=</varname>.
|
||||
Must be set to 0, or at least 1 second. Defaults to 30 seconds when unset or 0.</para></listitem>
|
||||
Defaults to 30 seconds when this property is unset or set to 0.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
@ -58,7 +58,6 @@ node /org/freedesktop/hostname1 {
|
||||
in b interactive);
|
||||
GetProductUUID(in b interactive,
|
||||
out ay uuid);
|
||||
Describe(out s json);
|
||||
properties:
|
||||
readonly s Hostname = '...';
|
||||
readonly s StaticHostname = '...';
|
||||
@ -119,8 +118,6 @@ node /org/freedesktop/hostname1 {
|
||||
|
||||
<variablelist class="dbus-method" generated="True" extra-ref="GetProductUUID()"/>
|
||||
|
||||
<variablelist class="dbus-method" generated="True" extra-ref="Describe()"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="Hostname"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="StaticHostname"/>
|
||||
@ -193,7 +190,7 @@ node /org/freedesktop/hostname1 {
|
||||
<para>The <varname>HostnameSource</varname> property exposes the origin of the currently configured
|
||||
hostname. One of <literal>static</literal> (set from <filename>/etc/hostname</filename>),
|
||||
<literal>transient</literal> (a non-permanent hostname from an external source),
|
||||
<literal>default</literal> (the value from <filename>os-release</filename> or the compiled-in
|
||||
<literal>default</literal> (the value from <filename>os-release</filename> or the the compiled-in
|
||||
fallback).</para>
|
||||
|
||||
<para>The <varname>IconName</varname> property exposes the <emphasis>icon name</emphasis> following the
|
||||
@ -235,17 +232,6 @@ node /org/freedesktop/hostname1 {
|
||||
<citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
for that. For more information on these files and syscalls see the respective man pages.</para>
|
||||
|
||||
<para><varname>KernelName</varname>, <varname>KernelRelease</varname>, and
|
||||
<varname>KernelVersion</varname> expose the kernel name (e.g. <literal>Linux</literal>), release
|
||||
(e.g. <literal>5.0.0-11</literal>), and version (i.e. the build number, e.g. <literal>#11</literal>) as
|
||||
reported by <citerefentry project="man-pages"><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
|
||||
<varname>OperatingSystemPrettyName</varname>, <varname>OperatingSystemCPEName</varname>, and
|
||||
<varname>HomeURL</varname> expose the <varname>PRETTY_NAME=</varname>, <varname>CPE_NAME=</varname> and
|
||||
<varname>HOME_URL=</varname> fields from
|
||||
<citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>. The
|
||||
purpose of those properties is to allow remote clients to access this information over D-Bus. Local
|
||||
clients can access the information directly.</para>
|
||||
|
||||
<refsect2>
|
||||
<title>Methods</title>
|
||||
|
||||
@ -275,12 +261,22 @@ node /org/freedesktop/hostname1 {
|
||||
<citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
|
||||
the semantics of those settings.</para>
|
||||
|
||||
<para><function>GetProductUUID()</function> returns the "product UUID" as exposed by the kernel based
|
||||
<para><function>GetProductUUID()</function> returns the "product uuid" as exposed by the kernel based
|
||||
on DMI information in <filename>/sys/class/dmi/id/product_uuid</filename>. Reading the file directly
|
||||
requires root privileges, and this method allows access to unprivileged clients through the polkit
|
||||
framework.</para>
|
||||
|
||||
<para><function>Describe()</function> returns a JSON representation of all properties in one.</para>
|
||||
<para><varname>KernelName</varname>, <varname>KernelRelease</varname>, and
|
||||
<varname>KernelVersion</varname> expose the kernel name (e.g. <literal>Linux</literal>), release
|
||||
(e.g. <literal>5.0.0-11</literal>), and version (i.e. the build number, e.g. <literal>#11</literal>) as
|
||||
reported by
|
||||
<citerefentry project="man-pages"><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
|
||||
<varname>OperatingSystemPrettyName</varname>, <varname>OperatingSystemCPEName</varname>, and
|
||||
<varname>HomeURL</varname> expose the <varname>PRETTY_NAME=</varname>, <varname>CPE_NAME=</varname> and
|
||||
<varname>HOME_URL=</varname> fields from
|
||||
<citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>. The
|
||||
purpose of those properties is to allow remote clients to access this information over D-Bus. Local
|
||||
clients can access the information directly.</para>
|
||||
</refsect2>
|
||||
|
||||
<refsect2>
|
||||
|
||||
@ -555,13 +555,10 @@ node /org/freedesktop/login1 {
|
||||
extendability, defined as follows:</para>
|
||||
<programlisting>
|
||||
#define SD_LOGIND_ROOT_CHECK_INHIBITORS (UINT64_C(1) << 0)
|
||||
#define SD_LOGIND_KEXEC_REBOOT (UINT64_C(1) << 1)
|
||||
</programlisting>
|
||||
<para> When the <varname>flags</varname> is 0 then these methods behave just like the versions
|
||||
without flags. When <constant>SD_LOGIND_ROOT_CHECK_INHIBITORS</constant> (0x01) is set, active
|
||||
inhibitors are honoured for privileged users too. When <constant>SD_LOGIND_KEXEC_REBOOT</constant>
|
||||
(0x02) is set, then <function>RebootWithFlags()</function> perform kexec reboot if kexec
|
||||
kernel is loaded.</para>
|
||||
inhibitors are honoured for privileged users too.</para>
|
||||
|
||||
<para><function>SetRebootParameter()</function> sets a parameter for a subsequent reboot operation.
|
||||
See the description of <command>reboot</command> in
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user