mirror of
https://git.proxmox.com/git/systemd
synced 2025-08-03 00:09:30 +00:00
New upstream version 247~rc2
This commit is contained in:
parent
883b242a8a
commit
a032b68d06
@ -74,9 +74,6 @@ ForEachMacros:
|
||||
- FOREACH_INOTIFY_EVENT
|
||||
- FOREACH_STRING
|
||||
- FOREACH_SUBSYSTEM
|
||||
- _FOREACH_WORD
|
||||
- FOREACH_WORD
|
||||
- FOREACH_WORD_SEPARATOR
|
||||
- HASHMAP_FOREACH
|
||||
- HASHMAP_FOREACH_IDX
|
||||
- HASHMAP_FOREACH_KEY
|
||||
|
9
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
9
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
@ -5,7 +5,7 @@ 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 (non-rc) systemd versions upstream! -->
|
||||
<!-- See https://github.com/systemd/systemd/releases for the list of most recent releases. -->
|
||||
@ -14,6 +14,12 @@ about: A report of an error in a recent systemd version
|
||||
**Used distribution**
|
||||
> …
|
||||
|
||||
**Linux kernel version used** (`uname -a`)
|
||||
> …
|
||||
|
||||
**CPU architecture issue was seen on**
|
||||
> …
|
||||
|
||||
**Expected behaviour you didn't see**
|
||||
> …
|
||||
|
||||
@ -21,3 +27,4 @@ about: A report of an error in a recent systemd version
|
||||
> …
|
||||
|
||||
**Steps to reproduce the problem**
|
||||
> …
|
||||
|
3
.github/workflows/build_test.yml
vendored
3
.github/workflows/build_test.yml
vendored
@ -13,13 +13,14 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
env:
|
||||
- { COMPILER: "gcc", COMPILER_VERSION: "10" }
|
||||
- { COMPILER: "clang", COMPILER_VERSION: "10" }
|
||||
- { COMPILER: "clang", COMPILER_VERSION: "11" }
|
||||
env: ${{ matrix.env }}
|
||||
steps:
|
||||
- name: Repository checkout
|
||||
|
3
.github/workflows/ubuntu-build-check.sh
vendored
3
.github/workflows/ubuntu-build-check.sh
vendored
@ -19,7 +19,6 @@ PACKAGES=(
|
||||
expect
|
||||
fdisk
|
||||
gettext
|
||||
iptables-dev
|
||||
iputils-ping
|
||||
isc-dhcp-client
|
||||
itstool
|
||||
@ -28,6 +27,7 @@ PACKAGES=(
|
||||
libcap-dev
|
||||
libcurl4-gnutls-dev
|
||||
libfdisk-dev
|
||||
libfido2-dev
|
||||
libgpg-error-dev
|
||||
liblz4-dev
|
||||
liblzma-dev
|
||||
@ -38,6 +38,7 @@ PACKAGES=(
|
||||
libqrencode-dev
|
||||
libssl-dev
|
||||
libxkbcommon-dev
|
||||
libxtables-dev
|
||||
libzstd-dev
|
||||
mount
|
||||
net-tools
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Copyright © 2016 Zeal Jagannatha
|
||||
|
||||
@ -39,7 +39,6 @@ BuildPackages=
|
||||
libidn2
|
||||
libmicrohttpd
|
||||
libseccomp
|
||||
libtool
|
||||
libutil-linux
|
||||
libxkbcommon
|
||||
libxslt
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
|
||||
# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
|
||||
@ -48,7 +48,6 @@ BuildPackages=
|
||||
libqrencode-dev
|
||||
libseccomp-dev
|
||||
libsmartcols-dev
|
||||
libtool
|
||||
libxkbcommon-dev
|
||||
libzstd-dev
|
||||
m4
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
|
||||
# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
|
||||
@ -38,6 +38,7 @@ BuildPackages=
|
||||
libcap-devel
|
||||
libcurl-devel
|
||||
libfdisk-devel
|
||||
libfido2-devel
|
||||
libgcrypt-devel
|
||||
libidn2-devel
|
||||
libmicrohttpd-devel
|
||||
@ -52,6 +53,7 @@ BuildPackages=
|
||||
lz4-devel
|
||||
m4
|
||||
meson
|
||||
ninja-build
|
||||
openssl-devel
|
||||
p11-kit-devel
|
||||
pam-devel
|
||||
@ -66,7 +68,8 @@ BuildPackages=
|
||||
zstd
|
||||
|
||||
Packages=
|
||||
# libzstd can be dropped once the Fedora RPM gets a dependency on it
|
||||
# libfido2 + libzstd can be dropped once the Fedora RPM gets a dependency on them
|
||||
libfido2
|
||||
libzstd
|
||||
# procps-ng provides a set of useful utilies (ps, free, etc)
|
||||
procps-ng
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
|
||||
# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
|
||||
# Symlink this file to mkosi.default in the project root directory and invoke "mkosi" to build an OS image.
|
||||
@ -50,7 +50,6 @@ BuildPackages=
|
||||
libqrencode-dev
|
||||
libseccomp-dev
|
||||
libsmartcols-dev
|
||||
libtool
|
||||
libxkbcommon-dev
|
||||
libxtables-dev
|
||||
libzstd-dev
|
||||
|
636
NEWS
636
NEWS
@ -1,5 +1,637 @@
|
||||
systemd System and Service Manager
|
||||
|
||||
CHANGES WITH 247 in spe:
|
||||
|
||||
* KERNEL API INCOMPATIBILITY: Linux 4.12 introduced two new uevents
|
||||
"bind" and "unbind" to the Linux device model. When this kernel
|
||||
change was made, systemd-udevd was only minimally updated to handle
|
||||
and propagate these new event types. The introduction of these new
|
||||
uevents (which are typically generated for USB devices and devices
|
||||
needing a firmware upload before being functional) resulted in a
|
||||
number of issues which we so far didn't address. We hoped the kernel
|
||||
maintainers would themselves address these issues in some form, but
|
||||
that did not happen. To handle them properly, many (if not most) udev
|
||||
rules files shipped in various packages need updating, and so do many
|
||||
programs that monitor or enumerate devices with libudev or sd-device,
|
||||
or otherwise process uevents. Please note that this incompatibility
|
||||
is not fault of systemd or udev, but caused by an incompatible kernel
|
||||
change that happened back in Linux 4.12, but is becoming more and
|
||||
more visible as the new uevents are generated by more kernel drivers.
|
||||
|
||||
To minimize issues resulting from this kernel change (but not avoid
|
||||
them entirely) starting with systemd-udevd 247 the udev "tags"
|
||||
concept (which is a concept for marking and filtering devices during
|
||||
enumeration and monitoring) has been reworked: udev tags are now
|
||||
"sticky", meaning that once a tag is assigned to a device it will not
|
||||
be removed from the device again until the device itself is removed
|
||||
(i.e. unplugged). This makes sure that any application monitoring
|
||||
devices that match a specific tag is guaranteed to both see uevents
|
||||
where the device starts being relevant, and those where it stops
|
||||
being relevant (the latter now regularly happening due to the new
|
||||
"unbind" uevent type). The udev tags concept is hence now a concept
|
||||
tied to a *device* instead of a device *event* — unlike for example
|
||||
udev properties whose lifecycle (as before) is generally tied to a
|
||||
device event, meaning that the previously determined properties are
|
||||
forgotten whenever a new uevent is processed.
|
||||
|
||||
With the newly redefined udev tags concept, sometimes it's necessary
|
||||
to determine which tags are the ones applied by the most recent
|
||||
uevent/database update, in order to discern them from those
|
||||
originating from earlier uevents/database updates of the same
|
||||
device. To accommodate for this a new automatic property CURRENT_TAGS
|
||||
has been added that works similar to the existing TAGS property but
|
||||
only lists tags set by the most recent uevent/database
|
||||
update. Similarly, the libudev/sd-device API has been updated with
|
||||
new functions to enumerate these 'current' tags, in addition to the
|
||||
existing APIs that now enumerate the 'sticky' ones.
|
||||
|
||||
To properly handle "bind"/"unbind" on Linux 4.12 and newer it is
|
||||
essential that all udev rules files and applications are updated to
|
||||
handle the new events. Specifically:
|
||||
|
||||
• All rule files that currently use a header guard similar to
|
||||
ACTION!="add|change",GOTO="xyz_end" should be updated to use
|
||||
ACTION=="remove",GOTO="xyz_end" instead, so that the
|
||||
properties/tags they add are also applied whenever "bind" (or
|
||||
"unbind") is seen. (This is most important for all physical device
|
||||
types — those for which "bind" and "unbind" are currently
|
||||
generated, for all other device types this change is still
|
||||
recommended but not as important — but certainly prepares for
|
||||
future kernel uevent type additions).
|
||||
|
||||
• Similarly, all code monitoring devices that contains an 'if' branch
|
||||
discerning the "add" + "change" uevent actions from all other
|
||||
uevents actions (i.e. considering devices only relevant after "add"
|
||||
or "change", and irrelevant on all other events) should be reworked
|
||||
to instead negatively check for "remove" only (i.e. considering
|
||||
devices relevant after all event types, except for "remove", which
|
||||
invalidates the device). Note that this also means that devices
|
||||
should be considered relevant on "unbind", even though conceptually
|
||||
this — in some form — invalidates the device. Since the precise
|
||||
effect of "unbind" is not generically defined, devices should be
|
||||
considered relevant even after "unbind", however I/O errors
|
||||
accessing the device should then be handled gracefully.
|
||||
|
||||
• Any code that uses device tags for deciding whether a device is
|
||||
relevant or not most likely needs to be updated to use the new
|
||||
udev_device_has_current_tag() API (or sd_device_has_current_tag()
|
||||
in case sd-device is used), to check whether the tag is set at the
|
||||
moment an uevent is seen (as opposed to the existing
|
||||
udev_device_has_tag() API which checks if the tag ever existed on
|
||||
the device, following the API concept redefinition explained
|
||||
above).
|
||||
|
||||
We are very sorry for this breakage and the requirement to update
|
||||
packages using these interfaces. We'd again like to underline that
|
||||
this is not caused by systemd/udev changes, but result of a kernel
|
||||
behaviour change.
|
||||
|
||||
* The MountAPIVFS= service file setting now defaults to on if
|
||||
RootImage= and RootDirectory= are used, which means that with those
|
||||
two settings /proc/, /sys/ and /dev/ are automatically properly set
|
||||
up for services. Previous behaviour may be restored by explicitly
|
||||
setting MountAPIVFS=off.
|
||||
|
||||
* Since PAM 1.2.0 (2015) configuration snippets may be placed in
|
||||
/usr/lib/pam.d/ in addition to /etc/pam.d/. If a file exists in the
|
||||
latter it takes precedence over the former, similar to how most of
|
||||
systemd's own configuration is handled. Given that PAM stack
|
||||
definitions are primarily put together by OS vendors/distributions
|
||||
(though possibly overridden by users), this systemd release moves its
|
||||
own PAM stack configuration for the "systemd-user" PAM service (i.e.
|
||||
for the PAM session invoked by the per-user user@.service instance)
|
||||
from /etc/pam.d/ to /usr/lib/pam.d/. We recommend moving all
|
||||
packages' vendor versions of their PAM stack definitions from
|
||||
/etc/pam.d/ to /usr/lib/pam.d/, but if such OS-wide migration is not
|
||||
desired the location to which systemd installs its PAM stack
|
||||
configuration may be changed via the -Dpamconfdir Meson option.
|
||||
|
||||
* The runtime dependencies on libqrencode, libpcre2, libidn/libidn2,
|
||||
libpwquality and libcryptsetup have been changed to be based on
|
||||
dlopen(): instead of regular dynamic library dependencies declared in
|
||||
the binary ELF headers, these libraries are now loaded on demand
|
||||
only, if they are available. If the libraries cannot be found the
|
||||
relevant operations will fail gracefully, or a suitable fallback
|
||||
logic is chosen. This is supposed to be useful for general purpose
|
||||
distributions, as it allows minimizing the list of dependencies the
|
||||
systemd packages pull in, permitting building of more minimal OS
|
||||
images, while still making use of these "weak" dependencies should
|
||||
they be installed. Since many package managers automatically
|
||||
synthesize package dependencies from ELF shared library dependencies,
|
||||
some additional manual packaging work has to be done now to replace
|
||||
those (slightly downgraded from "required" to "recommended" or
|
||||
whatever is conceptually suitable for the package manager). Note that
|
||||
this change does not alter build-time behaviour: as before the
|
||||
build-time dependencies have to be installed during build, even if
|
||||
they now are optional during runtime.
|
||||
|
||||
* sd-event.h gained a new call sd_event_add_time_relative() for
|
||||
installing timers relative to the current time. This is mostly a
|
||||
convenience wrapper around the pre-existing sd_event_add_time() call
|
||||
which installs absolute timers.
|
||||
|
||||
* sd-event event sources may now be placed in a new "exit-on-failure"
|
||||
mode, which may be controlled via the new
|
||||
sd_event_source_get_exit_on_failure() and
|
||||
sd_event_source_set_exit_on_failure() functions. If enabled, any
|
||||
failure returned by the event source handler functions will result in
|
||||
exiting the event loop (unlike the default behaviour of just
|
||||
disabling the event source but continuing with the event loop). This
|
||||
feature is useful to set for all event sources that define "primary"
|
||||
program behaviour (where failure should be fatal) in contrast to
|
||||
"auxiliary" behaviour (where failure should remain local).
|
||||
|
||||
* Most event source types sd-event supports now accept a NULL handler
|
||||
function, in which case the event loop is exited once the event
|
||||
source is to be dispatched, using the userdata pointer — converted to
|
||||
a signed integer — as exit code of the event loop. Previously this
|
||||
was supported for IO and signal event sources already. Exit event
|
||||
sources still do not support this (simply because it makes little
|
||||
sense there, as the event loop is already exiting when they are
|
||||
dispatched).
|
||||
|
||||
* A new per-unit setting RootImageOptions= has been added which allows
|
||||
tweaking the mount options for any file system mounted as effect of
|
||||
the RootImage= setting.
|
||||
|
||||
* Another new per-unit setting MountImages= has been added, that allows
|
||||
mounting additional disk images into the file system tree accessible
|
||||
to the service.
|
||||
|
||||
* Timer units gained a new FixedRandomDelay= boolean setting. If
|
||||
enabled, the random delay configured with RandomizedDelaySec= is
|
||||
selected in a way that is stable on a given system (though still
|
||||
different for different units).
|
||||
|
||||
* Socket units gained a new setting Timestamping= that takes "us", "ns"
|
||||
or "off". This controls the SO_TIMESTAMP/SO_TIMESTAMPNS socket
|
||||
options.
|
||||
|
||||
* systemd-repart now generates JSON output when requested with the new
|
||||
--json= switch.
|
||||
|
||||
* systemd-machined's OpenMachineShell() bus call will now pass
|
||||
additional policy metadata data fields to the PolicyKit
|
||||
authentication request.
|
||||
|
||||
* systemd-tmpfiles gained a new -E switch, which is equivalent to
|
||||
--exclude-prefix=/dev --exclude-prefix=/proc --exclude=/run
|
||||
--exclude=/sys. It's particularly useful in combination with --root=,
|
||||
when operating on OS trees that do not have any of these four runtime
|
||||
directories mounted, as this means no files below these subtrees are
|
||||
created or modified, since those mount points should probably remain
|
||||
empty.
|
||||
|
||||
* systemd-tmpfiles gained a new --image= switch which is like --root=,
|
||||
but takes a disk image instead of a directory as argument. The
|
||||
specified disk image is mounted inside a temporary mount namespace
|
||||
and the tmpfiles.d/ drop-ins stored in the image are executed and
|
||||
applied to the image. systemd-sysusers similarly gained a new
|
||||
--image= switch, that allows the sysusers.d/ drop-ins stored in the
|
||||
image to be applied onto the image.
|
||||
|
||||
* Similarly, the journalctl command also gained an --image= switch,
|
||||
which is a quick one-step solution to look at the log data included
|
||||
in OS disk images.
|
||||
|
||||
* journalctl's --output=cat option (which outputs the log content
|
||||
without any metadata, just the pure text messages) will now make use
|
||||
of terminal colors when run on a suitable terminal, similarly to the
|
||||
other output modes.
|
||||
|
||||
* JSON group records now support a "description" string that may be
|
||||
used to add a human-readable textual description to such groups. This
|
||||
is supposed to match the user's GECOS field which traditionally
|
||||
didn't have a counterpart for group records.
|
||||
|
||||
* The "systemd-dissect" tool that may be used to inspect OS disk images
|
||||
and that was previously installed to /usr/lib/systemd/ has now been
|
||||
moved to /usr/bin/, reflecting its updated status of an officially
|
||||
supported tool with a stable interface. It gained support for a new
|
||||
--mkdir switch which when combined with --mount has the effect of
|
||||
creating the directory to mount the image to if it is missing
|
||||
first. It also gained two new commands --copy-from and --copy-to for
|
||||
copying files and directories in and out of an OS image without the
|
||||
need to manually mount it. It also acquired support for a new option
|
||||
--json= to generate JSON output when inspecting an OS image.
|
||||
|
||||
* The cgroup2 file system is now mounted with the
|
||||
"memory_recursiveprot" mount option, supported since kernel 5.7. This
|
||||
means that the MemoryLow= and MemoryMin= unit file settings now apply
|
||||
recursively to whole subtrees.
|
||||
|
||||
* systemd-homed now defaults to using the btrfs file system — if
|
||||
available — when creating home directories in LUKS volumes. This may
|
||||
be changed with the DefaultFileSystemType= setting in homed.conf.
|
||||
It's now the default file system in various major distributions and
|
||||
has the major benefit for homed that it can be grown and shrunk while
|
||||
mounted, unlike the other contenders ext4 and xfs, which can both be
|
||||
grown online, but not shrunk (in fact xfs is the technically most
|
||||
limited option here, as it cannot be shrunk at all).
|
||||
|
||||
* JSON user records managed by systemd-homed gained support for
|
||||
"recovery keys". These are basically secondary passphrases that can
|
||||
unlock user accounts/home directories. They are computer-generated
|
||||
rather than user-chosen, and typically have greater entropy.
|
||||
homectl's --recovery-key= option may be used to add a recovery key to
|
||||
a user account. The generated recovery key is displayed as a QR code,
|
||||
so that it can be scanned to be kept in a safe place. This feature is
|
||||
particularly useful in combination with systemd-homed's support for
|
||||
FIDO2 or PKCS#11 authentication, as a secure fallback in case the
|
||||
security tokens are lost. Recovery keys may be entered wherever the
|
||||
system asks for a password.
|
||||
|
||||
* systemd-homed now maintains a "dirty" flag for each LUKS encrypted
|
||||
home directory which indicates that a home directory has not been
|
||||
deactivated cleanly when offline. This flag is useful to identify
|
||||
home directories for which the offline discard logic did not run when
|
||||
offlining, and where it would be a good idea to log in again to catch
|
||||
up.
|
||||
|
||||
* systemctl gained a new parameter --timestamp= which may be used to
|
||||
change the style in which timestamps are output, i.e. whether to show
|
||||
them in local timezone or UTC, or whether to show µs granularity.
|
||||
|
||||
* Alibaba's "pouch" container manager is now detected by
|
||||
systemd-detect-virt, ConditionVirtualization= and similar
|
||||
constructs. Similar, they now also recognize IBM PowerVM machine
|
||||
virtualization.
|
||||
|
||||
* systemd-nspawn has been reworked to use the /run/host/incoming/ as
|
||||
place to use for propagating external mounts into the
|
||||
container. Similarly /run/host/notify is now used as the socket path
|
||||
for container payloads to communicate with the container manager
|
||||
using sd_notify(). The container manager now uses the
|
||||
/run/host/inaccessible/ directory to place "inaccessible" file nodes
|
||||
of all relevant types which may be used by the container payload as
|
||||
bind mount source to over-mount inodes to make them inaccessible.
|
||||
/run/host/container-manager will now be initialized with the same
|
||||
string as the $container environment variable passed to the
|
||||
container's PID 1. /run/host/container-uuid will be initialized with
|
||||
the same string as $container_uuid. This means the /run/host/
|
||||
hierarchy is now the primary way to make host resources available to
|
||||
the container. The Container Interface documents these new files and
|
||||
directories:
|
||||
|
||||
https://systemd.io/CONTAINER_INTERFACE
|
||||
|
||||
* Support for the "ConditionNull=" unit file condition has been
|
||||
deprecated and undocumented for 6 years. systemd started to warn
|
||||
about its use 1.5 years ago. It has now been removed entirely.
|
||||
|
||||
* sd-bus.h gained a new API call sd_bus_error_has_names(), which takes
|
||||
a sd_bus_error struct and a list of error names, and checks if the
|
||||
error matches one of these names. It's a convenience wrapper that is
|
||||
useful in cases where multiple errors shall be handled the same way.
|
||||
|
||||
* A new system call filter list "@known" has been added, that contains
|
||||
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 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
|
||||
be communicated as not implemented, which hopefully has the greatest
|
||||
chance of triggering the right fallback code paths in client
|
||||
applications.
|
||||
|
||||
* "systemd-analyze syscall-filter" will now show two separate sections
|
||||
at the bottom of the output: system calls known during systemd build
|
||||
time but not included in any of the filter groups shown above, and
|
||||
system calls defined on the local kernel but known during systemd
|
||||
build time.
|
||||
|
||||
* If the $SYSTEMD_LOG_SECCOMP=1 environment variable is set for
|
||||
systemd-nspawn all system call filter violations will be logged by
|
||||
the kernel (audit). This is useful for tracking down system calls
|
||||
invoked by container payloads that are prohibited by the container's
|
||||
system call filter policy.
|
||||
|
||||
* If the $SYSTEMD_SECCOMP=0 environment variable is set for
|
||||
systemd-nspawn (and other programs that use seccomp) all seccomp
|
||||
filtering is turned off.
|
||||
|
||||
* Two new unit file settings ProtectProc= and ProcSubset= have been
|
||||
added that expose the hidepid= and subset= mount options of procfs.
|
||||
All processes of the unit will only see processes in /proc that are
|
||||
are owned by the unit's user. This is an important new sandboxing
|
||||
option that is recommended to be set on all system services. All
|
||||
long-running system services that are included in systemd itself set
|
||||
this option now. This option is only supported on kernel 5.8 and
|
||||
above, since the hidepid= option supported on older kernels was not a
|
||||
per-mount option but actually applied to the whole PID namespace.
|
||||
|
||||
* Socket units gained a new boolean setting FlushPending=. If enabled
|
||||
all pending socket data/connections are flushed whenever the socket
|
||||
unit enters the "listening" state, i.e. after the associated service
|
||||
exited.
|
||||
|
||||
* The unit file setting NUMAMask= gained a new "all" value: when used,
|
||||
all existing NUMA nodes are added to the NUMA mask.
|
||||
|
||||
* A new "credentials" logic has been added to system services. This is
|
||||
a simple mechanism to pass privileged data to services in a safe and
|
||||
secure way. It's supposed to be used to pass per-service secret data
|
||||
such as passwords or cryptographic keys but also associated less
|
||||
private information such as user names, certificates, and similar to
|
||||
system services. Each credential is identified by a short user-chosen
|
||||
name and may contain arbitrary binary data. Two new unit file
|
||||
settings have been added: SetCredential= and LoadCredential=. The
|
||||
former allows setting a credential to a literal string, the latter
|
||||
sets a credential to the contents of a file (or data read from a
|
||||
user-chosen AF_UNIX stream socket). Credentials are passed to the
|
||||
service via a special credentials directory, one file for each
|
||||
credential. The path to the credentials directory is passed in a new
|
||||
$CREDENTIALS_DIRECTORY environment variable. Since the credentials
|
||||
are passed in the file system they may be easily referenced in
|
||||
ExecStart= command lines too, thus no explicit support for the
|
||||
credentials logic in daemons is required (though ideally daemons
|
||||
would look for the bits they need in $CREDENTIALS_DIRECTORY
|
||||
themselves automatically, if set). The $CREDENTIALS_DIRECTORY is
|
||||
backed by unswappable memory if privileges allow it, immutable if
|
||||
privileges allow it, is accessible only to the service's UID, and is
|
||||
automatically destroyed when the service stops.
|
||||
|
||||
* systemd-nspawn supports the same credentials logic. It can both
|
||||
consume credentials passed to it via the aforementioned
|
||||
$CREDENTIALS_DIRECTORY protocol as well as pass these credentials on
|
||||
to its payload. The service manager/PID 1 has been updated to match
|
||||
this: it can also accept credentials from the container manager that
|
||||
invokes it (in fact: any process that invokes it), and passes them on
|
||||
to its services. Thus, credentials can be propagated recursively down
|
||||
the tree: from a system's service manager to a systemd-nspawn
|
||||
service, to the service manager that runs as container payload and to
|
||||
the service it runs below. Credentials may also be added on the
|
||||
systemd-nspawn command line, using new --set-credential= and
|
||||
--load-credential= command line switches that match the
|
||||
aforementioned service settings.
|
||||
|
||||
* systemd-repart gained new settings Format=, Encrypt=, CopyFiles= in
|
||||
the partition drop-ins which may be used to format/LUKS
|
||||
encrypt/populate any created partitions. The partitions are
|
||||
encrypted/formatted/populated before they are registered in the
|
||||
partition table, so that they appear atomically: either the
|
||||
partitions do not exist yet or they exist fully encrypted, formatted,
|
||||
and populated — there is no time window where they are
|
||||
"half-initialized". Thus the system is robust to abrupt shutdown: if
|
||||
the tool is terminated half-way during its operations on next boot it
|
||||
will start from the beginning.
|
||||
|
||||
* systemd-repart's --size= operation gained a new "auto" value. If
|
||||
specified, and operating on a loopback file it is automatically sized
|
||||
to the minimal size the size constraints permit. This is useful to
|
||||
use "systemd-repart" as an image builder for minimally sized images.
|
||||
|
||||
* systemd-resolved now gained a third IPC interface for requesting name
|
||||
resolution: besides D-Bus and local DNS to 127.0.0.53 a Varlink
|
||||
interface is now supported. The nss-resolve NSS module has been
|
||||
modified to use this new interface instead of D-Bus. Using Varlink
|
||||
has a major benefit over D-Bus: it works without a broker service,
|
||||
and thus already during earliest boot, before the dbus daemon has
|
||||
been started. This means name resolution via systemd-resolved now
|
||||
works at the same time systemd-networkd operates: from earliest boot
|
||||
on, including in the initrd.
|
||||
|
||||
* systemd-resolved gained support for a new DNSStubListenerExtra=
|
||||
configuration file setting which may be used to specify additional IP
|
||||
addresses the built-in DNS stub shall listen on, in addition to the
|
||||
main one on 127.0.0.53:53.
|
||||
|
||||
* Name lookups issued via systemd-resolved's D-Bus and Varlink
|
||||
interfaces (and thus also via glibc NSS if nss-resolve is used) will
|
||||
now honour a trailing dot in the hostname: if specified the search
|
||||
path logic is turned off. Thus "resolvectl query foo." is now
|
||||
equivalent to "resolvectl query --search=off foo.".
|
||||
|
||||
* systemd-resolved gained a new D-Bus property "ResolvConfMode" that
|
||||
exposes how /etc/resolv.conf is currently managed: by resolved (and
|
||||
in which mode if so) or another subsystem. "resolvctl" will display
|
||||
this property in its status output.
|
||||
|
||||
* The resolv.conf snippets systemd-resolved provides will now set "."
|
||||
as the search domain if no other search domain is known. This turns
|
||||
off the derivation of an implicit search domain by nss-dns for the
|
||||
hostname, when the hostname is set to an FQDN. This change is done to
|
||||
make nss-dns using resolv.conf provided by systemd-resolved behave
|
||||
more similarly to nss-resolve.
|
||||
|
||||
* systemd-tmpfiles' file "aging" logic (i.e. the automatic clean-up of
|
||||
/tmp/ and /var/tmp/ based on file timestamps) now looks at the
|
||||
"birth" time (btime) of a file in addition to the atime, mtime, and
|
||||
ctime.
|
||||
|
||||
* systemd-analyze gained a new verb "capability" that lists all known
|
||||
capabilities by the systemd build and by the kernel.
|
||||
|
||||
* If a file /usr/lib/clock-epoch exists, PID 1 will read its mtime and
|
||||
advance the system clock to it at boot if it is noticed to be before
|
||||
that time. Previously, PID 1 would only advance the time to an epoch
|
||||
time that is set during build-time. With this new file OS builders
|
||||
can change this epoch timestamp on individual OS images without
|
||||
having to rebuild systemd.
|
||||
|
||||
* systemd-logind will now listen to the KEY_RESTART key from the Linux
|
||||
input layer and reboot the system if it is pressed, similarly to how
|
||||
it already handles KEY_POWER, KEY_SUSPEND or KEY_SLEEP. KEY_RESTART
|
||||
was originally defined in the Multimedia context (to restart playback
|
||||
of a song or film), but is now primarily used in various embedded
|
||||
devices for "Reboot" buttons. Accordingly, systemd-logind will now
|
||||
honour it as such. This may configured in more detail via the new
|
||||
HandleRebootKey= and RebootKeyIgnoreInhibited=.
|
||||
|
||||
* systemd-nspawn/systemd-machined will now reconstruct hardlinks when
|
||||
copying OS trees, for example in "systemd-nspawn --ephemeral",
|
||||
"systemd-nspawn --template=", "machinectl clone" and similar. This is
|
||||
useful when operating with OSTree images, which use hardlinks heavily
|
||||
throughout, and where such copies previously resulting in "exploding"
|
||||
hardlinks.
|
||||
|
||||
* systemd-nspawn's --console= setting gained support for a new
|
||||
"autopipe" value, which is identical to "interactive" when invoked on
|
||||
a TTY, and "pipe" otherwise.
|
||||
|
||||
* systemd-networkd's .network files gained support for explicitly
|
||||
configuring the multicast membership entries of bridge devices in the
|
||||
[BridgeMDB] section. It also gained support for the PIE queuing
|
||||
discipline in the [FlowQueuePIE] sections.
|
||||
|
||||
* systemd-networkd's .netdev files may now be used to create "BareUDP"
|
||||
tunnels, configured in the new [BareUDP] setting. VXLAN tunnels may
|
||||
now be marked to be independent of any underlying network interface
|
||||
via the new Independent= boolean setting.
|
||||
|
||||
* systemd-networkd's Gateway= setting in .network files now accepts the
|
||||
special values _dhcp4 and _ipv6ra to configure additional, locally
|
||||
defined, explicit routes to the gateway acquired via DHCP or IPv6
|
||||
Router Advertisements.
|
||||
|
||||
* systemd-networkd's [IPv6PrefixDelegation] section and
|
||||
IPv6PrefixDelegation= options have been renamed as [IPv6SendRA] and
|
||||
IPv6SendRA= (the old names are still accepted for backwards
|
||||
compatibility).
|
||||
|
||||
* systemctl gained support for two new verbs: "service-log-level" and
|
||||
"service-log-target" may be used on services that implement the
|
||||
generic org.freedesktop.LogControl1 D-Bus interface to dynamically
|
||||
adjust the log level and target. All of systemd's long-running
|
||||
services support this now, but ideally all system services would
|
||||
implement this interface to make the system more uniformly
|
||||
debuggable.
|
||||
|
||||
* The SystemCallErrorNumber= unit file setting now accepts the new
|
||||
"kill" and "log" actions, in addition to arbitrary error number
|
||||
specifications as before. If "kill" the the processes are killed on
|
||||
the event, if "log" the offending system call is audit logged.
|
||||
|
||||
* A new SystemCallLog= unit file setting has been added that accepts a
|
||||
list of system calls that shall be logged about (audit).
|
||||
|
||||
* The OS image dissection logic (as used by RootImage= in unit files or
|
||||
systemd-nspawn's --image= switch) has gained support for identifying
|
||||
and mounting explicit /usr/ partitions, which are now defined in the
|
||||
discoverable partition specification. This should be useful for
|
||||
environments where the root file system is
|
||||
generated/formatted/populated dynamically on first boot and combined
|
||||
with an immutable /usr/ tree that is supplied by the vendor.
|
||||
|
||||
* In the final phase of shutdown, within the systemd-shutdown binary
|
||||
we'll now try to detach MD devices (i.e software RAID) in addition to
|
||||
loopback block devices and DM devices as before. This is supposed to
|
||||
be a safety net only, in order to increase robustness if things go
|
||||
wrong. Storage subsystems are expected to properly detach their
|
||||
storage volumes during regular shutdown already (or in case of
|
||||
storage backing the root file system: in the initrd hook we return to
|
||||
later).
|
||||
|
||||
* If the SYSTEMD_LOG_TID environment variable is set all systemd tools
|
||||
will now log the thread ID in their log output. This is useful when
|
||||
working with heavily threaded programs.
|
||||
|
||||
* If the SYSTEMD_RDRAND environment variable is set to "0", systemd will
|
||||
not use the RDRAND CPU instruction. This is useful in environments
|
||||
such as replay debuggers where non-deterministic behaviour is not
|
||||
desirable.
|
||||
|
||||
* The autopaging logic in systemd's various tools (such as systemctl)
|
||||
has been updated to turn on "secure" mode in "less"
|
||||
(i.e. $LESSECURE=1) if execution in a "sudo" environment is
|
||||
detected. This disables invoking external programs from the pager,
|
||||
via the pipe logic. This behaviour may be overridden via the new
|
||||
$SYSTEMD_PAGERSECURE environment variable.
|
||||
|
||||
* Units which have resource limits (.service, .mount, .swap, .slice,
|
||||
.socket, and .slice) gained new configuration settings
|
||||
ManagedOOMSwap=, ManagedOOMMemoryPressure=, and
|
||||
ManagedOOMMemoryPressureLimitPercent= that specify resource pressure
|
||||
limits and optional action taken by systemd-oomd.
|
||||
|
||||
* A new service systemd-oomd has been added. It monitors resource
|
||||
contention for selected parts of the unit hierarchy using the PSI
|
||||
information reported by the kernel, and kills processes when memory
|
||||
or swap pressure is above configured limits. This service is only
|
||||
enabled in developer mode (see below) and should be considered a
|
||||
preview in this release. Behaviour details and option names are
|
||||
subject to change without the usual backwards-compatibility promises.
|
||||
|
||||
* A new helper oomctl has been added to introspect systemd-oomd state.
|
||||
If also is only available in developer mode and should be considered
|
||||
a preview without the usual backwards-compatibility promises.
|
||||
|
||||
* New meson option -Dcompat-mutable-uid-boundaries= has been added. If
|
||||
enabled, systemd reads the system UID boundaries from /etc/login.defs
|
||||
at runtime, instead of using the built-in values selected during
|
||||
build. This is an option to improve compatibility for upgrades from
|
||||
old systems. It's strongly recommended not to make use of this
|
||||
functionality on new systems (or even enable it during build), as it
|
||||
makes something runtime-configurable that is mostly an implementation
|
||||
detail of the OS, and permits avoidable differences in deployments
|
||||
that create all kinds of problems in the long run.
|
||||
|
||||
* New meson option '-Dmode=developer|release' has been added. When
|
||||
'developer', additional checks and features are enabled that are
|
||||
relevant during upstream development, e.g. verification that
|
||||
semi-automatically-generated documentation has been properly updated
|
||||
following API changes. Those checks are considered hints for
|
||||
developers and are not actionable in downstream builds. In addition,
|
||||
extra features that are not ready for general consumption may be
|
||||
enabled in developer mode. It is thus recommended to set
|
||||
'-Dmode=release' in end-user and distro builds.
|
||||
|
||||
* systemd-cryptsetup gained support for processing detached LUKS
|
||||
headers specified on the kernel command line via the header=
|
||||
parameter of the luks.options= kernel command line option. The same
|
||||
device/path syntax as for key files is supported for header files
|
||||
like this.
|
||||
|
||||
* The "net_id" built-in of udev has been updated to ignore ACPI _SUN
|
||||
slot index data for devices that are connected through a PCI bridge
|
||||
where the _SUN index is associated with the bridge instead of the
|
||||
network device itself. Previously this would create ambiguous device
|
||||
naming if multiple network interfaces were connected to the same PCI
|
||||
bridge. Since this is a naming scheme incompatibility on systems that
|
||||
possess hardware like this it has been introduced as new naming
|
||||
scheme "v247". The previous scheme can be selected via the
|
||||
"net.naming-scheme=v245" kernel command line parameter.
|
||||
|
||||
* ConditionFirstBoot= semantics have been modified to be safe towards
|
||||
abnormal system power-off during first boot. Specifically, the
|
||||
"systemd-machine-id-commit.service" service now acts as boot
|
||||
milestone indicating when the first boot process is sufficiently
|
||||
complete in order to not consider the next following boot also a
|
||||
first boot. If the system is reset before this unit is reached the
|
||||
first time, the next boot will still be considered a first boot; once
|
||||
it has been reached, no further boots will be considered a first
|
||||
boot. The "first-boot-complete.target" unit now acts as official hook
|
||||
point to order against this. If a service shall be run on every boot
|
||||
until the first boot fully succeeds it may thus be ordered before
|
||||
this target unit (and pull it in) and carry ConditionFirstBoot=
|
||||
appropriately.
|
||||
|
||||
* bootctl's set-default and set-oneshot commands now accept the three
|
||||
special strings "@default", "@oneshot", "@current" in place of a boot
|
||||
entry id. These strings are resolved to the current default and
|
||||
oneshot boot loader entry, as well as the currently booted one. Thus
|
||||
a command "bootctl set-default @current" may be used to make the
|
||||
currently boot menu item the new default for all subsequent boots.
|
||||
|
||||
* "systemctl edit" has been updated to show the original effective unit
|
||||
contents in commented form in the text editor.
|
||||
|
||||
Contributions from: Adolfo Jayme Barrientos, afg, Alec Moskvin, Alyssa
|
||||
Ross, Amitanand Chikorde, Andrew Hangsleben, Anita Zhang, Ansgar
|
||||
Burchardt, Arian van Putten, Aurelien Jarno, Axel Rasmussen, bauen1,
|
||||
Beniamino Galvani, Benjamin Berg, Bjørn Mork, brainrom, Chandradeep
|
||||
Dey, Charles Lee, Chris Down, Christian Göttsche, Clemens Gruber, Daan
|
||||
De Meyer, Daniele Medri, Daniel Mack, Daniel Rusek, Dan Streetman,
|
||||
David Tardon, Dimitri John Ledkov, Dmitry Borodaenko, Elias Probst,
|
||||
Elisei Roca, ErrantSpore, Etienne Doms, Fabrice Fontaine, fangxiuning,
|
||||
Felix Riemann, Florian Klink, Franck Bui, Frantisek Sumsal, fwSmit,
|
||||
George Rawlinson, germanztz, Gibeom Gwon, Glen Whitney, Gogo Gogsi,
|
||||
Göran Uddeborg, Grant Mathews, Hans de Goede, Hans Ulrich Niedermann,
|
||||
Haochen Tong, Harald Seiler, huangyong, Hubert Kario, Ikey Doherty, Jan
|
||||
Chren, Jan Schlüter, Jérémy Nouhaud, Jian-Hong Pan, Joerg Behrmann,
|
||||
Jonathan Lebon, Josh Brobst, Juergen Hoetzel, Julien Humbert, Kai-Chuan
|
||||
Hsieh, Kairui Song, Kamil Dudka, Kir Kolyshkin, Kristijan Gjoshev, Kyle
|
||||
Huey, Kyle Russell, Lennart Poettering, lichangze, Luca Boccassi, Lucas
|
||||
Werkmeister, Luca Weiss, Marc Kleine-Budde, Marco Wang, Martin Wilck,
|
||||
Marti Raudsepp, masmullin2000, Máté Pozsgay, Matt Fenwick, Michael
|
||||
Biebl, Michael Scherer, Michal Koutný, Michal Sekletár, Michal
|
||||
Suchanek, Mikael Szreder, Milo Casagrande, mirabilos, Mitsuha_QuQ,
|
||||
mog422, Muhammet Kara, Nazar Vinnichuk, Nicholas Narsing, Nicolas
|
||||
Fella, Njibhu, nl6720, Oğuz Ersen, Olivier Le Moal, Ondrej Kozina,
|
||||
onlybugreports, Pass Automated Testing Suite, Pat Coulthard, Pedro
|
||||
Ruiz, Peter Hutterer, Phaedrus Leeds, PhoenixDiscord, Piotr Drąg, Plan
|
||||
C, Purushottam choudhary, Rasmus Villemoes, Renaud Métrich, Robert
|
||||
Marko, Ronan Pigott, Roy Chen (陳彥廷), RussianNeuroMancer, Samanta
|
||||
Navarro, Samuel BF, scootergrisen, Sorin Ionescu, Steve Dodd, Susant
|
||||
Sahani, Timo Rothenpieler, Tobias Hunger, Tobias Kaufmann, Topi
|
||||
Miettinen, Vito Caputo, Weblate, Wen Yang, williamvds, Yu, Li-Yu, Yuri
|
||||
Chornoivan, Yu Watanabe, Zbigniew Jędrzejewski-Szmek, Zmicer Turok,
|
||||
Дамјан Георгиевски
|
||||
|
||||
– Warsaw, 2020-11-10
|
||||
|
||||
CHANGES WITH 246:
|
||||
|
||||
* The service manager gained basic support for cgroup v2 freezer. Units
|
||||
@ -159,7 +791,7 @@ CHANGES WITH 246:
|
||||
generation for collection with systemd-pstore.
|
||||
|
||||
* We provide a set of udev rules to enable auto-suspend on PCI and USB
|
||||
devices that were tested to currectly support it. Previously, this
|
||||
devices that were tested to correctly support it. Previously, this
|
||||
was distributed as a set of udev rules, but has now been replaced by
|
||||
by a set of hwdb entries (and a much shorter udev rule to take action
|
||||
if the device modalias matches one of the new hwdb entries).
|
||||
@ -636,7 +1268,7 @@ CHANGES WITH 245:
|
||||
configuration drop-ins are present, no action is taken.
|
||||
|
||||
* A new component "userdb" has been added, along with a small daemon
|
||||
"systemd-userdb.service" and a client tool "userdbctl". The framework
|
||||
"systemd-userdbd.service" and a client tool "userdbctl". The framework
|
||||
allows defining rich user and group records in a JSON format,
|
||||
extending on the classic "struct passwd" and "struct group"
|
||||
structures. Various components in systemd have been updated to
|
||||
|
14
README
14
README
@ -325,14 +325,14 @@ WARNINGS:
|
||||
we don't execve() systemd-shutdown.
|
||||
|
||||
STABLE BRANCHES AND BACKPORTS:
|
||||
Stable branches with backported patches are available in the
|
||||
systemd-stable repo at https://github.com/systemd/systemd-stable.
|
||||
Stable branches with backported patches are available in the
|
||||
systemd-stable repo at https://github.com/systemd/systemd-stable.
|
||||
|
||||
Stable branches are started for certain releases of systemd and named
|
||||
after them, e.g. v238-stable. Stable branches are managed by
|
||||
distribution maintainers on an as needed basis. See
|
||||
https://www.freedesktop.org/wiki/Software/systemd/Backports/ for some
|
||||
more information and examples.
|
||||
Stable branches are started for certain releases of systemd and named
|
||||
after them, e.g. v238-stable. Stable branches are managed by
|
||||
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
|
||||
|
@ -11,7 +11,9 @@ System and Service Manager
|
||||
[](https://bestpractices.coreinfrastructure.org/projects/1369)<br/>
|
||||
[](https://travis-ci.org/systemd/systemd)<br/>
|
||||
[](https://lgtm.com/projects/g/systemd/systemd/context:cpp)<br/>
|
||||
[](https://ci.centos.org/job/systemd-pr-build/)<br/>
|
||||
[](https://jenkins-systemd.apps.ocp.ci.centos.org/job/upstream-centos7/)<br/>
|
||||
[](https://jenkins-systemd.apps.ocp.ci.centos.org/job/upstream-vagrant-archlinux/)<br/>
|
||||
[&job=upstream-vagrant-archlinux-sanitizers)](https://jenkins-systemd.apps.ocp.ci.centos.org/job/upstream-vagrant-archlinux-sanitizers/)<br/>
|
||||
[](https://dev.azure.com/evvers/systemd-systemd/_build/latest?definitionId=1&branchName=master)<br/>
|
||||
[](https://fossies.org/linux/test/systemd-master.tar.gz/codespell.html)</br>
|
||||
[](https://repology.org/project/systemd/versions)
|
||||
|
152
TODO
152
TODO
@ -4,6 +4,9 @@ Bugfixes:
|
||||
manager or system manager can be always set. It would be better to reject
|
||||
them when parsing config.
|
||||
|
||||
* userdbctl: "Password OK: yes" is shown even when there are no passwords
|
||||
or the password is locked.
|
||||
|
||||
External:
|
||||
|
||||
* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
|
||||
@ -17,13 +20,56 @@ Janitorial Clean-ups:
|
||||
|
||||
Features:
|
||||
|
||||
* nspawn: move "incoming mount" directory to /run/host, move "inaccessible"
|
||||
nodes to /run/host, move notify socket (for sd_notify() between payload and
|
||||
container manager)
|
||||
* homed: try to unmount in regular intervals when home dir was busy when we
|
||||
tried because idle.
|
||||
|
||||
* sd-bus: when connecting to some dbus server socker, set originating AF_UNIX
|
||||
socket name in abstract namespace to include "description" string, and pick
|
||||
it up from there in sd_bus_creds logic. i.e. we can use the socket peer
|
||||
address as conduit for some minimal connection metainfo, and use it to
|
||||
restore the "description" logic that kdbus used to have.
|
||||
|
||||
* teach LoadCredential= the ability to load all files from a specified dir as
|
||||
individual creds
|
||||
|
||||
* 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.
|
||||
|
||||
* special case some calls of chase_symlinks() to use openat2() internally, so
|
||||
that the kernel does what we otherwise do.
|
||||
|
||||
* 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().
|
||||
|
||||
* cryptsetup: if keyfile specified in crypttab is AF_UNIX socket, connect to it
|
||||
and read from it (like we do elsewhere with READ_FULL_FILE_CONNECT_SOCKET)
|
||||
|
||||
* 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
|
||||
@ -34,11 +80,6 @@ Features:
|
||||
mounting a subdir of the root fs as actual root. This can be used as
|
||||
fstype-agnostic version of btrfs' rootflags=subvol=foobar.
|
||||
|
||||
* add --copy-from and --copy-to command to systemd-dissect which copies stuff
|
||||
in and out of a disk image
|
||||
|
||||
* Support ProtectProc= or so, using: https://patchwork.kernel.org/cover/11310197/
|
||||
|
||||
* if /usr/bin/swapoff fails due to OOM, log a friendly explanatory message about it
|
||||
|
||||
* build short web pages out of each catalog entry, build them along with man
|
||||
@ -58,9 +99,6 @@ Features:
|
||||
often for one, let's turn it off entirely for a while. Use that for the
|
||||
/proc/self/mountinfo logic.
|
||||
|
||||
* move our systemd-user PAM snippet to /usr/, which PAM appears to support
|
||||
these days
|
||||
|
||||
* nspawn: support time namespaces
|
||||
|
||||
* systemd-firstboot: make sure to always use chase_symlinks() before
|
||||
@ -80,15 +118,10 @@ Features:
|
||||
|
||||
* make us use dynamically fewer deps for containers in general purpose distros:
|
||||
o turn into dlopen() deps:
|
||||
- pcre2 (always) — irrelevant on Fedora, since dep by
|
||||
libselinux, but should benefit Debian
|
||||
- libpwquality (always) - only relevant for homed, and maybe soon
|
||||
firstboot
|
||||
- elfutils (always)
|
||||
- p11-kit-trust (always)
|
||||
- kmod-libs (only when called from PID 1)
|
||||
- cryptsetup-libs (only in RootImage= handling in PID 1, but not in systemd-cryptsetup)
|
||||
- similar: libblkid
|
||||
- libblkid (only in RootImage= handling in PID 1, but not elsewhere)
|
||||
- libpam (only when called from PID 1)
|
||||
- bzip2, xz, lz4 (always — gzip and zstd should probably stay static deps the way they are,
|
||||
since they are so basic and our defaults)
|
||||
@ -106,14 +139,10 @@ Features:
|
||||
* systemd-path: add ESP and XBOOTLDR path. Add "private" runtime/state/cache dir enum,
|
||||
mapping to $RUNTIME_DIRECTORY, $STATE_DIRECTORY and such
|
||||
|
||||
* make "systemd-dissect" an official supported tool, i.e. move to /usr/bin/ and
|
||||
provide man page. Given that we now have a tool that can generate images like
|
||||
this, it's useful to have one that can dump contents of them, too.
|
||||
|
||||
* All tools that support --root= should also learn --image= so that they can
|
||||
operate on disk images directly. Specifically: bootctl, tmpfiles, sysusers,
|
||||
systemctl, repart, journalctl, coredumpctl. (Already done: systemd-nspawn,
|
||||
systemd-firstboot)
|
||||
operate on disk images directly. Specifically: bootctl, systemctl,
|
||||
coredumpctl. (Already done: systemd-nspawn, systemd-firstboot,
|
||||
systemd-repart, systemd-tmpfiles, systemd-sysusers, journalctl)
|
||||
|
||||
* seccomp: by default mask x32 ABI system wide on x86-64. it's on its way out
|
||||
|
||||
@ -122,20 +151,18 @@ Features:
|
||||
|
||||
* seccomp: maybe merge all filters we install into one with that libseccomp API that allows merging.
|
||||
|
||||
* per-service credential system. Specifically: add LoadCredential= (for loading
|
||||
cred from file), AcquireCredential= (for asking user for cred, via
|
||||
ask-password), PassCredential= (for passing on credential systemd itself
|
||||
got). Then, place credentials in a per-service, immutable ramfs instance (so
|
||||
that it cannot be swapped out), destroy after use. Also pass via keyring
|
||||
(with graceful fallback to cover for containers). Define CredentialPath= for
|
||||
defining subdir of /run/credentials/ where to place it. Set $CREDENTIAL_PATH
|
||||
env var for services to the result. Also pass via fd passing (optionally).
|
||||
|
||||
* homed: add native recovery key support. use 48 lowercase modhex characters
|
||||
(192bit), show qr code of it, include pattern expression in user record.
|
||||
|
||||
* homed: introduce "degraded" state for home directories that weren't cleanly
|
||||
unmounted (use xattr we add and remove on the loop back file)
|
||||
* credentials system:
|
||||
- maybe add AcquireCredential= for querying a cred via ask-password
|
||||
- maybe try to acquire creds via keyring?
|
||||
- maybe try to pass creds via keyring?
|
||||
- maybe optionally pass creds via memfd
|
||||
- maybe add support for decrypting creds via TPM
|
||||
- maybe add support for decrypting/importing creds via pkcs11
|
||||
- make systemd-cryptsetup acquire pw via creds logic
|
||||
- make PAMName= acquire pw via creds logic
|
||||
- make macsec/wireguard code in networkd read key via creds logic
|
||||
- make gatwayd/remote read key via creds logic
|
||||
- add sd_notify() command for flushing out creds not needed anymore
|
||||
|
||||
* homed: during login resize fs automatically towards size goal. Specifically,
|
||||
resize to diskSize if possible, but leave a certain amount (configured by a
|
||||
@ -174,11 +201,6 @@ Features:
|
||||
* systemd-gpt-auto should probably set x-systemd.growfs on the mounts it
|
||||
creates
|
||||
|
||||
* homed/userdb: distinguish passwords and recovery keys in the records, since
|
||||
we probably want to use different PBKDF algorithms/settings for them:
|
||||
passwords have low entropy but recovery keys should have good entropy key
|
||||
hence we can make them quicker to work.
|
||||
|
||||
* 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
|
||||
@ -209,8 +231,6 @@ Features:
|
||||
- when that's done: kill khash.c
|
||||
- when that's done: kill gnutls support in resolved
|
||||
|
||||
* kill zenata, all hail weblate?
|
||||
|
||||
* when we resize disks (homed?) always round up to 4K sectors, not 512K
|
||||
|
||||
* add growvol and makevol options for /etc/crypttab, similar to
|
||||
@ -237,9 +257,6 @@ Features:
|
||||
* systemd-repart: allow sizing partitions as factor of available RAM, so that
|
||||
we can reasonably size swap partitions for hibernation.
|
||||
|
||||
* systemd-repart: allow running mkfs before making partitions pop up +
|
||||
encryption via LUKS to allow booting into an empty root with only /usr mounted in
|
||||
|
||||
* systemd-repart: allow managing the gpt read-only partition flag + auto-mount flag
|
||||
|
||||
* systemd-repart: allow boolean option that ensures that if existing partition
|
||||
@ -255,10 +272,6 @@ Features:
|
||||
* systemd-repart: add per-partition option to fail if partition already exist,
|
||||
i.e. is not added new. Similar, add option to fail if partition does not exist yet.
|
||||
|
||||
* systemd-repart: add --size=auto for generating/resizing images of minimal
|
||||
size, i.e. where the image file is sized exactly as large as necessary taking
|
||||
SizeMin= into account, but not a single byte larger.
|
||||
|
||||
* systemd-repart: allow disabling growing of specific partitions, or making
|
||||
them (think ESP: we don't ever want to grow it, since we cannot resize vfat)
|
||||
|
||||
@ -328,9 +341,6 @@ Features:
|
||||
right) become genuine first class citizens, and we gain automatic, sane JSON
|
||||
output for them.
|
||||
|
||||
* systemd-firstboot: teach it dissector magic, so that you can point it to some
|
||||
disk image and it will just set everything in it all behind the scenes.
|
||||
|
||||
* We should probably replace /var/log/README, /etc/rc.d/README with symlinks
|
||||
that are linked to these places instead of copied. After all they are
|
||||
constant vendor data.
|
||||
@ -366,9 +376,7 @@ Features:
|
||||
- in systemd's PAMName= logic: query passwords with ssh-askpassword, so that we can make "loginctl set-linger" mode work
|
||||
- fingerprint authentication, pattern authentication, …
|
||||
- make sure "classic" user records can also be managed by homed
|
||||
- description field for groups
|
||||
- make size of $XDG_RUNTIME_DIR configurable in user record
|
||||
- reuse pwquality magic in firstboot
|
||||
- query password from kernel keyring first
|
||||
- update even if record is "absent"
|
||||
- add a "access mode" + "fstype" field to the "status" section of json identity records reflecting the actually used access mode and fstype, even on non-luks backends
|
||||
@ -549,7 +557,7 @@ Features:
|
||||
directory trees from the host to the services RootImage= and RootDirectory=
|
||||
environment. Which we can use for /etc/machine-id and in particular
|
||||
/etc/resolv.conf. Should be smart and do something useful on read-only
|
||||
images, for example fallback to read-only bind mounting the file instead.
|
||||
images, for example fall back to read-only bind mounting the file instead.
|
||||
|
||||
* show invocation ID in systemd-run output
|
||||
|
||||
@ -664,11 +672,6 @@ Features:
|
||||
yogas can be recognized as "convertible" too, even if they predate the DMI
|
||||
"convertible" form factor
|
||||
|
||||
* Maybe add PrivatePIDs= as new unit setting, and do minimal PID namespacing
|
||||
after all. Be strict however, only support the equivalent of nspawn's
|
||||
--as-pid2 switch, and sanely proxy sd_notify() messages dropping stuff such
|
||||
as MAINPID.
|
||||
|
||||
* Add ExecMonitor= setting. May be used multiple times. Forks off a process in
|
||||
the service cgroup, which is supposed to monitor the service, and when it
|
||||
exits the service is considered failed by its monitor.
|
||||
@ -822,9 +825,6 @@ Features:
|
||||
|
||||
* systemctl: if some operation fails, show log output?
|
||||
|
||||
* systemctl edit: use equivalent of cat() to insert existing config as a comment, prepended with #.
|
||||
Upon editor exit, lines with one # are removed, lines with two # are left with one #, etc.
|
||||
|
||||
* exponential backoff in timesyncd when we cannot reach a server
|
||||
|
||||
* timesyncd: add ugly bus calls to set NTP servers per-interface, for usage by NM
|
||||
@ -852,9 +852,6 @@ Features:
|
||||
|
||||
* add new gpt type for btrfs volumes
|
||||
|
||||
* support empty /etc boots nicely:
|
||||
- nspawn/gpt-generator: introduce new gpt partition type for /usr
|
||||
|
||||
* generator that automatically discovers btrfs subvolumes, identifies their purpose based on some xattr on them.
|
||||
|
||||
* a way for container managers to turn off getty starting via $container_headless= or so...
|
||||
@ -880,13 +877,6 @@ Features:
|
||||
service instances processing the listening socket, and open this up
|
||||
for ReusePort=
|
||||
|
||||
* introduce bus call FreezeUnit(s, b), as well as "systemctl freeze
|
||||
$UNIT" and "systemctl thaw $UNIT" as wrappers around this. The calls
|
||||
should SIGSTOP all unit processes in a loop until all processes of
|
||||
it are fully stopped. This can later be used for app management by
|
||||
desktop UIs such as gnome-shell to freeze apps that are not visible
|
||||
on screen, not unlike how job control works on the shell
|
||||
|
||||
* cgroups:
|
||||
- implement per-slice CPUFairScheduling=1 switch
|
||||
- introduce high-level settings for RT budget, swappiness
|
||||
@ -936,6 +926,10 @@ Features:
|
||||
- allow multiple signal handlers per signal?
|
||||
- document chaining of signal handler for SIGCHLD and child handlers
|
||||
- define more intervals where we will shift wakeup intervals around in, 1h, 6h, 24h, ...
|
||||
- maybe support iouring as backend, so that we allow hooking read and write
|
||||
operations instead of IO ready events into event loops. See considerations
|
||||
here:
|
||||
http://blog.vmsplice.net/2020/07/rethinking-event-loop-integration-for.html
|
||||
|
||||
* investigate endianness issues of UUID vs. GUID
|
||||
|
||||
@ -1025,7 +1019,7 @@ Features:
|
||||
- journald: also get thread ID from client, plus thread name
|
||||
- journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups
|
||||
- add API to close/reopen/get fd for journal client fd in libsystemd-journal.
|
||||
- fallback to /dev/log based logging in libsystemd-journal, if we cannot log natively?
|
||||
- fall back to /dev/log based logging in libsystemd-journal, if we cannot log natively?
|
||||
- declare the local journal protocol stable in the wiki interface chart
|
||||
- sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
|
||||
- journald: when dropping msgs due to ratelimit make sure to write
|
||||
@ -1150,10 +1144,6 @@ Features:
|
||||
- optionally automatically add FORWARD rules to iptables whenever nspawn is
|
||||
running, remove them when shut down.
|
||||
|
||||
* dissect
|
||||
- refuse mounting over a mount point
|
||||
- automatically discover .roothash files in dissect, similarly to nspawn
|
||||
|
||||
* machined:
|
||||
- add an API so that libvirt-lxc can inform us about network interfaces being
|
||||
removed or added to an existing machine
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
in_files = '''
|
||||
systemd.bg.catalog
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Message catalog for systemd's own messages
|
||||
# Belarusian translation
|
||||
@ -78,7 +78,7 @@ Documentation: man:core(5)
|
||||
Subject: Новая сесія № @SESSION_ID@ створана для карыстальніка @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Новая сесія з № @SESSION_ID@ створана для карыстальніка @USER_ID@.
|
||||
|
||||
@ -88,7 +88,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Сесія № @SESSION_ID@ спынена
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Сесія № @SESSION_ID@ спынена.
|
||||
|
||||
@ -96,7 +96,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Даступна новае працоўнае месца № @SEAT_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Новае працоўнае месца № @SEAT_ID@ наладжана і даступна для выкарыстання.
|
||||
|
||||
@ -104,7 +104,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Працоўнае месца № @SEAT_ID@ выдалена
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Працоўнае месца № @SEAT_ID@ выдалена і больш не даступна.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Message catalog for systemd's own messages
|
||||
# Belarusian Latin translation
|
||||
@ -79,7 +79,7 @@ Rekamiendujecca paviedamić ab hetym raspracoŭnikam.
|
||||
Subject: Novaja siesija № @SESSION_ID@ stvorana dlia karystaĺnika @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Novaja siesija z № @SESSION_ID@ stvorana dlia karystaĺnika @USER_ID@.
|
||||
|
||||
@ -89,7 +89,7 @@ Lidar hetaj siesii pad № @LEADER@.
|
||||
Subject: Siesija № @SESSION_ID@ spyniena
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Siesija № @SESSION_ID@ spyniena.
|
||||
|
||||
@ -97,7 +97,7 @@ Siesija № @SESSION_ID@ spyniena.
|
||||
Subject: Dastupna novaje pracoŭnaje miesca № @SEAT_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Novaje pracoŭnaje miesca № @SEAT_ID@ naladžana i dastupna dlia
|
||||
vykarystannia.
|
||||
@ -106,7 +106,7 @@ vykarystannia.
|
||||
Subject: Pracoŭnaje miesca № @SEAT_ID@ vydaliena
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Pracoŭnaje miesca № @SEAT_ID@ vydaliena i boĺš nie dastupna.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Copyright © 2016 Alexander Shopov <ash@kambanaria.org>
|
||||
|
||||
@ -81,7 +81,7 @@ Documentation: man:core(5)
|
||||
Subject: Създадена е нова сесия № @SESSION_ID@ за потребителя „@USER_ID@“
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
За потребителя „@USER_ID@“ е създадена нова сесия № @SESSION_ID@.
|
||||
|
||||
@ -91,7 +91,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Сесия № @SESSION_ID@ приключи
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Сесия № @SESSION_ID@ приключи работа.
|
||||
|
||||
@ -99,7 +99,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Налично е ново работно място № @SEAT_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Новото работно място № @SEAT_ID@ е настроено и готово за работа.
|
||||
|
||||
@ -107,7 +107,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Работното място № @SEAT_ID@ е премахнато
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Работното място № @SEAT_ID@ вече не е налично.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# Message catalog for systemd's own messages
|
||||
|
||||
@ -89,7 +89,7 @@ about the file being truncated.
|
||||
Subject: A new session @SESSION_ID@ has been created for user @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
A new session with the ID @SESSION_ID@ has been created for the user @USER_ID@.
|
||||
|
||||
@ -99,7 +99,7 @@ The leading process of the session is @LEADER@.
|
||||
Subject: Session @SESSION_ID@ has been terminated
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
A session with the ID @SESSION_ID@ has been terminated.
|
||||
|
||||
@ -107,7 +107,7 @@ A session with the ID @SESSION_ID@ has been terminated.
|
||||
Subject: A new seat @SEAT_ID@ is now available
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
A new seat @SEAT_ID@ has been configured and is now available.
|
||||
|
||||
@ -115,7 +115,7 @@ A new seat @SEAT_ID@ has been configured and is now available.
|
||||
Subject: Seat @SEAT_ID@ has now been removed
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
A seat @SEAT_ID@ has been removed and is no longer available.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# Message catalog for systemd's own messages
|
||||
# Danish translation
|
||||
@ -64,7 +64,7 @@ og burde blive reporteret som en bug til folkene bag
|
||||
Subject: En ny session @SESSION_ID@ er blevet lavet for bruger @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
En ny session med ID @SESSION_ID@ er blevet lavet for brugeren @USER_ID@.
|
||||
|
||||
@ -74,7 +74,7 @@ Den ledende process for sessionen er @LEADER@.
|
||||
Subject: Session @SESSION_ID@ er blevet lukket ned
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
En session med ID @SESSION_ID@ er blevet lukket ned.
|
||||
|
||||
@ -82,7 +82,7 @@ En session med ID @SESSION_ID@ er blevet lukket ned.
|
||||
Subject: En ny arbejdsstation $SEAT_ID@ er nu tilgængelig
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
En ny arbejdsstation @SEAT_ID@ er blevet konfigureret og er nu tilgængelig.
|
||||
|
||||
@ -90,7 +90,7 @@ En ny arbejdsstation @SEAT_ID@ er blevet konfigureret og er nu tilgængelig.
|
||||
Subject: Arbejdsstation @SEAT_ID@ er nu blevet fjernet
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
En arbejdsstation @SEAT_ID@ er blevet fjernet og er ikke længere tilgængelig.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
-- fc2e22bc6ee647b6b90729ab34a250b1
|
||||
Subject: Speicherabbild für Prozess @COREDUMP_PID@ (@COREDUMP_COMM) generiert
|
||||
Subject: Speicherabbild für Prozess @COREDUMP_PID@ (@COREDUMP_COMM@) generiert
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: man:core(5)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Copyright © 2013-2016 Sylvain Plantefève
|
||||
|
||||
@ -82,7 +82,7 @@ incriminé, et cela devrait être notifié à son concepteur comme un défaut (b
|
||||
Subject: Une nouvelle session @SESSION_ID@ a été créée pour l'utilisateur @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Une nouvelle session a été créée pour l'utilisateur @USER_ID@ avec
|
||||
l'identifiant (ID) @SESSION_ID@.
|
||||
@ -93,7 +93,7 @@ Le processus maître de la session est @LEADER@.
|
||||
Subject: La session @SESSION_ID@ s'est terminée
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
La session d'identifiant (ID) @SESSION_ID@ s'est terminée.
|
||||
|
||||
@ -101,7 +101,7 @@ La session d'identifiant (ID) @SESSION_ID@ s'est terminée.
|
||||
Subject: Un nouveau poste (seat) @SEAT_ID@ est disponible
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Un nouveau poste (seat) @SEAT_ID@ a été configuré et est maintenant
|
||||
disponible.
|
||||
@ -110,7 +110,7 @@ disponible.
|
||||
Subject: Le poste (seat) @SEAT_ID@ a été retiré
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Le poste (seat) @SEAT_ID@ a été retiré et n'est plus disponible.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# Message catalog for systemd's own messages
|
||||
# Croatian translation
|
||||
@ -78,7 +78,7 @@ trebalo bi se prijaviti razvijatelju kao greška.
|
||||
Subject: Nova sesija @SESSION_ID@ je stvorena za korisnika @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Nova sesija sa ID @SESSION_ID@ je stvorena za korisnika @USER_ID@.
|
||||
|
||||
@ -88,7 +88,7 @@ Glavni proces sesije je @LEADER@.
|
||||
Subject: Sesija @SESSION_ID@ je prekinuta
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Sesija sa ID @SESSION_ID@ je prekinuta.
|
||||
|
||||
@ -96,7 +96,7 @@ Sesija sa ID @SESSION_ID@ je prekinuta.
|
||||
Subject: Novo sjedište @SEAT_ID@ je sada dostupno
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Novo sjedište @SEAT_ID@ je podešeno i sada je dostupno.
|
||||
|
||||
@ -104,7 +104,7 @@ Novo sjedište @SEAT_ID@ je podešeno i sada je dostupno.
|
||||
Subject: Sjedište @SEAT_ID@ je sada uklonjeno
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Sjedište @SEAT_ID@ je uklonjeno i više nije dostupno.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Copyright © 2016 Gabor Kelemen
|
||||
|
||||
@ -64,7 +64,7 @@ a szállítója felé kell bejelenteni.
|
||||
Subject: Új munkamenet (@SESSION_ID@) létrehozva, felhasználója: @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Létrejött egy új munkamenet @SESSION_ID@ azonosítóval ezen felhasználóhoz:
|
||||
@USER_ID@.
|
||||
@ -75,7 +75,7 @@ A munkamenet vezető folyamata: @LEADER@.
|
||||
Subject: Munkamenet (@SESSION_ID@) befejezve
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
A következő azonosítójú munkamenet befejeződött: @SESSION_ID@.
|
||||
|
||||
@ -83,7 +83,7 @@ A következő azonosítójú munkamenet befejeződött: @SESSION_ID@.
|
||||
Subject: Elérhető egy új munkaállomás: @SEAT_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Beállításra kerül és használható egy új munkaállomás: @SEAT_ID@.
|
||||
|
||||
@ -91,7 +91,7 @@ Beállításra kerül és használható egy új munkaállomás: @SEAT_ID@.
|
||||
Subject: A munkaállomás eltávolítva: @SEAT_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
A munkaállomás el lett távolítva, és már nem érhető el: @SEAT_ID@
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Copyright © 2013-2019 Daniele Medri
|
||||
|
||||
@ -97,7 +97,7 @@ segnalare la troncatura.
|
||||
Subject: La nuova sessione @SESSION_ID@ è stata creata per l'utente @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Una nuova sessione con ID @SESSION_ID@ è stata creata per l'utente @USER_ID@.
|
||||
|
||||
@ -108,7 +108,7 @@ Il processo primario della sessione è @LEADER@.
|
||||
Subject: La sessione @SESSION_ID@ è terminata
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
La sessione con ID @SESSION_ID@ è terminata.
|
||||
|
||||
@ -117,7 +117,7 @@ La sessione con ID @SESSION_ID@ è terminata.
|
||||
Subject: La nuova postazione @SEAT_ID@ è ora disponibile
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
La nuova postazione @SEAT_ID@ è stata configurata ed è ora disponibile.
|
||||
|
||||
@ -126,7 +126,7 @@ La nuova postazione @SEAT_ID@ è stata configurata ed è ora disponibile.
|
||||
Subject: La postazione @SEAT_ID@ è stata rimossa
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
La postazione @SEAT_ID@ è stata rimossa e non è più disponibile.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# Message catalog for systemd's own messages
|
||||
# Korean translation
|
||||
@ -86,7 +86,7 @@ Documentation: man:core(5)
|
||||
Subject: @USER_ID@ 사용자의 새 @SESSION_ID@ 세션 만듦
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
@USER_ID@ 사용자의 새 @SESSION_ID@ 세션을 만들었습니다.
|
||||
|
||||
@ -96,7 +96,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: @SESSION_ID@ 세션 마침
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
@SESSION_ID@ 세션을 끝냈습니다.
|
||||
|
||||
@ -104,7 +104,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: 새 @SEAT_ID@ 시트 사용할 수 있음
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
새 @SEAT_ID@ 시트를 설정했고 사용할 수 있습니다.
|
||||
|
||||
@ -112,7 +112,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: @SEAT_ID@ 시트 제거함
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
@SEAT_ID@ 시트를 제거했으며 더이상 사용할 수 없습니다.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# Message catalog for systemd's own messages
|
||||
# Polish translation
|
||||
@ -92,7 +92,7 @@ gdb(1) będą ostrzegały o skróceniu pliku.
|
||||
Subject: Utworzono nową sesję @SESSION_ID@ dla użytkownika @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Nowa sesja o identyfikatorze @SESSION_ID@ została utworzona dla użytkownika
|
||||
@USER_ID@.
|
||||
@ -103,7 +103,7 @@ Proces prowadzący sesji: @LEADER@.
|
||||
Subject: Zakończono sesję @SESSION_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Sesja o identyfikatorze @SESSION_ID@ została zakończona.
|
||||
|
||||
@ -111,7 +111,7 @@ Sesja o identyfikatorze @SESSION_ID@ została zakończona.
|
||||
Subject: Dostępne jest nowe stanowisko @SEAT_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Nowe stanowisko @SEAT_ID@ zostało skonfigurowane i jest teraz dostępne.
|
||||
|
||||
@ -119,7 +119,7 @@ Nowe stanowisko @SEAT_ID@ zostało skonfigurowane i jest teraz dostępne.
|
||||
Subject: Usunięto stanowisko @SEAT_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Stanowisko @SEAT_ID@ zostało usunięte i nie jest już dostępne.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Copyright © 2015 Rafael Ferreira (translation)
|
||||
|
||||
@ -65,7 +65,7 @@ deveria ser relatado para seu fabricante como um erro.
|
||||
Subject: A nova sessão @SESSION_ID@ foi criada para usuário o @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Uma nova sessão com o ID @SESSION_ID@ foi criada para o usuário @USER_ID@.
|
||||
|
||||
@ -75,7 +75,7 @@ O processo originador da sessão é @LEADER@.
|
||||
Subject: Sessão @SESSION_ID@ foi terminada
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Um sessão com o ID @SESSION_ID@ foi terminada.
|
||||
|
||||
@ -83,7 +83,7 @@ Um sessão com o ID @SESSION_ID@ foi terminada.
|
||||
Subject: Um novo seat @SEAT_ID@ está disponível
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Um novo seat @SEAT_ID@ foi configurado e está disponível.
|
||||
|
||||
@ -91,7 +91,7 @@ Um novo seat @SEAT_ID@ foi configurado e está disponível.
|
||||
Subject: Seat @SEAT_ID@ foi removido agora
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Um seat @SEAT_ID@ foi removido e não está mais disponível.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Copyright © 2013-2017 Sergey Ptashnick
|
||||
|
||||
@ -105,7 +105,7 @@ Documentation: man:coredump.conf(5)
|
||||
Subject: Для пользователя @USER_ID@ создан новый сеанс @SESSION_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Для пользователя @USER_ID@ создан новый сеанс с идентификатором @SESSION_ID@.
|
||||
|
||||
@ -116,7 +116,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Сеанс @SESSION_ID@ завершен
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Сеанс с идентификатором @SESSION_ID@ завершился.
|
||||
|
||||
@ -125,7 +125,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Добавлено новое рабочее место @SEAT_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Новое рабочее место (seat) @SEAT_ID@ полностью настроено и готово к
|
||||
использованию.
|
||||
@ -135,7 +135,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Рабочее место @SEAT_ID@ отключено
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Рабочее место (seat) @SEAT_ID@ было отключено.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# Message catalog for systemd's own messages
|
||||
# Serbian translation
|
||||
@ -63,7 +63,7 @@ Documentation: man:core(5)
|
||||
Subject: Нова сесија @SESSION_ID@ је направљена за корисника @USER_ID@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Нова сесија са ИБ-ом @SESSION_ID@ је направљена за корисника @USER_ID@.
|
||||
|
||||
@ -73,7 +73,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Сесија @SESSION_ID@ је окончана
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Сесија са ИБ-ом @SESSION_ID@ је окончана.
|
||||
|
||||
@ -81,7 +81,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Ново седиште @SEAT_ID@ је сада доступно
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Ново седиште @SEAT_ID@ је исподешавано и сада је доступно.
|
||||
|
||||
@ -89,7 +89,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: Седиште @SEAT_ID@ је сада уклоњено
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
Седиште @SEAT_ID@ је сада уклоњено и више није доступно.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Copyright © 2015 Boyuan Yang
|
||||
|
||||
@ -62,7 +62,7 @@ Documentation: man:core(5)
|
||||
Subject: 一个新会话 @SESSION_ID@ 已为用户 @USER_ID@ 建立
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
一个 ID 为 @SESSION_ID@ 的新会话已为用户 @USER_ID@ 建立。
|
||||
|
||||
@ -72,7 +72,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: 会话 @SESSION_ID@ 已终止
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
一个 ID 为 @SESSION_ID@ 的会话已终止。
|
||||
|
||||
@ -80,7 +80,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: 一个新的座位 @SEAT_ID@ 可用
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
一个新的座位 @SEAT_ID@ 已被配置并已可用。
|
||||
|
||||
@ -88,7 +88,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: 座位 @SEAT_ID@ 已被移除
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
座位 @SEAT_ID@ 已被移除并不再可用。
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
#
|
||||
# Copyright © 2015 Jeff Huang
|
||||
|
||||
@ -65,7 +65,7 @@ Documentation: man:core(5)
|
||||
Subject: 新的工作階段 @SESSION_ID@ 已為使用者 @USER_ID@ 建立
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
一個新的工作階段,ID @SESSION_ID@ 已為使用者 @USER_ID@ 建立。
|
||||
|
||||
@ -75,7 +75,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: 工作階段 @SESSION_ID@ 已結束
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
一個工作階段,ID @SESSION_ID@ 已結束。
|
||||
|
||||
@ -83,7 +83,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: 新的座位 @SEAT_ID@ 可用
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
一個新的座位 @SEAT_ID@ 已被設定且現在可用。
|
||||
|
||||
@ -91,7 +91,7 @@ Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Subject: 座位 @SEAT_ID@ 已被移除
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
Documentation: sd-login(3)
|
||||
|
||||
座位 @SEAT_ID@ 已被移除且不再可用。
|
||||
|
||||
|
@ -9,3 +9,8 @@ expression s;
|
||||
@@
|
||||
- (empty_or_root(s) ? "/" : s)
|
||||
+ empty_to_root(s)
|
||||
@@
|
||||
expression s;
|
||||
@@
|
||||
- (s ? s : "/")
|
||||
+ empty_to_root(s)
|
||||
|
@ -2,13 +2,28 @@
|
||||
expression e;
|
||||
statement s;
|
||||
@@
|
||||
- if (e == NULL)
|
||||
+ if (!e)
|
||||
s
|
||||
if (
|
||||
(
|
||||
!e
|
||||
|
|
||||
- e == NULL
|
||||
+ !e
|
||||
)
|
||||
)
|
||||
{...}
|
||||
else s
|
||||
|
||||
@@
|
||||
expression e;
|
||||
statement s;
|
||||
@@
|
||||
- if (e != NULL)
|
||||
+ if (e)
|
||||
s
|
||||
if (
|
||||
(
|
||||
e
|
||||
|
|
||||
- e != NULL
|
||||
+ e
|
||||
)
|
||||
)
|
||||
{...}
|
||||
else s
|
||||
|
10
coccinelle/errno-check.cocci
Normal file
10
coccinelle/errno-check.cocci
Normal file
@ -0,0 +1,10 @@
|
||||
@@
|
||||
constant c;
|
||||
@@
|
||||
(
|
||||
- errno == -c
|
||||
+ errno == c
|
||||
|
|
||||
- errno != -c
|
||||
+ errno != c
|
||||
)
|
@ -1,7 +1,13 @@
|
||||
@@
|
||||
/* Disable this transformation for the securebits-util.h, as it makes
|
||||
* the expression there confusing. */
|
||||
position p : script:python() { p[0].file != "src/shared/securebits-util.h" };
|
||||
/* Disable this transformation in cases where it doesn't make sense or
|
||||
* where it makes the resulting expression more confusing
|
||||
*/
|
||||
position p : script:python() {
|
||||
not (p[0].file == "src/shared/securebits-util.h" or
|
||||
p[0].file == "src/core/manager.h" or
|
||||
p[0].current_element == "log_set_max_level_realm" or
|
||||
p[0].current_element == "unichar_is_valid")
|
||||
};
|
||||
expression x, y;
|
||||
@@
|
||||
(
|
||||
|
@ -1,25 +1,13 @@
|
||||
/* Limit the number of expressions to 6 for performance reasons */
|
||||
@@
|
||||
expression e;
|
||||
/* Exclude JsonVariant * from the transformation, as it can't work with the
|
||||
* current version of the IN_SET macro */
|
||||
typedef JsonVariant;
|
||||
type T != JsonVariant*;
|
||||
constant T n0, n1, n2, n3, n4, n5, n6, n7, n8, n9;
|
||||
constant T n0, n1, n2, n3, n4, n5;
|
||||
@@
|
||||
|
||||
(
|
||||
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5 || e == n6 || e == n7 || e == n8 || e == n9
|
||||
+ IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9)
|
||||
|
|
||||
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5 || e == n6 || e == n7 || e == n8
|
||||
+ IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8)
|
||||
|
|
||||
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5 || e == n6 || e == n7
|
||||
+ IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7)
|
||||
|
|
||||
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5 || e == n6
|
||||
+ IN_SET(e, n0, n1, n2, n3, n4, n5, n6)
|
||||
|
|
||||
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5
|
||||
+ IN_SET(e, n0, n1, n2, n3, n4, n5)
|
||||
|
|
||||
|
231
coccinelle/macros.h
Normal file
231
coccinelle/macros.h
Normal file
@ -0,0 +1,231 @@
|
||||
/* Collected macros from our systemd codebase to make the cocci semantic
|
||||
* parser happy. Inspired by the original cocci macros file
|
||||
* /usr/lib64/coccinelle/standard.h (including the YACFE_* symbols)
|
||||
*/
|
||||
|
||||
// General
|
||||
#define PTR_TO_PID(x)
|
||||
|
||||
// src/basic/macro.h
|
||||
#define _printf_(a, b) __attribute__((__format__(printf, a, b)))
|
||||
#define _alloc_(...) __attribute__((__alloc_size__(__VA_ARGS__)))
|
||||
#define _sentinel_ __attribute__((__sentinel__))
|
||||
#define _section_(x) __attribute__((__section__(x)))
|
||||
#define _used_ __attribute__((__used__))
|
||||
#define _unused_ __attribute__((__unused__))
|
||||
#define _destructor_ __attribute__((__destructor__))
|
||||
#define _pure_ __attribute__((__pure__))
|
||||
#define _const_ __attribute__((__const__))
|
||||
#define _deprecated_ __attribute__((__deprecated__))
|
||||
#define _packed_ __attribute__((__packed__))
|
||||
#define _malloc_ __attribute__((__malloc__))
|
||||
#define _weak_ __attribute__((__weak__))
|
||||
#define _likely_(x) (__builtin_expect(!!(x), 1))
|
||||
#define _unlikely_(x) (__builtin_expect(!!(x), 0))
|
||||
#define _public_ __attribute__((__visibility__("default")))
|
||||
#define _hidden_ __attribute__((__visibility__("hidden")))
|
||||
#define _weakref_(x) __attribute__((__weakref__(#x)))
|
||||
#define _align_(x) __attribute__((__aligned__(x)))
|
||||
#define _alignas_(x) __attribute__((__aligned__(__alignof(x))))
|
||||
#define _alignptr_ __attribute__((__aligned__(sizeof(void*))))
|
||||
#define _cleanup_(x) __attribute__((__cleanup__(x)))
|
||||
#define _fallthrough_
|
||||
#define _noreturn_ __attribute__((__noreturn__))
|
||||
#define thread_local __thread
|
||||
|
||||
#define ELEMENTSOF(x) \
|
||||
(__builtin_choose_expr( \
|
||||
!__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \
|
||||
sizeof(x)/sizeof((x)[0]), \
|
||||
VOID_0))
|
||||
|
||||
// src/basic/umask-util.h
|
||||
#define _cleanup_umask_
|
||||
#define RUN_WITH_UMASK(mask) \
|
||||
for (_cleanup_umask_ mode_t _saved_umask_ = umask(mask) | S_IFMT; \
|
||||
FLAGS_SET(_saved_umask_, S_IFMT); \
|
||||
_saved_umask_ &= 0777)
|
||||
|
||||
// src/basic/hashmap.h
|
||||
#define _IDX_ITERATOR_FIRST (UINT_MAX - 1)
|
||||
#define HASHMAP_FOREACH(e, h) YACFE_ITERATOR
|
||||
#define ORDERED_HASHMAP_FOREACH(e, h) YACFE_ITERATOR
|
||||
#define HASHMAP_FOREACH_KEY(e, k, h) YACFE_ITERATOR
|
||||
#define ORDERED_HASHMAP_FOREACH_KEY(e, k, h) YACFE_ITERATOR
|
||||
|
||||
// src/basic/list.h
|
||||
#define LIST_HEAD(t,name) \
|
||||
t *name
|
||||
#define LIST_FIELDS(t,name) \
|
||||
t *name##_next, *name##_prev
|
||||
#define LIST_HEAD_INIT(head) \
|
||||
do { \
|
||||
(head) = NULL; \
|
||||
} while (false)
|
||||
#define LIST_INIT(name,item) \
|
||||
do { \
|
||||
typeof(*(item)) *_item = (item); \
|
||||
assert(_item); \
|
||||
_item->name##_prev = _item->name##_next = NULL; \
|
||||
} while (false)
|
||||
#define LIST_PREPEND(name,head,item) \
|
||||
do { \
|
||||
typeof(*(head)) **_head = &(head), *_item = (item); \
|
||||
assert(_item); \
|
||||
if ((_item->name##_next = *_head)) \
|
||||
_item->name##_next->name##_prev = _item; \
|
||||
_item->name##_prev = NULL; \
|
||||
*_head = _item; \
|
||||
} while (false)
|
||||
#define LIST_APPEND(name,head,item) \
|
||||
do { \
|
||||
typeof(*(head)) **_hhead = &(head), *_tail; \
|
||||
LIST_FIND_TAIL(name, *_hhead, _tail); \
|
||||
LIST_INSERT_AFTER(name, *_hhead, _tail, item); \
|
||||
} while (false)
|
||||
#define LIST_REMOVE(name,head,item) \
|
||||
do { \
|
||||
typeof(*(head)) **_head = &(head), *_item = (item); \
|
||||
assert(_item); \
|
||||
if (_item->name##_next) \
|
||||
_item->name##_next->name##_prev = _item->name##_prev; \
|
||||
if (_item->name##_prev) \
|
||||
_item->name##_prev->name##_next = _item->name##_next; \
|
||||
else { \
|
||||
assert(*_head == _item); \
|
||||
*_head = _item->name##_next; \
|
||||
} \
|
||||
_item->name##_next = _item->name##_prev = NULL; \
|
||||
} while (false)
|
||||
#define LIST_FIND_HEAD(name,item,head) \
|
||||
do { \
|
||||
typeof(*(item)) *_item = (item); \
|
||||
if (!_item) \
|
||||
(head) = NULL; \
|
||||
else { \
|
||||
while (_item->name##_prev) \
|
||||
_item = _item->name##_prev; \
|
||||
(head) = _item; \
|
||||
} \
|
||||
} while (false)
|
||||
#define LIST_FIND_TAIL(name,item,tail) \
|
||||
do { \
|
||||
typeof(*(item)) *_item = (item); \
|
||||
if (!_item) \
|
||||
(tail) = NULL; \
|
||||
else { \
|
||||
while (_item->name##_next) \
|
||||
_item = _item->name##_next; \
|
||||
(tail) = _item; \
|
||||
} \
|
||||
} while (false)
|
||||
#define LIST_INSERT_AFTER(name,head,a,b) \
|
||||
do { \
|
||||
typeof(*(head)) **_head = &(head), *_a = (a), *_b = (b); \
|
||||
assert(_b); \
|
||||
if (!_a) { \
|
||||
if ((_b->name##_next = *_head)) \
|
||||
_b->name##_next->name##_prev = _b; \
|
||||
_b->name##_prev = NULL; \
|
||||
*_head = _b; \
|
||||
} else { \
|
||||
if ((_b->name##_next = _a->name##_next)) \
|
||||
_b->name##_next->name##_prev = _b; \
|
||||
_b->name##_prev = _a; \
|
||||
_a->name##_next = _b; \
|
||||
} \
|
||||
} while (false)
|
||||
#define LIST_INSERT_BEFORE(name,head,a,b) \
|
||||
do { \
|
||||
typeof(*(head)) **_head = &(head), *_a = (a), *_b = (b); \
|
||||
assert(_b); \
|
||||
if (!_a) { \
|
||||
if (!*_head) { \
|
||||
_b->name##_next = NULL; \
|
||||
_b->name##_prev = NULL; \
|
||||
*_head = _b; \
|
||||
} else { \
|
||||
typeof(*(head)) *_tail = (head); \
|
||||
while (_tail->name##_next) \
|
||||
_tail = _tail->name##_next; \
|
||||
_b->name##_next = NULL; \
|
||||
_b->name##_prev = _tail; \
|
||||
_tail->name##_next = _b; \
|
||||
} \
|
||||
} else { \
|
||||
if ((_b->name##_prev = _a->name##_prev)) \
|
||||
_b->name##_prev->name##_next = _b; \
|
||||
else \
|
||||
*_head = _b; \
|
||||
_b->name##_next = _a; \
|
||||
_a->name##_prev = _b; \
|
||||
} \
|
||||
} while (false)
|
||||
|
||||
#define LIST_JUST_US(name,item) \
|
||||
(!(item)->name##_prev && !(item)->name##_next) \
|
||||
#define LIST_FOREACH(name,i,head) \
|
||||
for ((i) = (head); (i); (i) = (i)->name##_next)
|
||||
#define LIST_FOREACH_SAFE(name,i,n,head) \
|
||||
for ((i) = (head); (i) && (((n) = (i)->name##_next), 1); (i) = (n))
|
||||
#define LIST_FOREACH_BEFORE(name,i,p) \
|
||||
for ((i) = (p)->name##_prev; (i); (i) = (i)->name##_prev)
|
||||
#define LIST_FOREACH_AFTER(name,i,p) \
|
||||
for ((i) = (p)->name##_next; (i); (i) = (i)->name##_next)
|
||||
#define LIST_FOREACH_OTHERS(name,i,p) \
|
||||
for (({ \
|
||||
(i) = (p); \
|
||||
while ((i) && (i)->name##_prev) \
|
||||
(i) = (i)->name##_prev; \
|
||||
if ((i) == (p)) \
|
||||
(i) = (p)->name##_next; \
|
||||
}); \
|
||||
(i); \
|
||||
(i) = (i)->name##_next == (p) ? (p)->name##_next : (i)->name##_next)
|
||||
#define LIST_LOOP_BUT_ONE(name,i,head,p) \
|
||||
for ((i) = (p)->name##_next ? (p)->name##_next : (head); \
|
||||
(i) != (p); \
|
||||
(i) = (i)->name##_next ? (i)->name##_next : (head))
|
||||
|
||||
#define LIST_IS_EMPTY(head) \
|
||||
(!(head))
|
||||
#define LIST_JOIN(name,a,b) \
|
||||
do { \
|
||||
assert(b); \
|
||||
if (!(a)) \
|
||||
(a) = (b); \
|
||||
else { \
|
||||
typeof(*(a)) *_head = (b), *_tail; \
|
||||
LIST_FIND_TAIL(name, (a), _tail); \
|
||||
_tail->name##_next = _head; \
|
||||
_head->name##_prev = _tail; \
|
||||
} \
|
||||
(b) = NULL; \
|
||||
} while (false)
|
||||
|
||||
// src/basic/strv.h
|
||||
#define STRV_FOREACH(s, l) YACFE_ITERATOR
|
||||
#define STRV_FOREACH_BACKWARDS(s, l) YACFE_ITERATOR
|
||||
#define STRV_FOREACH_PAIR(x, y, l) YACFE_ITERATOR
|
||||
|
||||
// src/basic/socket-util.h
|
||||
#define CMSG_BUFFER_TYPE(size) \
|
||||
union { \
|
||||
struct cmsghdr cmsghdr; \
|
||||
uint8_t buf[size]; \
|
||||
uint8_t align_check[(size) >= CMSG_SPACE(0) && \
|
||||
(size) == CMSG_ALIGN(size) ? 1 : -1]; \
|
||||
}
|
||||
|
||||
// src/libsystemd/sd-device/device-util.h
|
||||
#define FOREACH_DEVICE_PROPERTY(device, key, value) YACFE_ITERATOR
|
||||
#define FOREACH_DEVICE_TAG(device, tag) YACFE_ITERATOR
|
||||
#define FOREACH_DEVICE_CURRENT_TAG(device, tag) YACFE_ITERATOR
|
||||
#define FOREACH_DEVICE_SYSATTR(device, attr) YACFE_ITERATOR
|
||||
#define FOREACH_DEVICE_DEVLINK(device, devlink) YACFE_ITERATOR
|
||||
#define FOREACH_DEVICE(enumerator, device) YACFE_ITERATOR
|
||||
#define FOREACH_SUBSYSTEM(enumerator, device) YACFE_ITERATOR
|
||||
|
||||
// src/basic/dirent-util.h
|
||||
#define FOREACH_DIRENT(de, d, on_error) YACFE_ITERATOR
|
||||
#define FOREACH_DIRENT_ALL(de, d, on_error) YACFE_ITERATOR
|
@ -1,22 +1,11 @@
|
||||
/* Limit the number of expressions to 6 for performance reasons */
|
||||
@@
|
||||
expression e;
|
||||
typedef JsonVariant;
|
||||
type T != JsonVariant*;
|
||||
constant T n0, n1, n2, n3, n4, n5, n6, n7, n8, n9;
|
||||
constant T n0, n1, n2, n3, n4, n5;
|
||||
@@
|
||||
(
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9)
|
||||
|
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8)
|
||||
|
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7)
|
||||
|
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6)
|
||||
|
|
||||
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5
|
||||
+ !IN_SET(e, n0, n1, n2, n3, n4, n5)
|
||||
|
|
||||
|
@ -10,7 +10,6 @@ EXCLUDED_PATHS=(
|
||||
)
|
||||
|
||||
top="$(git rev-parse --show-toplevel)"
|
||||
iso_defs="$top/coccinelle/systemd-definitions.iso"
|
||||
args=
|
||||
|
||||
# Create an array from files tracked by git...
|
||||
@ -32,12 +31,12 @@ if ! parallel -h >/dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for SCRIPT in ${@-$top/coccinelle/*.cocci} ; do
|
||||
for SCRIPT in ${@-$top/coccinelle/*.cocci}; do
|
||||
echo "--x-- Processing $SCRIPT --x--"
|
||||
TMPFILE=`mktemp`
|
||||
echo "+ spatch --sp-file $SCRIPT $args ..."
|
||||
parallel --halt now,fail=1 --keep-order --noswap --max-args=20 \
|
||||
spatch --iso-file $iso_defs --sp-file $SCRIPT $args ::: "${files[@]}" \
|
||||
spatch --macro-file="$top/coccinelle/macros.h" --sp-file $SCRIPT $args ::: "${files[@]}" \
|
||||
2>"$TMPFILE" || cat "$TMPFILE"
|
||||
echo -e "--x-- Processed $SCRIPT --x--\n"
|
||||
done
|
||||
|
@ -1,16 +1,15 @@
|
||||
@@
|
||||
expression list args;
|
||||
@@
|
||||
- strjoin(args, NULL);
|
||||
+ strjoin(args);
|
||||
@@
|
||||
position p : script:python() { p[0].current_element != "test_strjoin" };
|
||||
expression t;
|
||||
expression list args;
|
||||
@@
|
||||
- t = strjoin(args, NULL);
|
||||
(
|
||||
- strjoin@p(args, NULL);
|
||||
+ strjoin(args);
|
||||
|
|
||||
- t = strjoin@p(args, NULL);
|
||||
+ t = strjoin(args);
|
||||
@@
|
||||
expression list args;
|
||||
@@
|
||||
- return strjoin(args, NULL);
|
||||
|
|
||||
- return strjoin@p(args, NULL);
|
||||
+ return strjoin(args);
|
||||
)
|
||||
|
@ -1,20 +0,0 @@
|
||||
/* Statement isomorphisms - replace explicit checks against NULL with a
|
||||
* shorter variant, which relies on C's downgrade-to-bool feature.
|
||||
* The expression metavariables should be declared as pointers, however,
|
||||
* that doesn't work well with complex expressions like:
|
||||
* if (UNIT(p)->default_dependencies != NULL)
|
||||
*/
|
||||
|
||||
Statement
|
||||
@@
|
||||
expression X;
|
||||
statement S;
|
||||
@@
|
||||
if (X == NULL) S => if (!X) S
|
||||
|
||||
Statement
|
||||
@@
|
||||
expression X;
|
||||
statement S;
|
||||
@@
|
||||
if (X != NULL) S => if (X) S
|
@ -1,6 +1,7 @@
|
||||
@@
|
||||
position p : script:python() { not p[0].file.startswith("man/") };
|
||||
expression e, fmt;
|
||||
expression list vaargs;
|
||||
@@
|
||||
- snprintf(e, sizeof(e), fmt, vaargs);
|
||||
- snprintf@p(e, sizeof(e), fmt, vaargs);
|
||||
+ xsprintf(e, fmt, vaargs);
|
||||
|
27
coccinelle/zz-drop-braces.cocci
Normal file
27
coccinelle/zz-drop-braces.cocci
Normal file
@ -0,0 +1,27 @@
|
||||
@@
|
||||
position p : script:python() { p[0].file != "src/journal/lookup3.c" };
|
||||
identifier id;
|
||||
expression e;
|
||||
@@
|
||||
if (...)
|
||||
- {
|
||||
(
|
||||
id@p(...);
|
||||
|
|
||||
e@p;
|
||||
)
|
||||
- }
|
||||
|
||||
@@
|
||||
position p : script:python() { p[0].file != "src/journal/lookup3.c" };
|
||||
identifier id;
|
||||
expression e;
|
||||
@@
|
||||
if (...)
|
||||
- {
|
||||
(
|
||||
return id@p(...);
|
||||
|
|
||||
return e@p;
|
||||
)
|
||||
- }
|
@ -10,12 +10,11 @@ systemd provides support for automatically reverting back to the previous
|
||||
version of the OS or kernel in case the system consistently fails to boot. This
|
||||
support is built into various of its components. When used together these
|
||||
components provide a complete solution on UEFI systems, built as add-on to the
|
||||
[Boot Loader
|
||||
Specification](https://systemd.io/BOOT_LOADER_SPECIFICATION). However, the
|
||||
different components may also be used independently, and in combination with
|
||||
other software, to implement similar schemes, for example with other boot
|
||||
loaders or for non-UEFI systems. Here's a brief overview of the complete set of
|
||||
components:
|
||||
[Boot Loader Specification](https://systemd.io/BOOT_LOADER_SPECIFICATION).
|
||||
However, the different components may also be used independently, and in
|
||||
combination with other software, to implement similar schemes, for example with
|
||||
other boot loaders or for non-UEFI systems. Here's a brief overview of the
|
||||
complete set of components:
|
||||
|
||||
* The
|
||||
[`systemd-boot(7)`](https://www.freedesktop.org/software/systemd/man/systemd-boot.html)
|
||||
@ -45,11 +44,10 @@ components:
|
||||
|
||||
* The `boot-complete.target` target unit (see
|
||||
[`systemd.special(7)`](https://www.freedesktop.org/software/systemd/man/systemd.special.html))
|
||||
serves as a generic extension point both for units that shall be considered
|
||||
necessary to consider a boot successful on one side (example:
|
||||
`systemd-boot-check-no-failures.service` as described above), and units that
|
||||
want to act only if the boot is successful on the other (example:
|
||||
`systemd-bless-boot.service` as described above).
|
||||
serves as a generic extension point both for units that are necessary to
|
||||
consider a boot successful (example: `systemd-boot-check-no-failures.service`
|
||||
as described above), and units that want to act only if the boot is
|
||||
successful (example: `systemd-bless-boot.service` as described above).
|
||||
|
||||
* The
|
||||
[`kernel-install(8)`](https://www.freedesktop.org/software/systemd/man/kernel-install.html)
|
||||
|
@ -28,23 +28,34 @@ returns `EBUSY`), it refrains from processing the device. If it manages to take
|
||||
the lock it is kept for the entire time the device is processed.
|
||||
|
||||
Note that `systemd-udevd` also watches all block device nodes it manages for
|
||||
`inotify()` `IN_CLOSE` events: whenever such an event is seen, this is used as
|
||||
trigger to re-run the rule-set for the device.
|
||||
`inotify()` `IN_CLOSE_WRITE` events: whenever such an event is seen, this is
|
||||
used as trigger to re-run the rule-set for the device.
|
||||
|
||||
These two concepts allow tools such as disk partitioners or file system
|
||||
formatting tools to safely and easily take exclusive ownership of a block
|
||||
device while operating: before starting work on the block device, they should
|
||||
take an `LOCK_EX` lock on it. This has two effects: first of all, in case
|
||||
`systemd-udevd` is still processing the device the tool will wait for it to
|
||||
finish. Second, after the lock is taken, it can be sure that
|
||||
`systemd-udevd` will refrain from processing the block device, and thus all
|
||||
other client applications subscribed to it won't get device notifications from
|
||||
potentially half-written data either. After the operation is complete the
|
||||
finish. Second, after the lock is taken, it can be sure that `systemd-udevd`
|
||||
will refrain from processing the block device, and thus all other client
|
||||
applications subscribed to it won't get device notifications from potentially
|
||||
half-written data either. After the operation is complete the
|
||||
partitioner/formatter can simply close the device node. This has two effects:
|
||||
it implicitly releases the lock, so that `systemd-udevd` can process events on
|
||||
the device node again. Secondly, it results an `IN_CLOSE` event, which causes
|
||||
`systemd-udevd` to immediately re-process the device — seeing all changes the
|
||||
tool made — and notify subscribed clients about it.
|
||||
the device node again. Secondly, it results an `IN_CLOSE_WRITE` event, which
|
||||
causes `systemd-udevd` to immediately re-process the device — seeing all
|
||||
changes the tool made — and notify subscribed clients about it.
|
||||
|
||||
Ideally, `systemd-udevd` would explicitly watch block devices for `LOCK_EX`
|
||||
locks being released. Such monitoring is not supported on Linux however, which
|
||||
is why it watches for `IN_CLOSE_WRITE` instead, i.e. for `close()` calls to
|
||||
writable file descriptors referring to the block device. In almost all cases,
|
||||
the difference between these two events does not matter much, as any locks
|
||||
taken are implicitly released by `close()`. However, it should be noted that if
|
||||
an application unlocks a device after completing its work without closing it,
|
||||
i.e. while keeping the file descriptor open for further, longer time, then
|
||||
`systemd-udevd` will not notice this and not retrigger and thus reprobe the
|
||||
device.
|
||||
|
||||
Besides synchronizing block device access between `systemd-udevd` and such
|
||||
tools this scheme may also be used to synchronize access between those tools
|
||||
|
@ -114,7 +114,23 @@ We define two directories below `$BOOT`:
|
||||
|
||||
**Note:** _In all cases the `/loader/` directory should be located directly in the root of the file system. Specifically, if `$BOOT` is the ESP, then `/loader/` directory should be located directly in the root directory of the ESP, and not in the `/EFI/` subdirectory._
|
||||
|
||||
Inside the `$BOOT/loader/entries/` directory each OS vendor may drop one or more configuration snippets with the suffix ".conf", one for each boot menu item. The file name of the file is used for identification of the boot item but shall never be presented to the user in the UI. The file name may be chosen freely but should be unique enough to avoid clashes between OS installations. More specifically it is suggested to include the machine ID (`/etc/machine-id` or the D-Bus machine ID for OSes that lack `/etc/machine-id`), the kernel version (as returned by `uname -r`) and an OS identifier (The ID field of `/etc/os-release`). Example: `$BOOT/loader/entries/6a9857a393724b7a981ebb5b8495b9ea-3.8.0-2.fc19.x86_64.conf`.
|
||||
Inside the `$BOOT/loader/entries/` directory each OS vendor may drop one or
|
||||
more configuration snippets with the suffix ".conf", one for each boot menu
|
||||
item. The file name of the file is used for identification of the boot item but
|
||||
shall never be presented to the user in the UI. The file name may be chosen
|
||||
freely but should be unique enough to avoid clashes between OS
|
||||
installations. More specifically it is suggested to include the machine ID
|
||||
(`/etc/machine-id` or the D-Bus machine ID for OSes that lack
|
||||
`/etc/machine-id`), the kernel version (as returned by `uname -r`) and an OS
|
||||
identifier (The ID field of `/etc/os-release`). Example:
|
||||
`$BOOT/loader/entries/6a9857a393724b7a981ebb5b8495b9ea-3.8.0-2.fc19.x86_64.conf`.
|
||||
|
||||
In order to maximize compatibility with file system implementations and
|
||||
restricted boot loader environments, and to minimize conflicting character use
|
||||
with other programs, file names shall be chosen from a restricted character set:
|
||||
ASCII upper and lower case characters, digits, "+", "-", "_" and ".". Also, the
|
||||
file names should have a length of at least one and at most 255 characters
|
||||
(including file name suffix).
|
||||
|
||||
These configuration snippets shall be Unix-style text files (i.e. line separation with a single newline character), in the UTF-8 encoding. The configuration snippets are loosely inspired on Grub1's configuration syntax. Lines beginning with '#' shall be ignored and used for commenting. The first word of a line is used as key and shall be separated by one or more spaces from its value. The following keys are known:
|
||||
|
||||
@ -171,6 +187,10 @@ extension `.efi`. Support for images of this type is of course specific to
|
||||
systems with EFI firmware. Ignore this section if you work on systems not
|
||||
supporting EFI.
|
||||
|
||||
Type #2 file names should be chosen from the same restricted character set as
|
||||
Type #1 described above (but use a different file name suffix of `.efi` instead
|
||||
of `.conf`).
|
||||
|
||||
Images of this type have the advantage that all metadata and payload that makes
|
||||
up the boot entry is monopolized in a single PE file that can be signed
|
||||
cryptographically as one for the purpose of EFI SecureBoot.
|
||||
|
@ -25,6 +25,19 @@ layout: default
|
||||
note that emacs loads `.dir-locals.el` automatically, but vim needs to be
|
||||
configured to load `.vimrc`, see that file for instructions.
|
||||
|
||||
- If you break a function declaration over multiple lines, do it like this:
|
||||
|
||||
```c
|
||||
void some_function(
|
||||
int foo,
|
||||
bool bar,
|
||||
char baz) {
|
||||
|
||||
int a, b, c;
|
||||
```
|
||||
|
||||
(i.e. use double indentation — 16 spaces — for the parameter list.)
|
||||
|
||||
- Try to write this:
|
||||
|
||||
```c
|
||||
@ -73,7 +86,27 @@ layout: default
|
||||
|
||||
- Do not write functions that clobber call-by-reference variables on
|
||||
failure. Use temporary variables for these cases and change the passed in
|
||||
variables only on success.
|
||||
variables only on success. The rule is: never clobber return parameters on
|
||||
failure, always initialize return parameters on success.
|
||||
|
||||
- Typically, function parameters fit into three categories: input parameters,
|
||||
mutable objects, and call-by-reference return parameters. Input parameters
|
||||
should always carry suitable "const" declarators if they are pointers, to
|
||||
indicate they are input-only and not changed by the function. Return
|
||||
parameters are best prefixed with "ret_", to clarify they are return
|
||||
parameters. (Conversely, please do not prefix parameters that aren't
|
||||
output-only with "ret_", in particular not mutable parameters that are both
|
||||
input as well as output). Example:
|
||||
|
||||
```c
|
||||
static int foobar_frobnicate(
|
||||
Foobar* object, /* the associated mutable object */
|
||||
const char *input, /* immutable input parameter */
|
||||
char **ret_frobnicated) { /* return parameter */
|
||||
…
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
- The order in which header files are included doesn't matter too
|
||||
much. systemd-internal headers must not rely on an include order, so it is
|
||||
@ -285,6 +318,14 @@ layout: default
|
||||
unlink("/foo/bar/baz");
|
||||
```
|
||||
|
||||
When returning from a `void` function, you may also want to shorten the error
|
||||
path boilerplate by returning a function invocation cast to `(void)` like so:
|
||||
|
||||
```c
|
||||
if (condition_not_met)
|
||||
return (void) log_tests_skipped("Cannot run ...");
|
||||
```
|
||||
|
||||
Don't cast function calls to `(void)` that return no error
|
||||
conditions. Specifically, the various `xyz_unref()` calls that return a
|
||||
`NULL` object shouldn't be cast to `(void)`, since not using the return value
|
||||
@ -296,13 +337,16 @@ layout: default
|
||||
## Logging
|
||||
|
||||
- For every function you add, think about whether it is a "logging" function or
|
||||
a "non-logging" function. "Logging" functions do logging on their own,
|
||||
"non-logging" function never log on their own and expect their callers to
|
||||
log. All functions in "library" code, i.e. in `src/shared/` and suchlike must
|
||||
be "non-logging". Every time a "logging" function calls a "non-logging"
|
||||
function, it should log about the resulting errors. If a "logging" function
|
||||
calls another "logging" function, then it should not generate log messages,
|
||||
so that log messages are not generated twice for the same errors.
|
||||
a "non-logging" function. "Logging" functions do (non-debug) logging on their
|
||||
own, "non-logging" function never log on their own (except at debug level)
|
||||
and expect their callers to log. All functions in "library" code, i.e. in
|
||||
`src/shared/` and suchlike must be "non-logging". Every time a "logging"
|
||||
function calls a "non-logging" function, it should log about the resulting
|
||||
errors. If a "logging" function calls another "logging" function, then it
|
||||
should not generate log messages, so that log messages are not generated
|
||||
twice for the same errors. (Note that debug level logging — at syslog level
|
||||
`LOG_DEBUG` — is not considered logging in this context, debug logging is
|
||||
generally always fine and welcome.)
|
||||
|
||||
- If possible, do a combined log & return operation:
|
||||
|
||||
@ -372,7 +416,7 @@ layout: default
|
||||
broken on Linux).
|
||||
|
||||
- When applying C-style unescaping as well as specifier expansion on the same
|
||||
string, always apply the C-style unescaping fist, followed by the specifier
|
||||
string, always apply the C-style unescaping first, followed by the specifier
|
||||
expansion. When doing the reverse, make sure to escape `%` in specifier-style
|
||||
first (i.e. `%` → `%%`), and then do C-style escaping where necessary.
|
||||
|
||||
@ -529,7 +573,7 @@ layout: default
|
||||
|
||||
- Don't use `fgets()`, it's too hard to properly handle errors such as overly
|
||||
long lines. Use `read_line()` instead, which is our own function that handles
|
||||
this much nicer.
|
||||
this much more nicely.
|
||||
|
||||
- Don't invoke `exit()`, ever. It is not replacement for proper error
|
||||
handling. Please escalate errors up your call chain, and use normal `return`
|
||||
|
@ -131,6 +131,17 @@ manager, please consider supporting the following interfaces.
|
||||
`$container_host_variant_id=server`
|
||||
`$container_host_version_id=10`
|
||||
|
||||
5. systemd supports passing immutable binary data blobs with limited size and
|
||||
restricted access to services via the `LoadCredential=` and `SetCredential=`
|
||||
settings. The same protocol may be used to pass credentials from the
|
||||
container manager to systemd itself. The credential data should be placed in
|
||||
some location (ideally a read-only and non-swappable file system, like
|
||||
'ramfs'), and the absolute path to this directory exported in the
|
||||
`$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."
|
||||
|
||||
## Advanced Integration
|
||||
|
||||
1. Consider syncing `/etc/localtime` from the host file system into the
|
||||
@ -172,6 +183,13 @@ manager, please consider supporting the following interfaces.
|
||||
unit they created for their container. That's private property of systemd,
|
||||
and no other code should modify it.
|
||||
|
||||
6. systemd running inside the container can report when boot-up is complete
|
||||
using the usual `sd_notify()` protocol that is also used when a service
|
||||
wants to tell the service manager about readiness. A container manager can
|
||||
set the `$NOTIFY_SOCKET` environment variable to a suitable socket path to
|
||||
make use of this functionality. (Also see information about
|
||||
`/run/host/notify` below.)
|
||||
|
||||
## Networking
|
||||
|
||||
1. Inside of a container, if a `veth` link is named `host0`, `systemd-networkd`
|
||||
@ -189,6 +207,65 @@ manager, please consider supporting the following interfaces.
|
||||
devices, for example hashed out of the container names. That way it is more
|
||||
likely that DHCP and IPv4LL will acquire stable addresses.
|
||||
|
||||
## The `/run/host/` Hierarchy
|
||||
|
||||
Container managers may place certain resources the manager wants to provide to
|
||||
the container payload below the `/run/host/` hierarchy. This hierarchy should
|
||||
be mostly immutable (possibly some subdirs might be writable, but the top-level
|
||||
hierarchy — and probably most subdirs should be read-only to the
|
||||
container). Note that this hierarchy is used by various container managers, and
|
||||
care should be taken to avoid naming conflicts. `systemd` (and in particular
|
||||
`systemd-nspawn`) use the hierarchy for the following resources:
|
||||
|
||||
1. The `/run/host/incoming/` directory mount point is configured for `MS_SLAVE`
|
||||
mount propagation with the host, and is used as intermediary location for
|
||||
mounts to establish in the container, for the implementation of `machinectl
|
||||
bind`. Container payload should usually not directly interact with this
|
||||
directory: it's used by code outside the container to insert mounts inside
|
||||
it only, and is mostly an internal vehicle to achieve this. Other container
|
||||
managers that want to implement similar functionality might consider using
|
||||
the same directory.
|
||||
|
||||
2. The `/run/host/inaccessible/` directory may be set up by the container
|
||||
manager to include six file nodes: `reg`, `dir`, `fifo`, `sock`, `chr`,
|
||||
`blk`. These nodes correspond with the six types of file nodes Linux knows
|
||||
(with the exceptions of symlinks). Each node should be of the specific type
|
||||
and have an all zero access mode, i.e. be inaccessible. The two device node
|
||||
types should have major and minor of zero (which are unallocated devices on
|
||||
Linux). These nodes are used as mount source for implementing the
|
||||
`InaccessiblePath=` setting of unit files, i.e. file nodes to mask this way
|
||||
are overmounted with these "inaccessible" inodes, guaranteeing that the file
|
||||
node type does not change this way but the nodes still become
|
||||
inaccessible. Note that systemd when run as PID 1 in the container payload
|
||||
will create these nodes on its own if not passed in by the container
|
||||
manager. However, in that case it likely lacks the privileges to create the
|
||||
character and block devices nodes (there are fallbacks for this case).
|
||||
|
||||
3. The `/run/host/notify` path is a good choice to place the `sd_notify()`
|
||||
socket in, that may be used for the container's PID 1 to report to the
|
||||
container manager when boot-up is complete. The path used for this doesn't
|
||||
matter much as it is communicated via the `$NOTIFY_SOCKET` environment
|
||||
variable, following the usual protocol for this, however it's suitable, and
|
||||
recommended place for this socket in case ready notification is desired.
|
||||
|
||||
4. The `/run/host/os-release` file contains the `/etc/os-release` file of the
|
||||
host, i.e. may be used by the container payload to gather limited
|
||||
information about the host environment, on top of what `uname -a` reports.
|
||||
|
||||
5. The `/run/host/container-manager` file may be used to pass the same
|
||||
information as the `$container` environment variable (see above), i.e. a
|
||||
short string identifying the container manager implementation. This file
|
||||
should be newline terminated. Passing this information via this file has the
|
||||
benefit that payload code can easily access it, even when running
|
||||
unprivileged without access to the container PID1's environment block.
|
||||
|
||||
6. The `/run/host/container-uuid` file may be used to pass the same information
|
||||
as the `$container_uuid` environment variable (see above). This file should
|
||||
be newline terminated.
|
||||
|
||||
7. The `/run/host/credentials/` directory is a good place to pass credentials
|
||||
into the container, using the `$CREDENTIALS_DIRECTORY` protocol, see above.
|
||||
|
||||
## What You Shouldn't Do
|
||||
|
||||
1. Do not drop `CAP_MKNOD` from the container. `PrivateDevices=` is a commonly
|
||||
|
@ -10,8 +10,9 @@ We welcome contributions from everyone. However, please follow the following gui
|
||||
|
||||
## Filing Issues
|
||||
|
||||
* We use [GitHub Issues](https://github.com/systemd/systemd/issues) **exclusively** for tracking **bugs** and **feature** **requests** of systemd. If you are looking for help, please contact [systemd-devel mailing list](https://lists.freedesktop.org/mailman/listinfo/systemd-devel) instead.
|
||||
* We use [GitHub Issues](https://github.com/systemd/systemd/issues) **exclusively** for tracking **bugs** and **feature** **requests** (RFEs) of systemd. If you are looking for help, please contact [systemd-devel mailing list](https://lists.freedesktop.org/mailman/listinfo/systemd-devel) instead.
|
||||
* We only track bugs in the **two** **most** **recently** **released** (non-rc) **versions** of systemd in the GitHub Issue tracker. If you are using an older version of systemd, please contact your distribution's bug tracker instead (see below). See [GitHub Release Page](https://github.com/systemd/systemd/releases) for the list of most recent releases.
|
||||
* When filing a feature request issue (RFE), please always check first if the newest upstream version of systemd already implements the feature, and whether there's already an issue filed for your feature by someone else.
|
||||
* When filing an issue, specify the **systemd** **version** you are experiencing the issue with. Also, indicate which **distribution** you are using.
|
||||
* Please include an explanation how to reproduce the issue you are pointing out.
|
||||
|
||||
|
@ -9,21 +9,21 @@ _TL;DR: Let's automatically discover, mount and enable the root partition,
|
||||
`/home/`, `/srv/`, `/var/` and `/var/tmp/` and the swap partitions based on
|
||||
GUID Partition Tables (GPT)!_
|
||||
|
||||
The GUID Partition Table (GPT) is mandatory on EFI systems. It allows
|
||||
identification of partition types with UUIDs. So far Linux has made little use
|
||||
of this, and mostly just defined one UUID for file system/data partitions and
|
||||
another one for swap partitions. With this specification, we introduce
|
||||
additional partition types to enable automatic discovery of partitions and
|
||||
their intended mountpoint. This has many benefits:
|
||||
This specification describes the use of GUID Partition Table (GPT) UUIDs to
|
||||
enable automatic discovery of partitions and their intended mountpoints.
|
||||
Traditionally Linux has made little use of partition types, mostly just
|
||||
defining one UUID for file system/data partitions and another one for swap
|
||||
partitions. With this specification, we introduce additional partition types
|
||||
for specific uses. This has many benefits:
|
||||
|
||||
* OS installers can automatically discover and make sense of partitions of
|
||||
existing Linux installations.
|
||||
* The OS can discover and mount the necessary file systems with a non-existing
|
||||
* The OS can discover and mount the necessary file systems with a non-existent
|
||||
or incomplete `/etc/fstab` file and without the `root=` kernel command line
|
||||
option.
|
||||
* Container managers (such as nspawn and libvirt-lxc) can decode and set up
|
||||
* Container managers (such as nspawn and libvirt-lxc) can introspect and set up
|
||||
file systems contained in GPT disk images automatically and mount them to the
|
||||
right places, thus allowing booting the same, identical images on bare-metal
|
||||
right places, thus allowing booting the same, identical images on bare metal
|
||||
and in Linux containers. This enables true, natural portability of disk
|
||||
images between physical machines and Linux containers.
|
||||
* As a help to administrators and users partition manager tools can show more
|
||||
@ -31,7 +31,7 @@ their intended mountpoint. This has many benefits:
|
||||
|
||||
Note that the OS side of this specification is currently implemented in
|
||||
[systemd](http://systemd.io/) 211 and newer in the
|
||||
[systemd-auto-gpt-generator(8)](http://www.freedesktop.org/software/systemd/man/systemd-gpt-auto-generator.html)
|
||||
[systemd-gpt-auto-generator(8)](http://www.freedesktop.org/software/systemd/man/systemd-gpt-auto-generator.html)
|
||||
generator tool. Note that automatic discovery of the root only works if the
|
||||
boot loader communicates this information to the OS, by implementing the [Boot
|
||||
Loader
|
||||
@ -51,6 +51,16 @@ Interface](https://systemd.io/BOOT_LOADER_INTERFACE).
|
||||
| `7386cdf2-203c-47a9-a498-f2ecce45a2d6` | _Root Verity Partition (32-bit ARM)_ | ditto | ditto |
|
||||
| `df3300ce-d69f-4c92-978c-9bfb0f38d820` | _Root Verity Partition (64-bit ARM/AArch64)_ | ditto | ditto |
|
||||
| `86ed10d5-b607-45bb-8957-d350f23d0571` | _Root Verity Partition (Itanium/IA-64)_ | ditto | ditto |
|
||||
| `75250d76-8cc6-458e-bd66-bd47cc81a812` | _`/usr/` Partition (x86)_ | Any native, optionally in LUKS | Similar semantics to root partition, but just the `/usr/` partition. |
|
||||
| `8484680c-9521-48c6-9c11-b0720656f69e` | _`/usr/` Partition (x86-64)_ | ditto | ditto |
|
||||
| `7d0359a3-02b3-4f0a-865c-654403e70625` | _`/usr/` Partition (32-bit ARM)_ | ditto | ditto |
|
||||
| `b0e01050-ee5f-4390-949a-9101b17104e9` | _`/usr/` Partition (64-bit ARM/AArch64)_ | ditto | ditto |
|
||||
| `4301d2a6-4e3b-4b2a-bb94-9e0b2c4225ea` | _`/usr/` Partition (Itanium/IA-64)_ | ditto | ditto |
|
||||
| `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 |
|
||||
| `6a491e03-3be7-4545-8e38-83320e0ea880` | _`/usr/` Verity Partition (Itanium/IA-64)_ | ditto | ditto |
|
||||
| `933ac7e1-2eb4-4f13-b844-0e14e2aef915` | _Home Partition_ | Any native, optionally in LUKS | The first partition with this type UUID on the disk containing the root partition is automatically mounted to `/home/`. If the partition is encrypted with LUKS, the device mapper file will be named `/dev/mapper/home`. |
|
||||
| `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`. |
|
||||
@ -64,7 +74,7 @@ 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
|
||||
this specification.
|
||||
|
||||
[systemd-id128(1)](http://www.freedesktop.org/software/systemd/man/systemd-i128.html)
|
||||
[systemd-id128(1)](http://www.freedesktop.org/software/systemd/man/systemd-id128.html)
|
||||
may be used to list those UUIDs.
|
||||
|
||||
## Partition Names
|
||||
@ -76,21 +86,21 @@ localized.
|
||||
|
||||
## Partition Flags
|
||||
|
||||
For the root, server data, home, variable data, temporary data and swap
|
||||
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.
|
||||
|
||||
For the root, 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.
|
||||
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.
|
||||
|
||||
Note that these two flag definitions happen to map nicely to the ones used by
|
||||
Microsoft Basic Data Partitions.
|
||||
@ -104,8 +114,8 @@ An *installer* which supports a "manual partitioning" interface _may_ choose to
|
||||
pre-populate the interface with swap, `/home/`, `/srv/`, `/var/tmp/` partitions
|
||||
of pre-existing Linux installations, identified with the GPT type UUIDs
|
||||
above. The installer should not pre-populate such an interface with any
|
||||
identified root or `/var/` partition unless the intention is to overwrite an
|
||||
existing operating system that might be installed.
|
||||
identified root, `/usr` or `/var/` partition unless the intention is to
|
||||
overwrite an existing operating system that might be installed.
|
||||
|
||||
An *installer* _may_ omit creating entries in `/etc/fstab` for root, `/home/`,
|
||||
`/srv/`, `/var/`, `/var/tmp` and for the swap partitions if they use these UUID
|
||||
@ -119,17 +129,17 @@ in `/etc/fstab`. The `root=` parameter passed to the kernel by the boot loader
|
||||
may be omitted if the root partition is the first one on the disk of its type.
|
||||
If the root partition is not the first one on the disk, the `root=` parameter
|
||||
_must_ be passed to the kernel by the boot loader. An installer that mounts a
|
||||
root, `/home/`, `/srv/`, `/var/`, or `/var/tmp/` file system with the partition
|
||||
types defined as above which contains a LUKS header _must_ call the device
|
||||
mapper device "root", "home", "srv", "var" or "tmp", respectively. This is
|
||||
necessary to ensure that the automatic discovery will never result in different
|
||||
device mapper names than any static configuration by the installer, thus
|
||||
eliminating possible naming conflicts and ambiguities.
|
||||
root, `/usr/`, `/home/`, `/srv/`, `/var/`, or `/var/tmp/` file system with the
|
||||
partition types defined as above which contains a LUKS header _must_ call the
|
||||
device mapper device "root", "usr", "home", "srv", "var" or "tmp",
|
||||
respectively. This is necessary to ensure that the automatic discovery will
|
||||
never result in different device mapper names than any static configuration by
|
||||
the installer, thus eliminating possible naming conflicts and ambiguities.
|
||||
|
||||
An *operating* *system* _should_ automatically discover and mount the first
|
||||
root partition that does not have the no-auto flag set (as described above) by
|
||||
scanning the disk containing the currently used EFI ESP. It _should_
|
||||
automatically discover and mount the first `/home/`, `/srv/`, `/var/`,
|
||||
automatically discover and mount the first `/usr/`, `/home/`, `/srv/`, `/var/`,
|
||||
`/var/tmp/` and swap partitions that do not have the no-auto flag set by
|
||||
scanning the disk containing the discovered root partition. It should
|
||||
automatically discover and mount the partition containing the currently used
|
||||
@ -138,19 +148,19 @@ and mount the partition containing the currently used Extended Boot Loader
|
||||
Partition to `/boot/`. It _should not_ discover or automatically mount
|
||||
partitions with other UUID partition types, or partitions located on other
|
||||
disks, or partitions with the no-auto flag set. User configuration shall
|
||||
always override automatic discovery and mounting. If a root, `/home/`,
|
||||
`/srv/`, `/boot/`, `/var/`, `/var/tmp/`, `/efi/`, `/boot/` or swap 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/`,
|
||||
`/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.
|
||||
always override automatic discovery and mounting. If a root, `/usr/`,
|
||||
`/home/`, `/srv/`, `/boot/`, `/var/`, `/var/tmp/`, `/efi/`, `/boot/` or swap
|
||||
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.
|
||||
|
||||
A *container* *manager* should automatically discover and mount the root,
|
||||
`/home/`, `/srv/`, `/var/`, `/var/tmp/` partitions inside a container disk
|
||||
image. It may choose to mount any discovered ESP and/or XBOOOTLDR partition to
|
||||
`/efi/` or `/boot/`. It should ignore any swap should they be included in a
|
||||
container disk image.
|
||||
`/usr/`, `/home/`, `/srv/`, `/var/`, `/var/tmp/` partitions inside a container
|
||||
disk image. It may choose to mount any discovered ESP and/or XBOOOTLDR
|
||||
partition to `/efi/` or `/boot/`. It should ignore any swap should they be
|
||||
included in a container disk image.
|
||||
|
||||
If a btrfs file system is automatically discovered and mounted by the operating
|
||||
system/container manager it will be mounted with its *default* subvolume. The
|
||||
@ -161,8 +171,8 @@ subvolume set-default".
|
||||
|
||||
If two Linux-based operating systems are installed on the same disk, the scheme
|
||||
above suggests that they may share the swap, `/home/`, `/srv/`, `/var/tmp/`,
|
||||
ESP, XBOOTLDR. However, they should each have their own root and `/var/`
|
||||
partition.
|
||||
ESP, XBOOTLDR. However, they should each have their own root, `/usr/` and
|
||||
`/var/` partition.
|
||||
|
||||
## Frequently Asked Questions
|
||||
|
||||
|
@ -80,6 +80,16 @@ All tools:
|
||||
honoured on systems built with libxcrypt and is ignored on systems using
|
||||
glibc's original, internal crypt() implementation.)
|
||||
|
||||
* `$SYSTEMD_RDRAND=0` — if set, the RDRAND instruction will never be used,
|
||||
even if the CPU supports it.
|
||||
|
||||
* `$SYSTEMD_SECCOMP=0` – if set, seccomp filters will not be enforced, even if
|
||||
support for it is compiled in and available in the kernel.
|
||||
|
||||
* `$SYSTEMD_LOG_SECCOMP=1` — if set, system calls blocked by seccomp filtering,
|
||||
for example in systemd-nspawn, will be logged to the audit log, if the current
|
||||
kernel version supports this.
|
||||
|
||||
systemctl:
|
||||
|
||||
* `$SYSTEMCTL_FORCE_BUS=1` — if set, do not connect to PID1's private D-Bus
|
||||
|
@ -22,6 +22,10 @@ UNIX/glibc NSS `struct group`, or the shadow structure `struct sgrp`'s
|
||||
`realm` → The "realm" the group belongs to, conceptually identical to the same
|
||||
field of user records. A string in DNS domain name syntax.
|
||||
|
||||
`description` → A descriptive string for the group. This is similar to the
|
||||
`realName` field of user records, and accepts arbitrary strings, as long as
|
||||
they follow the same GECOS syntax requirements as `realName`.
|
||||
|
||||
`disposition` → The disposition of the group, conceptually identical to the
|
||||
same field of user records. A string.
|
||||
|
||||
|
@ -99,6 +99,13 @@ And after that, head over to your repo on GitHub and click "Compare & pull reque
|
||||
Happy hacking!
|
||||
|
||||
|
||||
## 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 code
|
||||
for distribution and can be disabled by setting `-Dmode=release`.
|
||||
|
||||
## Fuzzers
|
||||
|
||||
systemd includes fuzzers in `src/fuzz/` that use libFuzzer and are automatically
|
||||
|
@ -196,8 +196,8 @@ The currently used part of the file is the **header_size** plus the
|
||||
**arena_size** field of the header. If a writer needs to write to a file where
|
||||
the actual file size on disk is smaller than the reported value it shall
|
||||
immediately rotate the file and start a new one. If a writer is asked to write
|
||||
to a file with a header that is shorter than his own definition of the struct
|
||||
Header, he shall immediately rotate the file and start a new one.
|
||||
to a file with a header that is shorter than its own definition of the struct
|
||||
Header, it shall immediately rotate the file and start a new one.
|
||||
|
||||
The **n_objects** field contains a counter for objects currently available in
|
||||
this file. As objects are appended to the end of the file this counter is
|
||||
|
@ -82,7 +82,7 @@ And now, here's the list of (hopefully) all APIs that we have introduced with sy
|
||||
| [hostnamed](https://www.freedesktop.org/wiki/Software/systemd/hostnamed) | D-Bus | yes | yes | GNOME | yes | [Ubuntu](https://launchpad.net/ubuntu/+source/ubuntu-system-service), [Gentoo](http://www.gentoo.org/proj/en/desktop/gnome/openrc-settingsd.xml), [BSD](http://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git;a=summary) | partially |
|
||||
| [localed](https://www.freedesktop.org/wiki/Software/systemd/localed) | D-Bus | yes | yes | GNOME | yes | [Ubuntu](https://launchpad.net/ubuntu/+source/ubuntu-system-service), [Gentoo](http://www.gentoo.org/proj/en/desktop/gnome/openrc-settingsd.xml), [BSD](http://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git;a=summary) | partially |
|
||||
| [timedated](https://www.freedesktop.org/wiki/Software/systemd/timedated) | D-Bus | yes | yes | GNOME | yes | [Gentoo](http://www.gentoo.org/proj/en/desktop/gnome/openrc-settingsd.xml), [BSD](http://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git;a=summary) | partially |
|
||||
| [initrd interface](https://www.freedesktop.org/wiki/Software/systemd/InitrdInterface) | Environment, flag files | yes | yes | dracut, ArchLinux | yes | ArchLinux | no |
|
||||
| [initrd interface](https://systemd.io/INITRD_INTERFACE/) | Environment, flag files | yes | yes | dracut, ArchLinux | yes | ArchLinux | no |
|
||||
| [Container interface](https://systemd.io/CONTAINER_INTERFACE) | Environment, Mounts | yes | yes | libvirt/LXC | yes | - | no |
|
||||
| [Boot Loader interface](https://systemd.io/BOOT_LOADER_INTERFACE) | EFI variables | yes | yes | gummiboot | yes | - | no |
|
||||
| [Service bus API](https://www.freedesktop.org/wiki/Software/systemd/dbus) | D-Bus | yes | yes | system-config-services | no | - | no |
|
||||
@ -94,15 +94,15 @@ And now, here's the list of (hopefully) all APIs that we have introduced with sy
|
||||
| [$XDG_RUNTIME_DIR](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) | Environment | yes | yes | glib, GNOME | yes | - | no |
|
||||
| [$LISTEN_FDS $LISTEN_PID FD Passing](https://www.freedesktop.org/software/systemd/man/sd_listen_fds.html) | Environment | yes | yes | numerous (via sd-daemon.h) | yes | - | no |
|
||||
| [$NOTIFY_SOCKET Daemon Notifications](https://www.freedesktop.org/software/systemd/man/sd_notify.html) | Environment | yes | yes | a few, including udev | yes | - | no |
|
||||
| [argv[0][0]='@' Logic](https://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons) | `/proc` marking | yes | yes | mdadm | yes | - | no |
|
||||
| [argv[0][0]='@' Logic](https://systemd.io/ROOT_STORAGE_DAEMONS/) | `/proc` marking | yes | yes | mdadm | yes | - | no |
|
||||
| [Unit file format](https://www.freedesktop.org/software/systemd/man/systemd.unit.html) | File format | yes | yes | numerous | no | - | no |
|
||||
| [Network](https://www.freedesktop.org/software/systemd/man/systemd.network.html) & [Netdev file format](https://www.freedesktop.org/software/systemd/man/systemd.netdev.html) | File format | yes | yes | no | no | - | no |
|
||||
| [Link file format](https://www.freedesktop.org/software/systemd/man/systemd.link.html) | File format | yes | yes | no | no | - | no |
|
||||
| [Journal File Format](https://systemd.io/JOURNAL_FILE_FORMAT) | File format | yes | yes | - | maybe | - | no |
|
||||
| [Journal Export Format](https://www.freedesktop.org/wiki/Software/systemd/export) | File format | yes | yes | - | yes | - | no |
|
||||
| [Cooperation in cgroup tree](https://www.freedesktop.org/wiki/Software/systemd/PaxControlGroups) | Treaty | yes | yes | libvirt | yes | libvirt | no |
|
||||
| [Password Agents](https://www.freedesktop.org/wiki/Software/systemd/PasswordAgents) | Socket+Files | yes | yes | - | yes | - | no |
|
||||
| [udev multi-seat properties](https://www.freedesktop.org/wiki/Software/systemd/multiseat) | udev Property | yes | yes | X11, gdm | no | - | no |
|
||||
| [Password Agents](https://systemd.io/PASSWORD_AGENTS/) | Socket+Files | yes | yes | - | yes | - | no |
|
||||
| [udev multi-seat properties](https://www.freedesktop.org/software/systemd/man/sd-login.html) | udev Property | yes | yes | X11, gdm | no | - | no |
|
||||
| udev session switch ACL properties | udev Property | no | no | - | no | - | no |
|
||||
| [CLI of systemctl,...](https://www.freedesktop.org/software/systemd/man/systemctl.html) | CLI | yes | yes | numerous | no | - | no |
|
||||
| [tmpfiles.d](https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html) | File format | yes | yes | numerous | yes | ArchLinux | partially |
|
||||
|
@ -10,12 +10,13 @@ layout: default
|
||||
2. Update the contributors list in NEWS (`ninja -C build git-contrib`)
|
||||
3. Update the time and place in NEWS
|
||||
4. Update version and library numbers in `meson.build`
|
||||
5. Tag the release: `version=vXXX-rcY && git tag -s "${version}" -m "systemd ${version}"`
|
||||
6. Do `ninja -C build`
|
||||
7. Make sure that the version string and package string match: `build/systemctl --version`
|
||||
8. Upload the documentation: `ninja -C build doc-sync`
|
||||
9. [After final release] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones)
|
||||
10. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate.
|
||||
11. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically.
|
||||
12. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released`)
|
||||
13. [After final release] Also push commits to stable, create an empty -stable branch: `git push systemd-stable origin/master:master origin/master:refs/heads/${version}-stable`, and change the default branch to latest release (https://github.com/systemd/systemd-stable/settings/branches).
|
||||
5. Check dbus docs with `ninja -C build man/update-dbus-docs`
|
||||
6. Tag the release: `version=vXXX-rcY && git tag -s "${version}" -m "systemd ${version}"`
|
||||
7. Do `ninja -C build`
|
||||
8. Make sure that the version string and package string match: `build/systemctl --version`
|
||||
9. Upload the documentation: `ninja -C build doc-sync`
|
||||
10. [After final release] 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. [After final release] Also 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).
|
||||
|
@ -108,9 +108,9 @@ to find a different solution to your problem._
|
||||
The recommended way to distinguish between run-from-initrd and run-from-rootfs
|
||||
for a daemon is to check for `/etc/initrd-release` (which exists on all modern
|
||||
initrd implementations, see the [initrd
|
||||
Interface](http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface)
|
||||
for details) which when exists results in `argv[0][0]` being set to `@`, and
|
||||
otherwise doesn't. Something like this:
|
||||
Interface](https://systemd.io/INITRD_INTERFACE/) for details) which when exists
|
||||
results in `argv[0][0]` being set to `@`, and otherwise doesn't. Something like
|
||||
this:
|
||||
|
||||
```c
|
||||
#include <unistd.h>
|
||||
|
@ -1,10 +1,10 @@
|
||||
---
|
||||
title: Using /tmp/ And /var/tmp/ Safely
|
||||
title: Using /tmp/ and /var/tmp/ Safely
|
||||
category: Interfaces
|
||||
layout: default
|
||||
---
|
||||
|
||||
# Using `/tmp/` And `/var/tmp/` Safely
|
||||
# Using `/tmp/` and `/var/tmp/` Safely
|
||||
|
||||
`/tmp/` and `/var/tmp/` are two world-writable directories Linux systems
|
||||
provide for temporary files. The former is typically on `tmpfs` and thus
|
||||
|
@ -151,9 +151,12 @@ All execution-related settings are available for transient units.
|
||||
✓ TimerSlackNSec=
|
||||
✓ NoNewPrivileges=
|
||||
✓ KeyringMode=
|
||||
✓ ProtectProc=
|
||||
✓ ProcSubset=
|
||||
✓ SystemCallFilter=
|
||||
✓ SystemCallArchitectures=
|
||||
✓ SystemCallErrorNumber=
|
||||
✓ SystemCallLog=
|
||||
✓ MemoryDenyWriteExecute=
|
||||
✓ RestrictNamespaces=
|
||||
✓ RestrictRealtime=
|
||||
@ -267,6 +270,9 @@ All cgroup/resource control settings are available for transient units
|
||||
✓ IPAccounting=
|
||||
✓ IPAddressAllow=
|
||||
✓ IPAddressDeny=
|
||||
✓ ManagedOOMSwap=
|
||||
✓ ManagedOOMMemoryPressure=
|
||||
✓ ManagedOOMMemoryPressureLimitPercent=
|
||||
```
|
||||
|
||||
## Process Killing Settings
|
||||
@ -368,6 +374,7 @@ Most timer unit settings are available to transient units.
|
||||
✓ RemainAfterElapse=
|
||||
✓ AccuracySec=
|
||||
✓ RandomizedDelaySec=
|
||||
✓ FixedRandomDelay=
|
||||
Unit=
|
||||
```
|
||||
|
||||
@ -413,6 +420,7 @@ Most socket unit settings are available to transient units.
|
||||
✓ SocketMode=
|
||||
✓ DirectoryMode=
|
||||
✓ Accept=
|
||||
✓ FlushPending=
|
||||
✓ Writable=
|
||||
✓ MaxConnections=
|
||||
✓ MaxConnectionsPerSource=
|
||||
|
@ -171,10 +171,11 @@ pick — given that 64K UIDs are assigned to each container according to this
|
||||
allocation logic, the maximum UID used for this range is hence
|
||||
1878982656+65535=1879048191.)
|
||||
|
||||
Note that systemd does not make any of these values runtime-configurable. All
|
||||
these boundaries are chosen during build time. That said, the system UID/GID
|
||||
boundary is traditionally configured in /etc/login.defs, though systemd won't
|
||||
look there during runtime.
|
||||
Systemd has compile-time default for these boundaries. Using those defaults is
|
||||
recommended. It will nevertheless query `/etc/login.defs` at runtime, when
|
||||
compiled with `-Dcompat-mutable-uid-boundaries=true` and that file is present.
|
||||
Support for this is considered only a compatibility feature and should not be
|
||||
used except when upgrading systems which were creating with different defaults.
|
||||
|
||||
## Considerations for container managers
|
||||
|
||||
|
@ -221,12 +221,14 @@ optional, when unset the user should not be considered part of any realm. A
|
||||
user record with a realm set is never compatible (for the purpose of updates,
|
||||
see above) with a user record without one set, even if the `userName` field matches.
|
||||
|
||||
`realName` → The real name of the user, a string. This should contain the user's
|
||||
real ("human") name, and corresponds loosely to the GECOS field of classic UNIX
|
||||
user records. When converting a `struct passwd` to a JSON user record this
|
||||
field is initialized from GECOS (i.e. the `pw_gecos` field), and vice versa
|
||||
when converting back. That said, unlike GECOS this field is supposed to contain
|
||||
only the real name and no other information.
|
||||
`realName` → The real name of the user, a string. This should contain the
|
||||
user's real ("human") name, and corresponds loosely to the GECOS field of
|
||||
classic UNIX user records. When converting a `struct passwd` to a JSON user
|
||||
record this field is initialized from GECOS (i.e. the `pw_gecos` field), and
|
||||
vice versa when converting back. That said, unlike GECOS this field is supposed
|
||||
to contain only the real name and no other information. This field must not
|
||||
contain control characters (such as `\n`) or colons (`:`), since those are used
|
||||
as record separators in classic `/etc/passwd` files and similar formats.
|
||||
|
||||
`emailAddress` → The email address of the user, formatted as
|
||||
string. [`pam_systemd`](https://www.freedesktop.org/software/systemd/man/pam_systemd.html)
|
||||
@ -551,6 +553,11 @@ credential ID that shell be used for authentication with FIDO2 devices that
|
||||
implement the `hmac-secret` extension. The salt to pass to the FIDO2 device is
|
||||
found in `fido2HmacSalt`.
|
||||
|
||||
`recoveryKeyType` → An array of strings, each indicating the type of one
|
||||
recovery key. The only supported recovery key type at the moment is `modhex64`,
|
||||
for details see the description of `recoveryKey` below. An account may have any
|
||||
number of recovery keys defined, and the array should have one entry for each.
|
||||
|
||||
`privileged` → An object, which contains the fields of the `privileged` section
|
||||
of the user record, see below.
|
||||
|
||||
@ -630,6 +637,25 @@ 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
|
||||
currently permitted value is the string `modhex64`. The `hashedPassword` field
|
||||
contains a UNIX password hash of the normalized recovery key. Recovery keys are
|
||||
in most ways similar to regular passwords, except that they are generated by
|
||||
the computer, not chosen by the user, and are longer. Currently, the only
|
||||
supported recovery key format is `modhex64`, which consists of 64
|
||||
[modhex](https://developers.yubico.com/yubico-c/Manuals/modhex.1.html)
|
||||
characters (i.e. 256bit of information), in groups of 8 chars separated by
|
||||
dashes,
|
||||
e.g. `lhkbicdj-trbuftjv-tviijfck-dfvbknrh-uiulbhui-higltier-kecfhkbk-egrirkui`. Recovery
|
||||
keys should be accepted wherever regular passwords are. The `recoveryKey` field
|
||||
should always be accompanied by a `recoveryKeyType` field (see above), and each
|
||||
entry in either should map 1:1 to an entry in the other, in the same order and
|
||||
matching the type. When accepting a recovery key it should be brought
|
||||
automatically into normalized form, i.e. the dashes inserted when missing, and
|
||||
converted into lowercase before tested against the UNIX password hash, so that
|
||||
recovery keys are effectively case-insensitive.
|
||||
|
||||
## Fields in the `perMachine` section
|
||||
|
||||
As mentioned, the `perMachine` section contains settings that shall apply to
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
file = configure_file(
|
||||
input : 'README.in',
|
||||
|
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
if conf.get('HAVE_SYSV_COMPAT') == 1 and get_option('create-log-dirs')
|
||||
install_data('README',
|
||||
|
@ -4,7 +4,7 @@ passwd: compat systemd
|
||||
group: compat [SUCCESS=merge] systemd
|
||||
shadow: compat
|
||||
|
||||
hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname
|
||||
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
|
||||
networks: files
|
||||
|
||||
protocols: db files
|
||||
|
2847
hwdb.d/20-OUI.hwdb
2847
hwdb.d/20-OUI.hwdb
File diff suppressed because it is too large
Load Diff
@ -177,6 +177,9 @@ acpi:LNRO*:
|
||||
acpi:LNUX*:
|
||||
ID_VENDOR_FROM_DATABASE=The Linux Foundation
|
||||
|
||||
acpi:LOON*:
|
||||
ID_VENDOR_FROM_DATABASE=Loongson Technology Corporation Limited
|
||||
|
||||
acpi:MCHP*:
|
||||
ID_VENDOR_FROM_DATABASE=Microchip Technology Inc
|
||||
|
||||
@ -222,6 +225,9 @@ acpi:PEGA*:
|
||||
acpi:PHYT*:
|
||||
ID_VENDOR_FROM_DATABASE=Phytium Technology Co. Ltd.
|
||||
|
||||
acpi:PIXA*:
|
||||
ID_VENDOR_FROM_DATABASE=PixArt imaging inc.
|
||||
|
||||
acpi:QCOM*:
|
||||
ID_VENDOR_FROM_DATABASE=Qualcomm Inc
|
||||
|
||||
@ -259,7 +265,7 @@ acpi:TCAG*:
|
||||
ID_VENDOR_FROM_DATABASE=Teracue AG
|
||||
|
||||
acpi:TOSB*:
|
||||
ID_VENDOR_FROM_DATABASE=Toshiba Corporation
|
||||
ID_VENDOR_FROM_DATABASE=Dynabook Inc.
|
||||
|
||||
acpi:TXNW*:
|
||||
ID_VENDOR_FROM_DATABASE=Texas Instruments
|
||||
@ -1359,6 +1365,9 @@ acpi:CET*:
|
||||
acpi:CFG*:
|
||||
ID_VENDOR_FROM_DATABASE=Atlantis
|
||||
|
||||
acpi:CFR*:
|
||||
ID_VENDOR_FROM_DATABASE=Meta View, Inc.
|
||||
|
||||
acpi:CGA*:
|
||||
ID_VENDOR_FROM_DATABASE=Chunghwa Picture Tubes, LTD
|
||||
|
||||
@ -1485,6 +1494,9 @@ acpi:CMG*:
|
||||
acpi:CMI*:
|
||||
ID_VENDOR_FROM_DATABASE=C-Media Electronics
|
||||
|
||||
acpi:CMK*:
|
||||
ID_VENDOR_FROM_DATABASE=Comark LLC
|
||||
|
||||
acpi:CMM*:
|
||||
ID_VENDOR_FROM_DATABASE=Comtime GmbH
|
||||
|
||||
@ -4425,6 +4437,9 @@ acpi:MKT*:
|
||||
acpi:MKV*:
|
||||
ID_VENDOR_FROM_DATABASE=Trtheim Technology
|
||||
|
||||
acpi:MLC*:
|
||||
ID_VENDOR_FROM_DATABASE=MILCOTS
|
||||
|
||||
acpi:MLD*:
|
||||
ID_VENDOR_FROM_DATABASE=Deep Video Imaging Ltd
|
||||
|
||||
@ -4527,6 +4542,9 @@ acpi:MPN*:
|
||||
acpi:MPS*:
|
||||
ID_VENDOR_FROM_DATABASE=mps Software GmbH
|
||||
|
||||
acpi:MPV*:
|
||||
ID_VENDOR_FROM_DATABASE=Megapixel Visual Realty
|
||||
|
||||
acpi:MPX*:
|
||||
ID_VENDOR_FROM_DATABASE=Micropix Technologies, Ltd.
|
||||
|
||||
@ -4989,6 +5007,9 @@ acpi:NXQ*:
|
||||
acpi:NXS*:
|
||||
ID_VENDOR_FROM_DATABASE=Technology Nexus Secure Open Systems AB
|
||||
|
||||
acpi:NXT*:
|
||||
ID_VENDOR_FROM_DATABASE=NZXT (PNP same EDID)_
|
||||
|
||||
acpi:NYC*:
|
||||
ID_VENDOR_FROM_DATABASE=Nakayo Relecommunications, Inc.
|
||||
|
||||
@ -6150,6 +6171,9 @@ acpi:SKM*:
|
||||
acpi:SKT*:
|
||||
ID_VENDOR_FROM_DATABASE=Samsung Electro-Mechanics Company Ltd
|
||||
|
||||
acpi:SKW*:
|
||||
ID_VENDOR_FROM_DATABASE=Skyworth
|
||||
|
||||
acpi:SKY*:
|
||||
ID_VENDOR_FROM_DATABASE=SKYDATA S.P.A.
|
||||
|
||||
@ -6829,7 +6853,7 @@ acpi:TOP*:
|
||||
ID_VENDOR_FROM_DATABASE=Orion Communications Co., Ltd.
|
||||
|
||||
acpi:TOS*:
|
||||
ID_VENDOR_FROM_DATABASE=Toshiba Corporation
|
||||
ID_VENDOR_FROM_DATABASE=Dynabook Inc.
|
||||
|
||||
acpi:TOU*:
|
||||
ID_VENDOR_FROM_DATABASE=Touchstone Technology
|
||||
@ -7167,6 +7191,9 @@ acpi:USI*:
|
||||
acpi:USR*:
|
||||
ID_VENDOR_FROM_DATABASE=U.S. Robotics Inc
|
||||
|
||||
acpi:UTC*:
|
||||
ID_VENDOR_FROM_DATABASE=Unicompute Technology Co., Ltd.
|
||||
|
||||
acpi:UTD*:
|
||||
ID_VENDOR_FROM_DATABASE=Up to Date Tech
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- 20-acpi-vendor.hwdb.base 2020-07-23 17:21:29.955652649 +0200
|
||||
+++ 20-acpi-vendor.hwdb 2020-07-23 17:21:29.974652774 +0200
|
||||
--- 20-acpi-vendor.hwdb.base 2020-11-10 14:13:39.257693009 +0100
|
||||
+++ 20-acpi-vendor.hwdb 2020-11-10 14:13:39.264693047 +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
|
||||
|
||||
@@ -289,6 +288,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.
|
||||
|
||||
@@ -316,6 +318,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.
|
||||
|
||||
@@ -361,7 +366,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*:
|
||||
@@ -634,6 +639,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
|
||||
|
||||
@@ -682,6 +690,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.
|
||||
|
||||
@@ -691,6 +702,9 @@
|
||||
@@ -697,6 +708,9 @@
|
||||
acpi:AOT*:
|
||||
ID_VENDOR_FROM_DATABASE=Alcatel
|
||||
|
||||
@ -78,7 +78,7 @@
|
||||
acpi:APC*:
|
||||
ID_VENDOR_FROM_DATABASE=American Power Conversion
|
||||
|
||||
@@ -866,7 +880,7 @@
|
||||
@@ -872,7 +886,7 @@
|
||||
ID_VENDOR_FROM_DATABASE=Alps Electric Inc
|
||||
|
||||
acpi:AUO*:
|
||||
@ -87,7 +87,7 @@
|
||||
|
||||
acpi:AUR*:
|
||||
ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
|
||||
@@ -946,6 +960,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
|
||||
|
||||
@@ -1096,6 +1113,9 @@
|
||||
@@ -1102,6 +1119,9 @@
|
||||
acpi:BML*:
|
||||
ID_VENDOR_FROM_DATABASE=BIOMED Lab
|
||||
|
||||
@ -107,7 +107,7 @@
|
||||
acpi:BMS*:
|
||||
ID_VENDOR_FROM_DATABASE=BIOMEDISYS
|
||||
|
||||
@@ -1108,6 +1128,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
|
||||
|
||||
@@ -1348,6 +1371,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
|
||||
|
||||
@@ -1501,6 +1527,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.
|
||||
|
||||
@@ -1907,7 +1936,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
|
||||
@@ -2239,6 +2268,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.
|
||||
|
||||
@@ -2500,6 +2532,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.
|
||||
|
||||
@@ -2873,7 +2908,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.
|
||||
@@ -2974,6 +3009,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
|
||||
|
||||
@@ -3103,6 +3141,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
|
||||
|
||||
@@ -3226,6 +3267,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
|
||||
|
||||
@@ -3322,6 +3366,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
|
||||
|
||||
@@ -3367,6 +3414,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
|
||||
|
||||
@@ -3874,6 +3924,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
|
||||
|
||||
@@ -3919,6 +3972,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
|
||||
|
||||
@@ -3934,6 +3990,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
|
||||
|
||||
@@ -3988,6 +4047,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
|
||||
|
||||
@@ -4022,7 +4084,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
|
||||
@@ -4198,6 +4260,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
|
||||
|
||||
@@ -4435,6 +4500,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
|
||||
|
||||
@@ -4660,6 +4728,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.
|
||||
|
||||
@@ -5164,6 +5235,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.
|
||||
|
||||
@@ -5227,9 +5301,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
|
||||
|
||||
@@ -5317,9 +5388,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.
|
||||
|
||||
@@ -5455,15 +5523,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
|
||||
|
||||
@@ -5779,9 +5841,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
|
||||
|
||||
@@ -5947,9 +6006,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
|
||||
|
||||
@@ -6406,6 +6462,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
|
||||
|
||||
@@ -6490,6 +6549,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
|
||||
|
||||
@@ -6580,6 +6642,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
|
||||
|
||||
@@ -6622,6 +6687,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.
|
||||
|
||||
@@ -6736,9 +6804,6 @@
|
||||
@@ -6760,9 +6828,6 @@
|
||||
acpi:TNC*:
|
||||
ID_VENDOR_FROM_DATABASE=TNC Industrial Company Ltd
|
||||
|
||||
@ -420,7 +420,7 @@
|
||||
acpi:TNM*:
|
||||
ID_VENDOR_FROM_DATABASE=TECNIMAGEN SA
|
||||
|
||||
@@ -7045,14 +7110,14 @@
|
||||
@@ -7069,14 +7134,14 @@
|
||||
acpi:UNC*:
|
||||
ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
||||
|
||||
@ -441,7 +441,7 @@
|
||||
|
||||
acpi:UNI*:
|
||||
ID_VENDOR_FROM_DATABASE=Uniform Industry Corp.
|
||||
@@ -7087,6 +7152,9 @@
|
||||
@@ -7111,6 +7176,9 @@
|
||||
acpi:USA*:
|
||||
ID_VENDOR_FROM_DATABASE=Utimaco Safeware AG
|
||||
|
||||
@ -451,7 +451,7 @@
|
||||
acpi:USD*:
|
||||
ID_VENDOR_FROM_DATABASE=U.S. Digital Corporation
|
||||
|
||||
@@ -7330,9 +7398,6 @@
|
||||
@@ -7357,9 +7425,6 @@
|
||||
acpi:WAL*:
|
||||
ID_VENDOR_FROM_DATABASE=Wave Access
|
||||
|
||||
@ -461,7 +461,7 @@
|
||||
acpi:WAV*:
|
||||
ID_VENDOR_FROM_DATABASE=Wavephore
|
||||
|
||||
@@ -7457,7 +7522,7 @@
|
||||
@@ -7484,7 +7549,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.
|
||||
@@ -7471,9 +7536,6 @@
|
||||
@@ -7498,9 +7563,6 @@
|
||||
acpi:XDM*:
|
||||
ID_VENDOR_FROM_DATABASE=XDM Ltd.
|
||||
|
||||
@ -480,7 +480,7 @@
|
||||
acpi:XES*:
|
||||
ID_VENDOR_FROM_DATABASE=Extreme Engineering Solutions, Inc.
|
||||
|
||||
@@ -7504,9 +7566,6 @@
|
||||
@@ -7531,9 +7593,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
|
||||
|
||||
@@ -7573,6 +7632,9 @@
|
||||
@@ -7600,6 +7659,9 @@
|
||||
acpi:ZBX*:
|
||||
ID_VENDOR_FROM_DATABASE=Zebax Technologies
|
||||
|
||||
|
@ -11,6 +11,9 @@ pci:v*d*sv*sd*bc00sc00*
|
||||
pci:v*d*sv*sd*bc00sc01*
|
||||
ID_PCI_SUBCLASS_FROM_DATABASE=VGA compatible unclassified device
|
||||
|
||||
pci:v*d*sv*sd*bc00sc05*
|
||||
ID_PCI_SUBCLASS_FROM_DATABASE=Image coprocessor
|
||||
|
||||
pci:v*d*sv*sd*bc01*
|
||||
ID_PCI_CLASS_FROM_DATABASE=Mass storage controller
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1349,6 +1349,9 @@ usb:v03F0p3117*
|
||||
usb:v03F0p311D*
|
||||
ID_MODEL_FROM_DATABASE=Atheros AR9285 Malbec Bluetooth Adapter
|
||||
|
||||
usb:v03F0p312A*
|
||||
ID_MODEL_FROM_DATABASE=LaserJet Pro M701n
|
||||
|
||||
usb:v03F0p3202*
|
||||
ID_MODEL_FROM_DATABASE=PhotoSmart 1215
|
||||
|
||||
@ -4061,6 +4064,9 @@ usb:v041Ep3232*
|
||||
usb:v041Ep3237*
|
||||
ID_MODEL_FROM_DATABASE=SB X-Fi Surround 5.1 Pro
|
||||
|
||||
usb:v041Ep3263*
|
||||
ID_MODEL_FROM_DATABASE=SB X-Fi Surround 5.1 Pro
|
||||
|
||||
usb:v041Ep3F00*
|
||||
ID_MODEL_FROM_DATABASE=E-Mu Xboard 25 MIDI Controller
|
||||
|
||||
@ -8693,6 +8699,9 @@ usb:v046DpC22E*
|
||||
usb:v046DpC231*
|
||||
ID_MODEL_FROM_DATABASE=G13 Virtual Mouse
|
||||
|
||||
usb:v046DpC232*
|
||||
ID_MODEL_FROM_DATABASE=Gaming Virtual Keyboard
|
||||
|
||||
usb:v046DpC245*
|
||||
ID_MODEL_FROM_DATABASE=G400 Optical Mouse
|
||||
|
||||
@ -9884,6 +9893,9 @@ usb:v047FpC00E*
|
||||
usb:v047FpC03B*
|
||||
ID_MODEL_FROM_DATABASE=HD1
|
||||
|
||||
usb:v047FpDA60*
|
||||
ID_MODEL_FROM_DATABASE=DA60
|
||||
|
||||
usb:v0480*
|
||||
ID_VENDOR_FROM_DATABASE=Toshiba America Inc
|
||||
|
||||
@ -10212,7 +10224,7 @@ usb:v048Dp1172*
|
||||
ID_MODEL_FROM_DATABASE=Flash Drive
|
||||
|
||||
usb:v048Dp1234*
|
||||
ID_MODEL_FROM_DATABASE=Mass storage
|
||||
ID_MODEL_FROM_DATABASE=Chipsbank CBM2199 Flash Drive
|
||||
|
||||
usb:v048Dp1336*
|
||||
ID_MODEL_FROM_DATABASE=SD/MMC Cardreader
|
||||
@ -15185,6 +15197,9 @@ usb:v04D9pA052*
|
||||
usb:v04D9pA055*
|
||||
ID_MODEL_FROM_DATABASE=Keyboard
|
||||
|
||||
usb:v04D9pA075*
|
||||
ID_MODEL_FROM_DATABASE=Optical Gaming Mouse
|
||||
|
||||
usb:v04D9pA096*
|
||||
ID_MODEL_FROM_DATABASE=Keyboard
|
||||
|
||||
@ -16359,7 +16374,7 @@ usb:v04E8p685E*
|
||||
ID_MODEL_FROM_DATABASE=GT-I9100 / GT-C3350 Phones (USB Debugging mode)
|
||||
|
||||
usb:v04E8p6860*
|
||||
ID_MODEL_FROM_DATABASE=Galaxy series, misc. (MTP mode)
|
||||
ID_MODEL_FROM_DATABASE=Galaxy A5 (MTP)
|
||||
|
||||
usb:v04E8p6863*
|
||||
ID_MODEL_FROM_DATABASE=Galaxy series, misc. (tethering mode)
|
||||
@ -19197,7 +19212,7 @@ usb:v0525p1265*
|
||||
ID_MODEL_FROM_DATABASE=File-backed Storage Gadget
|
||||
|
||||
usb:v0525p3424*
|
||||
ID_MODEL_FROM_DATABASE=Lumidigm Venus fingerprint sensor
|
||||
ID_MODEL_FROM_DATABASE=V30x/V4xx fingerprint sensor [Lumidigm]
|
||||
|
||||
usb:v0525pA0F0*
|
||||
ID_MODEL_FROM_DATABASE=Cambridge Electronic Devices Power1401 mk 2
|
||||
@ -19227,7 +19242,7 @@ usb:v0525pA4A4*
|
||||
ID_MODEL_FROM_DATABASE=Linux-USB user-mode bulk source/sink
|
||||
|
||||
usb:v0525pA4A5*
|
||||
ID_MODEL_FROM_DATABASE=Pocketbook Pro 903 / Mobius 2 Action Cam / xDuoo X3
|
||||
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
|
||||
@ -20162,6 +20177,9 @@ usb:v054Cp035C*
|
||||
usb:v054Cp035F*
|
||||
ID_MODEL_FROM_DATABASE=UP-DR200 Photo Printer
|
||||
|
||||
usb:v054Cp0360*
|
||||
ID_MODEL_FROM_DATABASE=M2 Card Reader
|
||||
|
||||
usb:v054Cp0382*
|
||||
ID_MODEL_FROM_DATABASE=Memory Stick PRO-HG Duo Adaptor (MSAC-UAH1)
|
||||
|
||||
@ -23669,6 +23687,9 @@ usb:v059Fp106E*
|
||||
usb:v059Fp1094*
|
||||
ID_MODEL_FROM_DATABASE=Rugged THB
|
||||
|
||||
usb:v059Fp1095*
|
||||
ID_MODEL_FROM_DATABASE=Rugged
|
||||
|
||||
usb:v059FpA601*
|
||||
ID_MODEL_FROM_DATABASE=HardDrive
|
||||
|
||||
@ -23783,6 +23804,12 @@ usb:v05A7p4002*
|
||||
usb:v05A7p4003*
|
||||
ID_MODEL_FROM_DATABASE=Bluetooth Headset Series 2 in DFU mode
|
||||
|
||||
usb:v05A7p400D*
|
||||
ID_MODEL_FROM_DATABASE=SoundLink Color II speaker in DFU mode
|
||||
|
||||
usb:v05A7p40FE*
|
||||
ID_MODEL_FROM_DATABASE=SoundLink Color II speaker
|
||||
|
||||
usb:v05A7pBC50*
|
||||
ID_MODEL_FROM_DATABASE=SoundLink Wireless Mobile speaker
|
||||
|
||||
@ -24797,6 +24824,9 @@ usb:v05C8p036E*
|
||||
usb:v05C8p0374*
|
||||
ID_MODEL_FROM_DATABASE=HP EliteBook integrated HD Webcam
|
||||
|
||||
usb:v05C8p038E*
|
||||
ID_MODEL_FROM_DATABASE=HP Wide Vision HD integrated webcam
|
||||
|
||||
usb:v05C8p03A1*
|
||||
ID_MODEL_FROM_DATABASE=XiaoMi Webcam
|
||||
|
||||
@ -27480,7 +27510,7 @@ usb:v067Bp1231*
|
||||
ID_MODEL_FROM_DATABASE=Orico SATA External Hard Disk Drive Lay-Flat Docking Station with USB 3.0 & eSATA interfaces.
|
||||
|
||||
usb:v067Bp2303*
|
||||
ID_MODEL_FROM_DATABASE=PL2303 Serial Port
|
||||
ID_MODEL_FROM_DATABASE=PL2303 Serial Port / Mobile Action MA-8910P
|
||||
|
||||
usb:v067Bp2305*
|
||||
ID_MODEL_FROM_DATABASE=PL2305 Parallel Port
|
||||
@ -28376,6 +28406,9 @@ usb:v06BCp020B*
|
||||
usb:v06BCp02BB*
|
||||
ID_MODEL_FROM_DATABASE=OKI PT390 POS Printer
|
||||
|
||||
usb:v06BCp0383*
|
||||
ID_MODEL_FROM_DATABASE=MC563 Multifunction Printer
|
||||
|
||||
usb:v06BCp0A91*
|
||||
ID_MODEL_FROM_DATABASE=B2500MFP (printer+scanner)
|
||||
|
||||
@ -30902,6 +30935,9 @@ usb:v0781pB6B7*
|
||||
usb:v0781pB6BA*
|
||||
ID_MODEL_FROM_DATABASE=CF SDDR-289
|
||||
|
||||
usb:v0781pCFC9*
|
||||
ID_MODEL_FROM_DATABASE=SDDR-489 ImageMate Pro Reader
|
||||
|
||||
usb:v0782*
|
||||
ID_VENDOR_FROM_DATABASE=Trackerball
|
||||
|
||||
@ -35930,6 +35966,9 @@ usb:v096E*
|
||||
usb:v096Ep0005*
|
||||
ID_MODEL_FROM_DATABASE=ePass2000
|
||||
|
||||
usb:v096Ep0006*
|
||||
ID_MODEL_FROM_DATABASE=HID Dongle (for OEMs - manufacturer string is "OEM")
|
||||
|
||||
usb:v096Ep0120*
|
||||
ID_MODEL_FROM_DATABASE=Microcosm Ltd Dinkey
|
||||
|
||||
@ -37316,6 +37355,9 @@ usb:v0A5Fp0009*
|
||||
usb:v0A5Fp0050*
|
||||
ID_MODEL_FROM_DATABASE=P120i / WM120i
|
||||
|
||||
usb:v0A5Fp0080*
|
||||
ID_MODEL_FROM_DATABASE=GK420d Label Printer
|
||||
|
||||
usb:v0A5Fp0081*
|
||||
ID_MODEL_FROM_DATABASE=GK420t Label Printer
|
||||
|
||||
@ -37433,6 +37475,9 @@ usb:v0A82*
|
||||
usb:v0A82p4600*
|
||||
ID_MODEL_FROM_DATABASE=TravelScan 460/464
|
||||
|
||||
usb:v0A82p6605*
|
||||
ID_MODEL_FROM_DATABASE=ScanShell 800N
|
||||
|
||||
usb:v0A83*
|
||||
ID_VENDOR_FROM_DATABASE=NextComm, Inc.
|
||||
|
||||
@ -40406,6 +40451,9 @@ usb:v0BDApB72A*
|
||||
usb:v0BDApB812*
|
||||
ID_MODEL_FROM_DATABASE=RTL88x2bu [AC1200 Techkey]
|
||||
|
||||
usb:v0BDApF179*
|
||||
ID_MODEL_FROM_DATABASE=RTL8188FTV 802.11b/g/n 1T1R 2.4G WLAN Adapter
|
||||
|
||||
usb:v0BDB*
|
||||
ID_VENDOR_FROM_DATABASE=Ericsson Business Mobile Networks BV
|
||||
|
||||
@ -40868,6 +40916,12 @@ usb:v0C3D*
|
||||
usb:v0C3E*
|
||||
ID_VENDOR_FROM_DATABASE=Nextcell, Inc.
|
||||
|
||||
usb:v0C40*
|
||||
ID_VENDOR_FROM_DATABASE=ELMCU
|
||||
|
||||
usb:v0C40p8000*
|
||||
ID_MODEL_FROM_DATABASE=2.4GHz receiver
|
||||
|
||||
usb:v0C44*
|
||||
ID_VENDOR_FROM_DATABASE=Motorola iDEN
|
||||
|
||||
@ -40964,6 +41018,9 @@ usb:v0C45p184C*
|
||||
usb:v0C45p1A90*
|
||||
ID_MODEL_FROM_DATABASE=2M pixel Microscope Camera (with capture button) [Andonstar V160]
|
||||
|
||||
usb:v0C45p5004*
|
||||
ID_MODEL_FROM_DATABASE=Redragon Mitra RGB Keyboard
|
||||
|
||||
usb:v0C45p5101*
|
||||
ID_MODEL_FROM_DATABASE=2.4G Wireless Device [Rii MX3]
|
||||
|
||||
@ -45360,31 +45417,37 @@ usb:v0F6E*
|
||||
ID_VENDOR_FROM_DATABASE=INTELLIGENT SYSTEMS
|
||||
|
||||
usb:v0F6Ep0100*
|
||||
ID_MODEL_FROM_DATABASE=GameBoy Color Emulator
|
||||
ID_MODEL_FROM_DATABASE=IS-CGB-EMULATOR
|
||||
|
||||
usb:v0F6Ep0201*
|
||||
ID_MODEL_FROM_DATABASE=GameBoy Advance Flash Gang Writer
|
||||
|
||||
usb:v0F6Ep0202*
|
||||
ID_MODEL_FROM_DATABASE=GameBoy Advance Capture
|
||||
ID_MODEL_FROM_DATABASE=IS-AGB-CAPTURE
|
||||
|
||||
usb:v0F6Ep0300*
|
||||
ID_MODEL_FROM_DATABASE=Gamecube DOL Viewer
|
||||
ID_MODEL_FROM_DATABASE=IS-DOL-VIEWER
|
||||
|
||||
usb:v0F6Ep0400*
|
||||
ID_MODEL_FROM_DATABASE=NDS Emulator
|
||||
ID_MODEL_FROM_DATABASE=IS-NITRO-EMULATOR
|
||||
|
||||
usb:v0F6Ep0401*
|
||||
ID_MODEL_FROM_DATABASE=NDS UIC
|
||||
ID_MODEL_FROM_DATABASE=IS-NITRO-UIC
|
||||
|
||||
usb:v0F6Ep0402*
|
||||
ID_MODEL_FROM_DATABASE=NDS Writer
|
||||
ID_MODEL_FROM_DATABASE=IS-NITRO-WRITER
|
||||
|
||||
usb:v0F6Ep0403*
|
||||
ID_MODEL_FROM_DATABASE=NDS Capture
|
||||
ID_MODEL_FROM_DATABASE=IS-NITRO-CAPTURE
|
||||
|
||||
usb:v0F6Ep0404*
|
||||
ID_MODEL_FROM_DATABASE=NDS Emulator (Lite)
|
||||
ID_MODEL_FROM_DATABASE=IS-NITRO-EMULATOR (DS Lite)
|
||||
|
||||
usb:v0F6Ep0500*
|
||||
ID_MODEL_FROM_DATABASE=IS-TWL-DEBUGGER
|
||||
|
||||
usb:v0F6Ep0501*
|
||||
ID_MODEL_FROM_DATABASE=IS-TWL-CAPTURE
|
||||
|
||||
usb:v0F73*
|
||||
ID_VENDOR_FROM_DATABASE=DFI
|
||||
@ -52736,6 +52799,9 @@ usb:v1504*
|
||||
usb:v1504p001F*
|
||||
ID_MODEL_FROM_DATABASE=SRP-350II Thermal Receipt Printer
|
||||
|
||||
usb:v1508*
|
||||
ID_VENDOR_FROM_DATABASE=Fibocom
|
||||
|
||||
usb:v1509*
|
||||
ID_VENDOR_FROM_DATABASE=First International Computer, Inc.
|
||||
|
||||
@ -53255,6 +53321,9 @@ usb:v1532p004C*
|
||||
usb:v1532p004D*
|
||||
ID_MODEL_FROM_DATABASE=DeathAdder 2000 (Cynosa Pro Bundle)
|
||||
|
||||
usb:v1532p004F*
|
||||
ID_MODEL_FROM_DATABASE=RZ01-0145, Gaming Mouse [DeathAdder 2000 (Alternate)]
|
||||
|
||||
usb:v1532p0050*
|
||||
ID_MODEL_FROM_DATABASE=Naga Hex V2
|
||||
|
||||
@ -53345,14 +53414,23 @@ usb:v1532p007B*
|
||||
usb:v1532p007E*
|
||||
ID_MODEL_FROM_DATABASE=RC30-030502 Mouse Dock
|
||||
|
||||
usb:v1532p0083*
|
||||
ID_MODEL_FROM_DATABASE=RC30-0315, Gaming Mouse [Basilisk X HyperSpeed]
|
||||
|
||||
usb:v1532p0084*
|
||||
ID_MODEL_FROM_DATABASE=RZ01-0321 Gaming Mouse [DeathAdder V2]
|
||||
|
||||
usb:v1532p0085*
|
||||
ID_MODEL_FROM_DATABASE=RZ01-0316 Gaming Mouse [Basilisk V2]
|
||||
|
||||
usb:v1532p0086*
|
||||
ID_MODEL_FROM_DATABASE=Gaming Mouse [Basilisk Ultimate, Wired]
|
||||
|
||||
usb:v1532p0088*
|
||||
ID_MODEL_FROM_DATABASE=Razer Basilisk Ultimate Dongle
|
||||
ID_MODEL_FROM_DATABASE=Gaming Mouse [Basilisk Ultimate, Wireless, Receiver]
|
||||
|
||||
usb:v1532p008A*
|
||||
ID_MODEL_FROM_DATABASE=RZ01-0325, Gaming Mouse [Viper Mini]
|
||||
|
||||
usb:v1532p0101*
|
||||
ID_MODEL_FROM_DATABASE=Copperhead Mouse
|
||||
@ -53585,6 +53663,12 @@ usb:v1532p0253*
|
||||
usb:v1532p0255*
|
||||
ID_MODEL_FROM_DATABASE=RZ09-0328, Gaming Laptop [Blade 15 Base Model (2020)]
|
||||
|
||||
usb:v1532p0256*
|
||||
ID_MODEL_FROM_DATABASE=RZ09--0329, Gaming Laptop [Blade Pro 17 Full HD (2020)]
|
||||
|
||||
usb:v1532p025D*
|
||||
ID_MODEL_FROM_DATABASE=RZ03-0338, Gaming Keyboard [Ornata V2]
|
||||
|
||||
usb:v1532p0300*
|
||||
ID_MODEL_FROM_DATABASE=RZ06-0063 Motion Sensing Controllers [Hydra]
|
||||
|
||||
@ -53627,6 +53711,12 @@ usb:v1532p051C*
|
||||
usb:v1532p051D*
|
||||
ID_MODEL_FROM_DATABASE=Nari (Wired)
|
||||
|
||||
usb:v1532p051E*
|
||||
ID_MODEL_FROM_DATABASE=RC30-026902, Gaming Headset [Nari Essential, Wireless, Receiver]
|
||||
|
||||
usb:v1532p051F*
|
||||
ID_MODEL_FROM_DATABASE=RC30-026901, Gaming Headset [Nari Essential, Wired]
|
||||
|
||||
usb:v1532p0520*
|
||||
ID_MODEL_FROM_DATABASE=Kraken Tournament Edition
|
||||
|
||||
@ -53648,6 +53738,9 @@ usb:v1532p0A02*
|
||||
usb:v1532p0A03*
|
||||
ID_MODEL_FROM_DATABASE=Wildcat
|
||||
|
||||
usb:v1532p0A15*
|
||||
ID_MODEL_FROM_DATABASE=RZ06-0199, Gaming Controller [Wolverine Tournament Edition]
|
||||
|
||||
usb:v1532p0C00*
|
||||
ID_MODEL_FROM_DATABASE=RZ02-0135 Hard Gaming Mouse Mat [Firefly]
|
||||
|
||||
@ -54254,6 +54347,21 @@ usb:v1605*
|
||||
usb:v1605p0001*
|
||||
ID_MODEL_FROM_DATABASE=DIO-32 (No Firmware Yet)
|
||||
|
||||
usb:v1605p0002*
|
||||
ID_MODEL_FROM_DATABASE=USB-DIO-48 (No Firmware Yet)
|
||||
|
||||
usb:v1605p0003*
|
||||
ID_MODEL_FROM_DATABASE=USB-DIO-96 (No Firmware Yet)
|
||||
|
||||
usb:v1605p0004*
|
||||
ID_MODEL_FROM_DATABASE=USB-DIO-32I (No Firmware Yet)
|
||||
|
||||
usb:v1605p0005*
|
||||
ID_MODEL_FROM_DATABASE=USB-DIO24 (based on -CTR6) (No Firmware Yet)
|
||||
|
||||
usb:v1605p0006*
|
||||
ID_MODEL_FROM_DATABASE=USB-DIO24-CTR6 (No Firmware Yet)
|
||||
|
||||
usb:v1606*
|
||||
ID_VENDOR_FROM_DATABASE=Umax
|
||||
|
||||
|
@ -25,7 +25,6 @@
|
||||
# Allowed properties are:
|
||||
# ID_AUTOSUSPEND=1
|
||||
|
||||
#
|
||||
# Sort by brand, model
|
||||
|
||||
#########################################
|
||||
@ -36,6 +35,16 @@
|
||||
usb:v058Fp9540*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
#########################################
|
||||
# Lenovo
|
||||
#########################################
|
||||
|
||||
# X1C8 Touchscreen
|
||||
usb:v04F3p2B7C*
|
||||
# T14 Gen 1 Touchscreen
|
||||
usb:v04F3p2ACC*
|
||||
ID_AUTOSUSPEND=1
|
||||
|
||||
#########################################
|
||||
# QEMU
|
||||
#########################################
|
||||
|
@ -3,10 +3,10 @@
|
||||
# The lookup keys are composed in:
|
||||
# 60-evdev.rules
|
||||
#
|
||||
# Note: The format of the "evdev:" prefix match key is a
|
||||
# contract between the rules file and the hardware data, it might
|
||||
# change in later revisions to support more or better matches, it
|
||||
# is not necessarily expected to be a stable ABI.
|
||||
# Note: The format of the "evdev:" prefix match key is a contract between the
|
||||
# rules file and the hardware data, it might change in later revisions to
|
||||
# support more or better matches, it is not necessarily expected to be a stable
|
||||
# ABI.
|
||||
#
|
||||
# Match string formats:
|
||||
# evdev:<modalias>
|
||||
@ -17,8 +17,8 @@
|
||||
# and add your rules there. To load the new rules execute (as root):
|
||||
# systemd-hwdb update
|
||||
# udevadm trigger /dev/input/eventXX
|
||||
# where /dev/input/eventXX is the device in question. If in
|
||||
# doubt, simply use /dev/input/event* to reload all input rules.
|
||||
# where /dev/input/eventXX is the device in question. If in doubt, simply use
|
||||
# /dev/input/event* to reload all input rules.
|
||||
#
|
||||
# If your changes are generally applicable, preferably send them as a pull
|
||||
# request to
|
||||
@ -30,13 +30,12 @@
|
||||
# Allowed properties are:
|
||||
# EVDEV_ABS_<axis>=<min>:<max>:<res>:<fuzz>:<flat>
|
||||
#
|
||||
# where <axis> is the hexadecimal EV_ABS code as listed in linux/input.h
|
||||
# and min, max, res, fuzz, flat are the decimal values to the respective
|
||||
# fields of the struct input_absinfo as listed in linux/input.h.
|
||||
# If a field is missing the field will be left as-is. Not all fields need to
|
||||
# be present. e.g. ::45 sets the resolution to 45 units/mm.
|
||||
# where <axis> is the hexadecimal EV_ABS code as listed in linux/input.h and
|
||||
# min, max, res, fuzz, flat are the decimal values to the respective fields of
|
||||
# the struct input_absinfo as listed in linux/input.h. If a field is missing
|
||||
# the field will be left as-is. Not all fields need to be present. e.g. ::45
|
||||
# sets the resolution to 45 units/mm.
|
||||
|
||||
#
|
||||
# Sort by brand, model
|
||||
|
||||
#########################################
|
||||
@ -45,6 +44,8 @@
|
||||
|
||||
# Hyperpen 12000U
|
||||
evdev:input:b0003v08CAp0010*
|
||||
# Hyperpen 6000U
|
||||
evdev:input:b0003v08CAp0020*
|
||||
EVDEV_ABS_00=::20
|
||||
EVDEV_ABS_01=::20
|
||||
|
||||
@ -131,7 +132,7 @@ evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBookPro14,3:*
|
||||
#########################################
|
||||
|
||||
# Asus N53SV
|
||||
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV*
|
||||
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV:*
|
||||
EVDEV_ABS_00=0:1152:14
|
||||
EVDEV_ABS_01=0:576:10
|
||||
EVDEV_ABS_35=0:1152:14
|
||||
@ -143,7 +144,7 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnASUSTeKComputerInc.:pnF3Sg:*
|
||||
EVDEV_ABS_01=1103:5856:61
|
||||
|
||||
# Asus VivoBook E402SA
|
||||
evdev:name:Elan Touchpad:dmi:*svnASUSTeKCOMPUTERINC.:pnE402SA*
|
||||
evdev:name:Elan Touchpad:dmi:*svnASUSTeKCOMPUTERINC.:pnE402SA:*
|
||||
EVDEV_ABS_00=::29
|
||||
EVDEV_ABS_01=::29
|
||||
EVDEV_ABS_35=::29
|
||||
@ -195,26 +196,26 @@ evdev:name:SYNA3602:00 0911:5288 Touchpad:dmi:*svnBANGHO:pnCLOUDPRO:*
|
||||
#########################################
|
||||
|
||||
# Dell Vostro 1510
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint*:dmi:bvn*:bvr*:bd*:svnDellInc.:pnVostro1510*
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint*:dmi:bvn*:bvr*:bd*:svnDellInc.:pnVostro1510:*
|
||||
EVDEV_ABS_00=::14
|
||||
EVDEV_ABS_01=::18
|
||||
|
||||
# Dell Inspiron 3537 - PS/2
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnDellInc.:pnInspiron3537*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnDellInc.:pnInspiron3537:*
|
||||
EVDEV_ABS_00=1268:5675:41
|
||||
EVDEV_ABS_01=1101:4792:61
|
||||
EVDEV_ABS_35=1268:5675:41
|
||||
EVDEV_ABS_36=1101:4792:61
|
||||
|
||||
# Dell Inspiron 3537 - RMI4
|
||||
evdev:name:Synaptics TM2382-001:dmi:*svnDellInc.:pnInspiron3537*
|
||||
evdev:name:Synaptics TM2382-001:dmi:*svnDellInc.:pnInspiron3537:*
|
||||
EVDEV_ABS_00=::24
|
||||
EVDEV_ABS_01=::34
|
||||
EVDEV_ABS_35=::24
|
||||
EVDEV_ABS_36=::34
|
||||
|
||||
# Dell Inspiron N5040
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnInspironN5040*
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnInspironN5040:*
|
||||
EVDEV_ABS_00=25:2000:22
|
||||
EVDEV_ABS_01=0:1351:28
|
||||
EVDEV_ABS_35=25:2000:22
|
||||
@ -226,42 +227,42 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*bvn*:bvr*:bd*:svnDellInc.:pnMM061:*
|
||||
EVDEV_ABS_01=687:5176:107
|
||||
|
||||
# Dell Latitude E6220
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6220*
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6220:*
|
||||
EVDEV_ABS_00=76:1815:22
|
||||
EVDEV_ABS_01=131:1330:30
|
||||
EVDEV_ABS_35=76:1815:22
|
||||
EVDEV_ABS_36=131:1330:30
|
||||
|
||||
# Dell Latitude E6320
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320*
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320:*
|
||||
EVDEV_ABS_00=79:1841:22
|
||||
EVDEV_ABS_01=140:1325:29
|
||||
EVDEV_ABS_35=79:1841:22
|
||||
EVDEV_ABS_36=140:1325:29
|
||||
|
||||
# Dell Latitude E7250
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7250*
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7250:*
|
||||
EVDEV_ABS_00=179:3903:38
|
||||
EVDEV_ABS_01=277:1916:32
|
||||
EVDEV_ABS_35=179:3903:38
|
||||
EVDEV_ABS_36=277:1916:32
|
||||
|
||||
# Dell Latitude E7470
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470*
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470:*
|
||||
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*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnPrecision5510:*
|
||||
EVDEV_ABS_00=::42
|
||||
EVDEV_ABS_01=::43
|
||||
EVDEV_ABS_35=::42
|
||||
EVDEV_ABS_36=::43
|
||||
|
||||
# Dell Precision M4700
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnDellInc.:pnPrecisionM4700*
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnDellInc.:pnPrecisionM4700:*
|
||||
EVDEV_ABS_00=0:1960:24
|
||||
EVDEV_ABS_01=113:1436:30
|
||||
EVDEV_ABS_35=0:1960:24
|
||||
@ -275,14 +276,14 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnDellInc.:pnXPS139360:cvr:*
|
||||
EVDEV_ABS_36=::60
|
||||
|
||||
# Dell XPS15 9550
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPS159550*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPS159550:*
|
||||
EVDEV_ABS_00=::41
|
||||
EVDEV_ABS_01=::43
|
||||
EVDEV_ABS_35=::41
|
||||
EVDEV_ABS_36=::43
|
||||
|
||||
# Dell XPS M1530
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPSM1530*
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPSM1530:*
|
||||
EVDEV_ABS_00=85:947:15
|
||||
EVDEV_ABS_01=154:726:18
|
||||
|
||||
@ -300,7 +301,7 @@ evdev:input:b0003v0430p0530*
|
||||
#########################################
|
||||
|
||||
# Chromebook Pixel (2015) - Samus
|
||||
evdev:name:Atmel maXTouch Touch*:dmi:bvn*:bvr*:bd*:svnGOOGLE:pnSamus*
|
||||
evdev:name:Atmel maXTouch Touch*:dmi:bvn*:bvr*:bd*:svnGOOGLE:pnSamus:*
|
||||
EVDEV_ABS_00=::10
|
||||
EVDEV_ABS_01=::10
|
||||
EVDEV_ABS_35=::10
|
||||
@ -311,28 +312,28 @@ evdev:name:Atmel maXTouch Touch*:dmi:bvn*:bvr*:bd*:svnGOOGLE:pnSamus*
|
||||
#########################################
|
||||
|
||||
# HP Chromebook 14 (Falco)
|
||||
evdev:name:Cypress APA Trackpad ?cyapa?:dmi:*:svnHewlett-Packard*:pnFalco*:
|
||||
evdev:name:Cypress APA Trackpad ?cyapa?:dmi:*:svnHewlett-Packard*:pnFalco*:*
|
||||
EVDEV_ABS_00=:::8
|
||||
EVDEV_ABS_01=:::8
|
||||
EVDEV_ABS_35=:::8
|
||||
EVDEV_ABS_36=:::8
|
||||
|
||||
# HP Pavilion dm4
|
||||
evdev:name:SynPS/2 Synaptics TouchPad*:dmi:*svnHewlett-Packard:pnHPPaviliondm4*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad*:dmi:*svnHewlett-Packard:pnHPPaviliondm4:*
|
||||
EVDEV_ABS_00=1360:5563:47
|
||||
EVDEV_ABS_01=1269:4618:61
|
||||
EVDEV_ABS_35=1360:5563:47
|
||||
EVDEV_ABS_36=1269:4618:61
|
||||
|
||||
# HP Pavilion g6
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvnHewlett-Packard:*svnHewlett-Packard:pnHPPaviliong6*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvnHewlett-Packard:*svnHewlett-Packard:pnHPPaviliong6:*
|
||||
EVDEV_ABS_00=1255:5728:50
|
||||
EVDEV_ABS_01=1215:4761:71
|
||||
EVDEV_ABS_35=1255:5728:50
|
||||
EVDEV_ABS_36=1215:4761:71
|
||||
|
||||
# HP Pavilion dv7
|
||||
evdev:name:SynPS/2 Synaptics TouchPad*:dmi:*svnHewlett-Packard:pnHPPaviliondv7*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad*:dmi:*svnHewlett-Packard:pnHPPaviliondv7:*
|
||||
EVDEV_ABS_00=1068:5805:44
|
||||
EVDEV_ABS_01=1197:4890:57
|
||||
EVDEV_ABS_35=1068:5805:44
|
||||
@ -346,14 +347,14 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnHP:pnHPLaptop15-bs0xx:*
|
||||
EVDEV_ABS_36=1029:4916:78
|
||||
|
||||
# HP Spectre
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnHP:pnHPSpectreNotebook*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnHP:pnHPSpectreNotebook:*
|
||||
EVDEV_ABS_00=1205:5691:47
|
||||
EVDEV_ABS_01=1083:4808:65
|
||||
EVDEV_ABS_35=1205:5691:47
|
||||
EVDEV_ABS_36=1083:4808:65
|
||||
|
||||
# HP Envy x360
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:*svnHP:pnHPENVYx360Convertible15m-cn0xxx*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:*svnHP:pnHPENVYx360Convertible15m-cn0xxx:*
|
||||
EVDEV_ABS_00=1302:5640:36
|
||||
EVDEV_ABS_01=1119:4741:61
|
||||
EVDEV_ABS_35=1302:5640:36
|
||||
@ -364,28 +365,28 @@ evdev:name:SynPS/2 Synaptics TouchPad:*svnHP:pnHPENVYx360Convertible15m-cn0xxx*
|
||||
#########################################
|
||||
|
||||
# Lenovo B590
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrLenovoB590*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrLenovoB590:*
|
||||
EVDEV_ABS_00=1243:5759:48
|
||||
EVDEV_ABS_01=1130:4832:65
|
||||
EVDEV_ABS_35=1243:5759:48
|
||||
EVDEV_ABS_36=1130:4832:65
|
||||
|
||||
# Lenovo E530
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:pn*ThinkPadEdgeE530*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:pn*ThinkPadEdgeE530:*
|
||||
EVDEV_ABS_00=1241:5703:49
|
||||
EVDEV_ABS_01=1105:4820:68
|
||||
EVDEV_ABS_35=1241:5703:49
|
||||
EVDEV_ABS_36=1105:4820:68
|
||||
|
||||
# Lenovo L430
|
||||
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnLENOVO*:pvrThinkPadL430*
|
||||
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnLENOVO*:pvrThinkPadL430:*
|
||||
EVDEV_ABS_00=19:2197:29
|
||||
EVDEV_ABS_01=12:1151:25
|
||||
EVDEV_ABS_35=19:2197:29
|
||||
EVDEV_ABS_36=12:1151:25
|
||||
|
||||
# Lenovo P50
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*P50*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*P50:*
|
||||
EVDEV_ABS_00=::44
|
||||
EVDEV_ABS_01=::67
|
||||
EVDEV_ABS_35=::44
|
||||
@ -399,36 +400,44 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPad??40?:*
|
||||
EVDEV_ABS_35=::41
|
||||
EVDEV_ABS_36=::37
|
||||
|
||||
# Lenovo X240 series
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX240:*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX240?:*
|
||||
EVDEV_ABS_00=1232:5711:51
|
||||
EVDEV_ABS_01=1159:4700:53
|
||||
EVDEV_ABS_35=1232:5711:51
|
||||
EVDEV_ABS_36=1159:4700:53
|
||||
|
||||
# Lenovo ThinkPad X140e
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX140e*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX140e:*
|
||||
EVDEV_ABS_00=1176:5767:62
|
||||
EVDEV_ABS_01=416:5534:160
|
||||
EVDEV_ABS_35=1176:5767:62
|
||||
EVDEV_ABS_36=416:5534:160
|
||||
|
||||
# Lenovo ThinkPad T430
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadT430*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadT430:*
|
||||
EVDEV_ABS_00=1250:5631:58
|
||||
EVDEV_ABS_01=1309:4826:78
|
||||
EVDEV_ABS_35=1250:5631:58
|
||||
EVDEV_ABS_36=1309:4826:78
|
||||
|
||||
# Lenovo Thinkpad Carbon X1 4th gen. and X1 Yoga 1st gen.
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX1Carbon4th*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX1Carbon4th:*
|
||||
EVDEV_ABS_00=1262:5679:44
|
||||
EVDEV_ABS_01=1101:4824:65
|
||||
EVDEV_ABS_35=1262:5679:44
|
||||
EVDEV_ABS_36=1101:4824:65
|
||||
|
||||
# Lenovo Thinkpad Carbon X1 5th gen.
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX1Carbon5th*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX1Carbon5th:*
|
||||
EVDEV_ABS_00=::44
|
||||
EVDEV_ABS_01=::65
|
||||
EVDEV_ABS_35=::44
|
||||
EVDEV_ABS_36=::65
|
||||
|
||||
# Lenovo Thinkpad Carbon X1 5th gen. (rmi4)
|
||||
evdev:name:Synaptics TM3289-002:dmi:*svnLENOVO*:pvrThinkPadX1Carbon5th*
|
||||
evdev:name:Synaptics TM3289-002:dmi:*svnLENOVO*:pvrThinkPadX1Carbon5th:*
|
||||
EVDEV_ABS_00=::19
|
||||
EVDEV_ABS_01=::19
|
||||
EVDEV_ABS_35=::19
|
||||
@ -442,87 +451,87 @@ evdev:input:b0003v17EFp60B5*
|
||||
EVDEV_ABS_36=::11
|
||||
|
||||
# Lenovo T460
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T460*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T460:*
|
||||
EVDEV_ABS_00=1266:5677:44
|
||||
EVDEV_ABS_01=1093:4832:65
|
||||
EVDEV_ABS_35=1266:5677:44
|
||||
EVDEV_ABS_36=1093:4832:65
|
||||
|
||||
# Lenovo T510
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T510*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T510:*
|
||||
EVDEV_ABS_00=778:6239:72
|
||||
EVDEV_ABS_01=841:5330:100
|
||||
EVDEV_ABS_35=778:6239:72
|
||||
EVDEV_ABS_36=841:5330:100
|
||||
|
||||
# Lenovo V360
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrLenovoV360*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrLenovoV360:*
|
||||
EVDEV_ABS_00=1243:5927:60
|
||||
EVDEV_ABS_01=902:5330:108
|
||||
|
||||
# Lenovo W530
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrThinkPadW530*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrThinkPadW530:*
|
||||
EVDEV_ABS_00=1250:5631:59
|
||||
EVDEV_ABS_01=1205:4834:81
|
||||
EVDEV_ABS_35=1250:5631:59
|
||||
EVDEV_ABS_36=1205:4834:81
|
||||
|
||||
# Lenovo X220 series
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrThinkPadX220*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrThinkPadX220:*
|
||||
EVDEV_ABS_00=1316:5627:58
|
||||
EVDEV_ABS_01=1355:4826:81
|
||||
EVDEV_ABS_35=1316:5627:58
|
||||
EVDEV_ABS_36=1355:4826:81
|
||||
|
||||
# Lenovo X230 series
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*X230*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*X230:*
|
||||
EVDEV_ABS_01=::100
|
||||
EVDEV_ABS_36=::100
|
||||
|
||||
# Lenovo Y700-14ISK
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapadY700-14ISK*
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapadY700-14ISK:*
|
||||
EVDEV_ABS_00=::27
|
||||
EVDEV_ABS_01=::29
|
||||
EVDEV_ABS_35=::27
|
||||
EVDEV_ABS_36=::29
|
||||
|
||||
# Lenovo Ideapad 310S-14ISK
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapad310S-14ISK*
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapad310S-14ISK:*
|
||||
EVDEV_ABS_00=113:3960:37
|
||||
EVDEV_ABS_01=100:1959:27
|
||||
EVDEV_ABS_35=113:3960:37
|
||||
EVDEV_ABS_36=100:1959:27
|
||||
|
||||
# Lenovo Ideapad 500S-13ISK
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapad500S-13ISK*
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapad500S-13ISK:*
|
||||
EVDEV_ABS_00=125:3955:37
|
||||
EVDEV_ABS_01=104:1959:27
|
||||
EVDEV_ABS_35=125:3954:37
|
||||
EVDEV_ABS_36=104:1959:27
|
||||
|
||||
# Lenovo Yoga 500-14ISK
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14ISK*
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14ISK:*
|
||||
EVDEV_ABS_00=124:3955:36
|
||||
EVDEV_ABS_01=103:1959:26
|
||||
EVDEV_ABS_35=124:3955:36
|
||||
EVDEV_ABS_36=103:1959:26
|
||||
|
||||
# Lenovo Flex 3 15-inch
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint*:dmi:bvn*:bvr*:bd*:svnLENOVO*:pvrFlex3-15*
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint*:dmi:bvn*:bvr*:bd*:svnLENOVO*:pvrFlex3-15:*
|
||||
EVDEV_ABS_00=::38
|
||||
EVDEV_ABS_01=::28
|
||||
EVDEV_ABS_35=::38
|
||||
EVDEV_ABS_36=::28
|
||||
|
||||
# Lenovo ThinkPad Edge 13 (02173BG)
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*02173BG*:*pvrThinkPadEdge*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*02173BG*:*pvrThinkPadEdge:*
|
||||
EVDEV_ABS_00=916:6077:55
|
||||
EVDEV_ABS_01=653:5395:116
|
||||
EVDEV_ABS_35=916:6077:55
|
||||
EVDEV_ABS_36=653:5395:116
|
||||
|
||||
# Lenovo Yoga 500-14IBD, 80N4
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14IBD*
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14IBD:*
|
||||
EVDEV_ABS_00=117:3952:36
|
||||
EVDEV_ABS_01=105:1960:26
|
||||
EVDEV_ABS_35=117:3952:36
|
||||
@ -536,7 +545,7 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*:svnLENOVO:*pvrThinkPadT490:*
|
||||
EVDEV_ABS_36=::52
|
||||
|
||||
# Lenovo Legion Y9000X2020
|
||||
evdev:name:MSFT0001:02 04F3:304B Touchpad:dmi:*svnLENOVO:*pvrLenovoLegionY9000X2020*
|
||||
evdev:name:MSFT0001:02 04F3:304B Touchpad:dmi:*svnLENOVO:*pvrLenovoLegionY9000X2020:*
|
||||
EVDEV_ABS_00=::31
|
||||
EVDEV_ABS_01=::30
|
||||
EVDEV_ABS_35=::31
|
||||
@ -554,7 +563,7 @@ evdev:name:1A58675*:00 06CB:8323 Touchpad:dmi:*svnRazer:pnBladeStealth:*
|
||||
EVDEV_ABS_36=::11:8
|
||||
|
||||
# Razer Blade Stealth (2016)
|
||||
evdev:name:Synaptics TM2438-005:dmi:*svnRazer:pnBladeStealth*
|
||||
evdev:name:Synaptics TM2438-005:dmi:*svnRazer:pnBladeStealth:*
|
||||
EVDEV_ABS_00=0:4064:29
|
||||
EVDEV_ABS_01=0:2405:37
|
||||
EVDEV_ABS_35=0:4064:29
|
||||
@ -565,14 +574,14 @@ evdev:name:Synaptics TM2438-005:dmi:*svnRazer:pnBladeStealth*
|
||||
#########################################
|
||||
|
||||
# Samsung 305V4
|
||||
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn305V4A/305V5A*
|
||||
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn305V4A/305V5A:*
|
||||
EVDEV_ABS_00=0:2480:28
|
||||
EVDEV_ABS_01=0:1116:24
|
||||
EVDEV_ABS_35=0:2480:28
|
||||
EVDEV_ABS_36=0:1116:24
|
||||
|
||||
# Samsung 880Z5E
|
||||
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn870Z5E/880Z5E/680Z5E*
|
||||
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn870Z5E/880Z5E/680Z5E:*
|
||||
EVDEV_ABS_00=::30
|
||||
EVDEV_ABS_01=::29
|
||||
EVDEV_ABS_35=::30
|
||||
@ -583,7 +592,7 @@ evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn870Z5E/
|
||||
#########################################
|
||||
|
||||
# Star LabTop Mk III
|
||||
evdev:name:ALPS0001:00 0911:5288 Touchpad:dmi:*svnStarLabs:pnLabTop*
|
||||
evdev:name:ALPS0001:00 0911:5288 Touchpad:dmi:*svnStarLabs:pnLabTop:*
|
||||
EVDEV_ABS_00=0:2627:25
|
||||
EVDEV_ABS_01=0:1331:20
|
||||
EVDEV_ABS_35=0:2627:25
|
||||
@ -612,12 +621,12 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnSystem76:pnGalagoPro:pvrgalp2:*
|
||||
#########################################
|
||||
|
||||
# Toshiba Tecra M11
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnTOSHIBA:pnTECRAM11*
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnTOSHIBA:pnTECRAM11:*
|
||||
EVDEV_ABS_00=90:962:11
|
||||
EVDEV_ABS_01=51:681:14
|
||||
|
||||
# Toshiba Satellite R830
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnTOSHIBA:pnSATELLITER830*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnTOSHIBA:pnSATELLITER830:*
|
||||
EVDEV_ABS_00=1238:5785:53
|
||||
EVDEV_ABS_01=1045:4826:76
|
||||
EVDEV_ABS_35=1238:5785:53
|
||||
|
@ -3,10 +3,10 @@
|
||||
# The lookup keys are composed in:
|
||||
# 60-input-id.rules
|
||||
#
|
||||
# Note: The format of the "input-id:" prefix match key is a
|
||||
# contract between the rules file and the hardware data, it might
|
||||
# change in later revisions to support more or better matches, it
|
||||
# is not necessarily expected to be a stable ABI.
|
||||
# Note: The format of the "input-id:" prefix match key is a contract between
|
||||
# the rules file and the hardware data, it might change in later revisions to
|
||||
# support more or better matches, it is not necessarily expected to be a stable
|
||||
# ABI.
|
||||
#
|
||||
# Match string formats:
|
||||
# id-input:modalias:<modalias>
|
||||
@ -27,16 +27,14 @@
|
||||
# udevadm info /dev/input/eventXX.
|
||||
#
|
||||
# This file must only be used where the input_id builtin assigns the wrong
|
||||
# properties or lacks the assignment of some properties. This is almost
|
||||
# always caused by a device not adhering to the standard of the device's
|
||||
# type.
|
||||
# properties or lacks the assignment of some properties. This is almost always
|
||||
# caused by a device not adhering to the standard of the device's type.
|
||||
#
|
||||
# Allowed properties are:
|
||||
# ID_INPUT
|
||||
# ID_INPUT_ACCELEROMETER, ID_INPUT_MOUSE,
|
||||
# ID_INPUT_POINTINGSTICK, ID_INPUT_TOUCHSCREEN, ID_INPUT_TOUCHPAD,
|
||||
# ID_INPUT_TABLET, ID_INPUT_TABLET_PAD, ID_INPUT_JOYSTICK, ID_INPUT_KEY,
|
||||
# ID_INPUT_KEYBOARD, ID_INPUT_SWITCH, ID_INPUT_TRACKBALL
|
||||
# ID_INPUT, ID_INPUT_ACCELEROMETER, ID_INPUT_MOUSE, ID_INPUT_POINTINGSTICK,
|
||||
# ID_INPUT_TOUCHSCREEN, ID_INPUT_TOUCHPAD, ID_INPUT_TABLET,
|
||||
# ID_INPUT_TABLET_PAD, ID_INPUT_JOYSTICK, ID_INPUT_KEY, ID_INPUT_KEYBOARD,
|
||||
# ID_INPUT_SWITCH, ID_INPUT_TRACKBALL
|
||||
#
|
||||
# ID_INPUT
|
||||
# * MUST be set when ANY of ID_INPUT_* is set
|
||||
@ -45,7 +43,7 @@
|
||||
# ID_INPUT_TABLET
|
||||
# * MUST be set when setting ID_INPUT_TABLET_PAD
|
||||
#
|
||||
# Allowed values are 1 and 0 to set or unset, repsectively.
|
||||
# Allowed values are 1 and 0 to set or unset, respectively.
|
||||
#
|
||||
# NOT allowed in this file are:
|
||||
# ID_INPUT_WIDTH_MM, ID_INPUT_HEIGHT_MM, ID_INPUT_TOUCHPAD_INTEGRATION
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,17 +3,17 @@
|
||||
# The lookup keys are composed in:
|
||||
# 60-sensor.rules
|
||||
#
|
||||
# Note: The format of the "sensor:" prefix match key is a
|
||||
# contract between the rules file and the hardware data, it might
|
||||
# change in later revisions to support more or better matches, it
|
||||
# is not necessarily expected to be a stable ABI.
|
||||
# Note: The format of the "sensor:" prefix match key is a contract between the
|
||||
# rules file and the hardware data, it might change in later revisions to
|
||||
# support more or better matches, it is not necessarily expected to be a stable
|
||||
# ABI.
|
||||
#
|
||||
# Match string formats:
|
||||
# sensor:modalias:<parent device modalias>:dmi:<dmi string>
|
||||
# sensor:modalias:<parent modalias pattern>:dmi:<dmi pattern>
|
||||
#
|
||||
# The device modalias can be seen in the `modalias` file
|
||||
# of the sensor parent, for example:
|
||||
# cat /sys/`udevadm info -q path -n /dev/iio:device0`/../modalias
|
||||
# The device modalias can be seen in the `modalias` file of the sensor parent,
|
||||
# for example:
|
||||
# cat /sys/`udevadm info -q path -n /dev/iio:device0`/../modalias
|
||||
#
|
||||
# The full DMI string of the running machine can be read from
|
||||
# /sys/class/dmi/id/modalias
|
||||
@ -46,7 +46,7 @@
|
||||
# where <matrix> is a mount-matrix in the format specified in the IIO
|
||||
# subsystem[1]. The default, when unset, is equivalent to:
|
||||
# ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
# eg. the identity matrix.
|
||||
# eg. the identity matrix,
|
||||
# and <value> is an integer value above which an object is considered
|
||||
# close by a proximity sensor:
|
||||
# PROXIMITY_NEAR_LEVEL=100
|
||||
@ -72,16 +72,19 @@
|
||||
#########################################
|
||||
# Acer
|
||||
#########################################
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*Acer*:*pn*AspireSW5-011*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*Acer*:*pn*AspireSW5-011:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*Acer*:*pn*AspireSW5-012*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*Acer*:*pn*AspireSW5-012:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*svnAcer*:*TP-SW5-017-17BU:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, -1
|
||||
|
||||
sensor:modalias:acpi:BMA250E*:dmi:*:svnAcer:pnIconiaW1-810:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:SMO8500:*:dmi:*Acer*:pnOneS1002*
|
||||
sensor:modalias:acpi:SMO8500:*:dmi:*Acer*:pnOneS1002:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, -1
|
||||
|
||||
sensor:modalias:acpi:KIOX0009*:dmi:*:svnAcer:pnOneS1003:*
|
||||
@ -90,10 +93,9 @@ sensor:modalias:acpi:KIOX0009*:dmi:*:svnAcer:pnOneS1003:*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnAcer*:pnSwitchSW312-31:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*svn*Acer*:*pn*Spin*SP111-33*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*svnAcer*:*pnSpinSP111-34*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*svn*Acer*:*pn*Spin*SP111-32:*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*svn*Acer*:*pn*Spin*SP111-33:*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*svnAcer*:*pnSpinSP111-34:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
@ -105,47 +107,49 @@ sensor:modalias:acpi:SMO8500*:dmi:*:svnARCHOS:pnARCHOS80Cesium:*
|
||||
#########################################
|
||||
# AsusTek
|
||||
#########################################
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100CHI*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100CHI:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT300CHI*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT300CHI:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100TA*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT200TA*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnM80TA:*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100TA:*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT200TA:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnTP201SA*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pn*E205SA*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnTP201SA:*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pn*E205SA:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LA*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LD*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LA:*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LD:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pn*Q551LN*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pn*Q551LN:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:KXJ2109*:dmi:*:svnASUSTeK*:pnME176C*
|
||||
sensor:modalias:acpi:KXJ2109*:dmi:*:svnASUSTeK*:pnME176C:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LJ*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LJ:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
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*TP500LAB:*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LB:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LD*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LD:*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LAB:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*svn*ASUSTeK*:*pn*TP412UA*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*svn*ASUSTeK*:*pn*TP412UA:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Axxo
|
||||
#########################################
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*:svnStandard:pnWCBT1011:*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*:svnStandard:pnWCBT1011::*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
@ -164,6 +168,10 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo:pnD2D3_Vi8A1:*
|
||||
sensor:modalias:acpi:BMA250E*:dmi:bvnINSYDECorp.:bvrG1D_S165*:svnilife:pnS165:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
# Chuwi Hi8 (CWI509)
|
||||
sensor:modalias:acpi:BMA250E*:dmi:*svnilife*:pnS806:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
# Chuwi Hi8 Pro (CWI513)
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo:pnX1D3_C806N:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
@ -186,6 +194,8 @@ sensor:modalias:acpi:MXC6655*:dmi:*:svnCHUWIInnovationAndTechnology*:pnHi10X:*
|
||||
|
||||
# Chuwi Hi12
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo:pnP02BD6_HI-122LP:*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnDefaultstring:pnDefaultstring:*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo:pnE4D6_HI-122LP:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
# Chuwi Hi13
|
||||
@ -196,8 +206,8 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:svnChuwi*:pnHi13:*
|
||||
# Chuwi HiBook does not have its product name filled, so we
|
||||
# match the entire dmi-alias, assuming that the use of a BOSC0200 +
|
||||
# bios-version + bios-date combo is unique
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/07/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnHampoo:rnCherryTrailCR:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/28/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnHampoo:rnCherryTrailCR:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/07/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnHampoo:rnCherryTrailCR:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/28/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnHampoo:rnCherryTrailCR:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
# Chuwi HiBook Pro (CWI526)
|
||||
@ -207,7 +217,7 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo*:pnP1D6_C109K:*
|
||||
# Chuwi CoreBook
|
||||
# Chuwi CoreBook does not have its product name filled, so we
|
||||
# match the entire dmi-alias
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvrY13D_KB133.103:bd06/01/2018:svnHampoo:pnDefaultstring:pvrV100:rvnHampoo:rnY13D_KB133:rvrV100:cvnDefaultstring:ct9:cvrDefaultstring:
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvrY13D_KB133.103:bd06/01/2018:svnHampoo:pnDefaultstring:pvrV100:rvnHampoo:rnY13D_KB133:rvrV100:cvnDefaultstring:ct9:cvrDefaultstring:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
@ -248,10 +258,14 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnCube:pnI15-TC:*
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*:svncube:pni8-T:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
# Cube KNote 5
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*:svnALLDOCUBE:pni1102:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Cytrix (Mytrix)
|
||||
#########################################
|
||||
sensor:modalias:acpi:*KIOX000A*:dmi:*svn*CytrixTechnology:*pn*Complex11t*
|
||||
sensor:modalias:acpi:*KIOX000A*:dmi:*svn*CytrixTechnology:*pn*Complex11t:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
@ -260,18 +274,24 @@ sensor:modalias:acpi:*KIOX000A*:dmi:*svn*CytrixTechnology:*pn*Complex11t*
|
||||
sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:pnVostro5581:*
|
||||
ACCEL_LOCATION=base
|
||||
|
||||
sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:pnLatitude9520:*:ct10:*
|
||||
ACCEL_LOCATION=base
|
||||
|
||||
sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:pnLatitude7420:*
|
||||
ACCEL_LOCATION=base
|
||||
|
||||
# Dell Venue 8 Pro 3845
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnDellInc.*:pnVenue8Pro3845*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnDellInc.*:pnVenue8Pro3845:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# Dell Venue 10 Pro 5055
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnDell*:pnVenue10Pro5055*
|
||||
sensor:modalias:acpi:INVN6500*:dmi:*svnDell*:pnVenue10Pro5055:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# DEXP
|
||||
#########################################
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*DEXP*:*pn*DEXPOEM*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svn*DEXP*:*pn*DEXPOEM:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
@ -285,7 +305,7 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnDigma:pnCITIE203ES2010EW:*
|
||||
#########################################
|
||||
# Endless
|
||||
#########################################
|
||||
sensor:modalias:acpi:ACCE0001*:dmi:*svnEndless*:*pnELT-NL3*
|
||||
sensor:modalias:acpi:ACCE0001*:dmi:*svnEndless*:*pnELT-NL3:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 0, 0, -1; -1, 0, 0
|
||||
|
||||
#########################################
|
||||
@ -305,19 +325,19 @@ sensor:modalias:acpi:KIOX010A*:dmi:*:svnGEO*:pnGeoFlex*:*
|
||||
#########################################
|
||||
# Google Chromebooks
|
||||
#########################################
|
||||
sensor:modalias:platform:cros-ec-accel:dmi:*:svnGOOGLE*
|
||||
sensor:modalias:platform:cros-ec-accel:dmi:*:svnGOOGLE:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
|
||||
|
||||
# caroline board (Samsung Chromebook Pro) reports itself as svnGoogle
|
||||
sensor:modalias:platform:cros-ec-accel:dmi:*:svnGoogle:pnCaroline*
|
||||
sensor:modalias:platform:cros-ec-accel:dmi:*:svnGoogle:pnCaroline*:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
|
||||
|
||||
# Dell Inspiron Chromebook 14 2-in-1
|
||||
sensor:modalias:platform:cros-ec-accel:dmi:*svnGoogle:pnVayne*
|
||||
sensor:modalias:platform:cros-ec-accel:dmi:*svnGoogle:pnVayne*:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
|
||||
|
||||
# nocturne board (Google Pixel Slate)
|
||||
sensor:modalias:platform:cros-ec-accel:dmi:*Google_Nocturne*
|
||||
sensor:modalias:platform:cros-ec-accel:dmi:*Google_Nocturne*:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
@ -337,13 +357,13 @@ sensor:modalias:acpi:KIOX000A*:dmi:bvnINSYDECorp.:bvrBYT70A.YNCHENG.WIN.007:*:sv
|
||||
# and no other devices have both board_name *and* product_name set to
|
||||
# "Default string". So combined with the sensor modalias and BIOS date this
|
||||
# should be unique enough to identify the GPDwin
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd10/25/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd11/18/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd12/23/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd12/26/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd02/21/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd03/20/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/25/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd10/25/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd11/18/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd12/23/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd12/26/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd02/21/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd03/20/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/25/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
|
||||
ACCEL_LOCATION=base
|
||||
|
||||
#########################################
|
||||
@ -371,7 +391,7 @@ sensor:modalias:i2c:bmc150_accel:dmi:*:svnHewlett-Packard:pnHPPavilionx2Detachab
|
||||
# The I.T.Works TW891 2-in-1's DMI has the product-name field set, but not
|
||||
# the sys-vendor field. This makes the DMI data a bit generic, so we match
|
||||
# the whole dmi modalias, except for the BIOS version/date
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:*:svnTobefilledbyO.E.M.:pnTW891:pvrTobefilledbyO.E.M.:rvnTobefilledbyO.E.M.:rnTW891:rvr1.0:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:*:svnTobefilledbyO.E.M.:pnTW891:pvrTobefilledbyO.E.M.:rvnTobefilledbyO.E.M.:rnTW891:rvr1.0:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
# I.T.Works TW701 7" windows tablet, same hw as Trekstor ST70416-6
|
||||
@ -379,15 +399,25 @@ sensor:modalias:acpi:BMA250*:dmi:*:bvritWORKS.G.WI71C.JGBMRB*:*:svnInsyde:pni71c
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Irbis TW90
|
||||
# Irbis
|
||||
#########################################
|
||||
|
||||
#TW90
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnIRBIS:pnTW90:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# NB111
|
||||
sensor:modalias:acpi:KIOX010A*:dmi:*svn*IRBIS*:*pn*NB111:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#TW118
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*:svnIRBIS:pnTW118:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# iOTA 360
|
||||
#########################################
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*svn*iOTA*:*pn*IOTA2210*
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*svn*iOTA*:*pn*IOTA2210:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
@ -395,7 +425,7 @@ sensor:modalias:acpi:KIOX000A*:dmi:*svn*iOTA*:*pn*IOTA2210*
|
||||
#########################################
|
||||
|
||||
# EZpad mini 3
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnINSYDECorp.:bvrjumperx.T87.KFBNEE*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnINSYDECorp.:bvrjumperx.T87.KFBNEE:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# EZpad 6 Pro
|
||||
@ -415,10 +445,10 @@ sensor:modalias:acpi:KIOX000A*:dmi:bvnINSYDECorp.:bvrVISION.I22K*:svnKAZAM:pnVIS
|
||||
#########################################
|
||||
# Lamina
|
||||
#########################################
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svnLamina*:*pnT701BR.SE*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*svnLamina*:*pnT701BR.SE:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*svnLAMINA:pnT-1016BNORD*
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:*svnLAMINA:pnT-1016BNORD:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
@ -427,7 +457,7 @@ sensor:modalias:acpi:KIOX000A*:dmi:*svnLAMINA:pnT-1016BNORD*
|
||||
sensor:modalias:acpi:NCPE0388*:dmi:*:rnLenovoYOGA510-14IKB:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*ThinkPadYoga11e3rdGen*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:*ThinkPadYoga11e3rdGen:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# Miix3-1030
|
||||
@ -443,7 +473,7 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:pn81H3:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# IdeaPad Miix 300
|
||||
sensor:modalias:acpi:SMO8500*:dmi:bvnLENOVO:*:pvrMIIX300-*
|
||||
sensor:modalias:acpi:SMO8500*:dmi:bvnLENOVO:*:pvrMIIX300-*:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# IdeaPad Miix 310 note this only is for BIOS version (bvr) 1HCN4?WW and 1HCN2?WW, which has
|
||||
@ -454,7 +484,7 @@ sensor:modalias:acpi:KIOX000A*:dmi:bvnLENOVO:bvr1HCN2?WW:*:svnLENOVO:pn80SG:*
|
||||
|
||||
# IdeaPad Miix 320, different batches use a different sensor
|
||||
sensor:modalias:acpi:*BOSC0200*:dmi:*:svnLENOVO*:pn80XF:*
|
||||
sensor:modalias:acpi:SMO8840*:dmi:*:svnLENOVO:pn80XF:pvrLenovoMIIX320*
|
||||
sensor:modalias:acpi:SMO8840*:dmi:*:svnLENOVO:pn80XF:pvrLenovoMIIX320:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# IdeaPad Miix 510, multiple expressions match different internal names
|
||||
@ -501,9 +531,20 @@ sensor:modalias:acpi:KIOX010A*:dmi:*:svnMEDION:pnE*:*
|
||||
sensor:modalias:acpi:KIOX010A*:dmi:*:svnMEDION:pnMEDION*:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# Medion Akoya E2221T MD60691
|
||||
sensor:modalias:acpi:KIOX020A*:dmi:*:pnE2221TMD60691*:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
ACCEL_LOCATION=base
|
||||
|
||||
#########################################
|
||||
# MPMAN
|
||||
#########################################
|
||||
|
||||
# MPMAN Converter 9, same hw as the I.T.Works TW891 2-in-1
|
||||
sensor:modalias:acpi:SMO8500*:dmi:*:svnMPMAN:pnConverter9:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
# MPMAN MPWIN895C
|
||||
sensor:modalias:acpi:BMA250E*:dmi:*:svnMPMAN:pnMPWIN8900CL:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
@ -555,9 +596,17 @@ sensor:modalias:acpi:BMA250E*:dmi:bvnINSYDECorp.:bvrONDA.W89*:svnInsyde:pnONDATa
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
# Onda v975w, generic DMI strings, match entire dmi modalias inc. bios-date
|
||||
sensor:modalias:acpi:SMO8500*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd07/25/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
|
||||
sensor:modalias:acpi:SMO8500*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd07/25/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# One-netbook
|
||||
#########################################
|
||||
|
||||
# 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
|
||||
|
||||
#########################################
|
||||
# Peaq
|
||||
#########################################
|
||||
@ -587,8 +636,8 @@ sensor:modalias:acpi:BMA250E*:dmi:*:svnShenzhenPLOYER*:pnMOMO7W:*
|
||||
# The Point of View TAB-P800W does not have its product name filled, so we
|
||||
# match the entire dmi-alias, assuming that the use of a BMA250E +
|
||||
# bios-version + bios-date combo is unique
|
||||
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr3BAIR1013:bd08/22/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
|
||||
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr3BAIR1014:bd10/24/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
|
||||
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr3BAIR1013:bd08/22/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
|
||||
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr3BAIR1014:bd10/24/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
# Point of View TAB-P1005W-232 (v2.0)
|
||||
@ -599,6 +648,14 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:rvnPOV:rnI102A:*
|
||||
sensor:modalias:i2c:bmc150_accel:dmi:bvnINSYDECorp.:*:svnInsyde:pnBayTrail:*:rvn105B:rn0E57:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Predia
|
||||
#########################################
|
||||
|
||||
# Predia Basic tablet, most DMI strings are generic, match on BIOS version
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnINSYDECorp.:bvrMx.WT107.KUBNGEA*svnInsyde:pnCherryTrail:*
|
||||
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
# Prowise
|
||||
#########################################
|
||||
@ -610,7 +667,7 @@ sensor:modalias:acpi:SMO8500*:dmi:*:svnProwise:pnPT301:*
|
||||
#########################################
|
||||
|
||||
# SCT101CTM
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvrSCH12i.WJ210Z.KtBJRCA03*
|
||||
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvrSCH12i.WJ210Z.KtBJRCA03:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
@ -642,7 +699,7 @@ sensor:modalias:acpi:SMO8500*:dmi:*bd12/19/2014:*:rvnTECLAST:rntPAD:*
|
||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||
|
||||
# Teclast X98 Plus I (A5C6), generic DMI strings, match entire dmi modalias inc. bios-date
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.011:bd11/03/2015:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnCherryTrailCR:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
|
||||
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.011:bd11/03/2015:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnCherryTrailCR:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
|
||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||
|
||||
# Teclast X98 Plus II
|
||||
@ -654,7 +711,7 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnX98PlusII:*
|
||||
#########################################
|
||||
|
||||
# Thundersoft TST168 tablet, generic DMI strings, match entire dmi modalias inc. bios-date
|
||||
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd04/15/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
|
||||
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd04/15/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
|
||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||
|
||||
#########################################
|
||||
|
@ -6,35 +6,37 @@
|
||||
# The lookup keys are composed in:
|
||||
# 70-mouse.rules
|
||||
#
|
||||
# Note: The format of the "mouse:" prefix match key is a
|
||||
# contract between the rules file and the hardware data, it might
|
||||
# change in later revisions to support more or better matches, it
|
||||
# is not necessarily expected to be a stable ABI.
|
||||
# Note: The format of the "mouse:" prefix match key is a contract between the
|
||||
# rules file and the hardware data, it might change in later revisions to
|
||||
# support more or better matches, it is not necessarily expected to be a stable
|
||||
# ABI.
|
||||
#
|
||||
# Match string format:
|
||||
# Match key format:
|
||||
# mouse:<subsystem>:v<vid>p<pid>:name:<name>:
|
||||
#
|
||||
# Supported subsystems: usb, bluetooth
|
||||
# vid/pid as 4-digit hex lowercase vendor/product
|
||||
#
|
||||
# if vid/pid is unavailable, use
|
||||
# mouse:*:name:<name>:
|
||||
# mouse:*:name:<name>:*
|
||||
# if name is unavailable, use
|
||||
# mouse:<subsystem>:v<vid>p<pid>:*
|
||||
# mouse:<subsystem>:v<vid>p<pid>:*
|
||||
#
|
||||
# For example, the following 5 matches all match the same mouse:
|
||||
# mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:
|
||||
# mouse:usb:*:name:Lenovo Optical USB Mouse:
|
||||
# mouse:usb:v17efp6019:*
|
||||
# mouse:*:name:Lenovo Optical USB Mouse:
|
||||
# mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:*
|
||||
# mouse:usb:*:name:Lenovo Optical USB Mouse:*
|
||||
# mouse:usb:v17efp6019:*
|
||||
# mouse:*:name:Lenovo Optical USB Mouse:*
|
||||
#
|
||||
# All matches should end in ':*' to allow future expansions of the match key.
|
||||
#
|
||||
# To add local entries, create a new file
|
||||
# /etc/udev/hwdb.d/71-mouse-local.hwdb
|
||||
# and add your rules there. To load the new rules execute (as root):
|
||||
# systemd-hwdb update
|
||||
# udevadm trigger /dev/input/eventXX
|
||||
# where /dev/input/eventXX is the mouse in question. If in
|
||||
# doubt, simply use /dev/input/event* to reload all input rules.
|
||||
# where /dev/input/eventXX is the mouse in question. If in doubt, simply use
|
||||
# /dev/input/event* to reload all input rules.
|
||||
#
|
||||
# If your changes are generally applicable, preferably send them as a pull
|
||||
# request to
|
||||
@ -44,12 +46,12 @@
|
||||
# udevadm info /dev/input/eventXX.
|
||||
#
|
||||
# Allowed properties are:
|
||||
# ID_INPUT_TRACKBALL
|
||||
# MOUSE_DPI
|
||||
# MOUSE_WHEEL_CLICK_ANGLE
|
||||
# MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL
|
||||
# MOUSE_WHEEL_CLICK_COUNT
|
||||
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL
|
||||
# ID_INPUT_TRACKBALL
|
||||
# MOUSE_DPI
|
||||
# MOUSE_WHEEL_CLICK_ANGLE
|
||||
# MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL
|
||||
# MOUSE_WHEEL_CLICK_COUNT
|
||||
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL
|
||||
#
|
||||
#########################################
|
||||
# ID_INPUT_TRACKBALL #
|
||||
@ -63,7 +65,7 @@
|
||||
#########################################
|
||||
#
|
||||
# DPI settings are specified as
|
||||
# MOUSE_DPI=<dpi>[@<frequency>]
|
||||
# MOUSE_DPI=<dpi>[@<frequency>]
|
||||
#
|
||||
# Where <dpi> is the resolution in dots per inch, and <frequency> the
|
||||
# sampling frequency in Hz (optional). If a device supports dynamic
|
||||
@ -141,9 +143,9 @@
|
||||
##########################################
|
||||
# Generic
|
||||
##########################################
|
||||
mouse:*:name:*Trackball*:
|
||||
mouse:*:name:*trackball*:
|
||||
mouse:*:name:*TrackBall*:
|
||||
mouse:*:name:*Trackball*:*
|
||||
mouse:*:name:*trackball*:*
|
||||
mouse:*:name:*TrackBall*:*
|
||||
ID_INPUT_TRACKBALL=1
|
||||
|
||||
##########################################
|
||||
@ -153,7 +155,7 @@ mouse:*:name:*TrackBall*:
|
||||
# Apple MagicMouse
|
||||
# Note: this device changes name once connected to a mac, the name ends up
|
||||
# as $username`s mouse
|
||||
mouse:bluetooth:v05acp030d:name:*:
|
||||
mouse:bluetooth:v05acp030d:name:*:*
|
||||
MOUSE_DPI=1300@1000
|
||||
|
||||
##########################################
|
||||
@ -161,7 +163,7 @@ mouse:bluetooth:v05acp030d:name:*:
|
||||
##########################################
|
||||
|
||||
# Chicony 2.4G Multimedia Wireless Kit MG-0919
|
||||
mouse:usb:v04f2p0963:name:Chicony 2.4G Multimedia Wireless Kit:
|
||||
mouse:usb:v04f2p0963:name:Chicony 2.4G Multimedia Wireless Kit:*
|
||||
MOUSE_DPI=1000@142
|
||||
|
||||
##########################################
|
||||
@ -169,15 +171,15 @@ mouse:usb:v04f2p0963:name:Chicony 2.4G Multimedia Wireless Kit:
|
||||
##########################################
|
||||
|
||||
# Dell MUAR DEL7
|
||||
mouse:usb:v413cp3012:name:Dell Dell USB Optical Mouse:
|
||||
mouse:usb:v413cp3012:name:Dell Dell USB Optical Mouse:*
|
||||
MOUSE_DPI=400@166
|
||||
|
||||
# Dell USB Laser Mouse
|
||||
mouse:usb:v046dpc063:name:DELL DELL USB Laser Mouse:
|
||||
mouse:usb:v046dpc063:name:DELL DELL USB Laser Mouse:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Dell MS116t
|
||||
mouse:usb:v413cp301a:name:PixArt Dell MS116 USB Optical Mouse:
|
||||
mouse:usb:v413cp301a:name:PixArt Dell MS116 USB Optical Mouse:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
##########################################
|
||||
@ -185,14 +187,14 @@ mouse:usb:v413cp301a:name:PixArt Dell MS116 USB Optical Mouse:
|
||||
#########################################
|
||||
|
||||
# Dynex Wired Optical Mouse (DX-WMSE2)
|
||||
mouse:usb:v0461p4d46:name:USB Optical Mouse:
|
||||
mouse:usb:v0461p4d46:name:USB Optical Mouse:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
##########################################
|
||||
# Fujitsu Siemens
|
||||
##########################################
|
||||
|
||||
mouse:usb:v0461p4d16:name:USB Optical Mouse:
|
||||
mouse:usb:v0461p4d16:name:USB Optical Mouse:*
|
||||
MOUSE_DPI=500@125
|
||||
|
||||
##########################################
|
||||
@ -200,7 +202,7 @@ mouse:usb:v0461p4d16:name:USB Optical Mouse:
|
||||
##########################################
|
||||
|
||||
# SNES Mouse plugged into a Retrode 2
|
||||
mouse:usb:v0403p97c1:name:Retrode SNES Mouse:
|
||||
mouse:usb:v0403p97c1:name:Retrode SNES Mouse:*
|
||||
MOUSE_DPI=235@126
|
||||
|
||||
##########################################
|
||||
@ -208,11 +210,11 @@ mouse:usb:v0403p97c1:name:Retrode SNES Mouse:
|
||||
##########################################
|
||||
|
||||
# FM-901 Wireless Mouse
|
||||
mouse:usb:v1ea7p000b:name:2.4G RF Mouse:
|
||||
mouse:usb:v1ea7p000b:name:2.4G RF Mouse:*
|
||||
MOUSE_DPI=*800@125 1600@125
|
||||
|
||||
# WK-727
|
||||
mouse:usb:v04d9p0499:name:*
|
||||
mouse:usb:v04d9p0499:name:*:*
|
||||
MOUSE_DPI=800@125
|
||||
|
||||
##########################################
|
||||
@ -220,7 +222,7 @@ mouse:usb:v04d9p0499:name:*
|
||||
##########################################
|
||||
|
||||
# HandShoe Mouse
|
||||
mouse:usb:v192fp0916:name:USB Optical Mouse:
|
||||
mouse:usb:v192fp0916:name:USB Optical Mouse:*
|
||||
MOUSE_DPI=1000@128
|
||||
|
||||
##########################################
|
||||
@ -228,7 +230,7 @@ mouse:usb:v192fp0916:name:USB Optical Mouse:
|
||||
##########################################
|
||||
|
||||
# Hoverstop active ergonomic mouse
|
||||
mouse:usb:v088dp1234:name:HoverStop NL Hoverstop active ergonomic mouse:
|
||||
mouse:usb:v088dp1234:name:HoverStop NL Hoverstop active ergonomic mouse:*
|
||||
MOUSE_DPI=400@129
|
||||
|
||||
##########################################
|
||||
@ -236,18 +238,18 @@ mouse:usb:v088dp1234:name:HoverStop NL Hoverstop active ergonomic mouse:
|
||||
##########################################
|
||||
|
||||
# HP USB 1000dpi Laser Mouse
|
||||
mouse:usb:v0458p0133:name:Mouse Laser Mouse:
|
||||
mouse:usb:v0458p0133:name:Mouse Laser Mouse:*
|
||||
MOUSE_DPI=1000@125
|
||||
MOUSE_WHEEL_CLICK_ANGLE=15
|
||||
|
||||
# HP X1000
|
||||
# Dell MS111-T
|
||||
mouse:usb:v093ap2510:name:PixArt USB Optical Mouse:
|
||||
mouse:usb:v093ap2510:name:PIXART USB OPTICAL MOUSE:
|
||||
mouse:usb:v093ap2510:name:PixArt USB Optical Mouse:*
|
||||
mouse:usb:v093ap2510:name:PIXART USB OPTICAL MOUSE:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# HP X1200 Optical Mouse
|
||||
mouse:usb:v03f0p0641:name:PixArt HP X1200 USB Optical Mouse:
|
||||
mouse:usb:v03f0p0641:name:PixArt HP X1200 USB Optical Mouse:*
|
||||
MOUSE_DPI=1100@125
|
||||
|
||||
##########################################
|
||||
@ -263,7 +265,7 @@ mouse:usb:v04b3p3107:name:*
|
||||
##########################################
|
||||
|
||||
# Kensington Expert Mouse trackball
|
||||
mouse:usb:v047dp1020:*Kensington Expert Mouse*
|
||||
mouse:usb:v047dp1020:*Kensington Expert Mouse*:*
|
||||
ID_INPUT_TRACKBALL=1
|
||||
|
||||
##########################################
|
||||
@ -271,31 +273,31 @@ mouse:usb:v047dp1020:*Kensington Expert Mouse*
|
||||
##########################################
|
||||
|
||||
# Lenovo Optical USB Mouse
|
||||
mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:
|
||||
mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Lenovo M-U0025-O
|
||||
mouse:usb:v17efp6019:name:Logitech Lenovo USB Optical Mouse:
|
||||
mouse:usb:v17efp6019:name:Logitech Lenovo USB Optical Mouse:*
|
||||
MOUSE_DPI=1000@166
|
||||
|
||||
# Lenovo USB mouse model MO28UOL
|
||||
mouse:usb:v04b3p310c:name:USB Optical Mouse:
|
||||
mouse:usb:v04b3p310c:name:USB Optical Mouse:*
|
||||
MOUSE_DPI=400@142
|
||||
|
||||
# Lenovo Precision USB Mouse
|
||||
mouse:usb:v17efp6050:name:Lenovo Precision USB Mouse:
|
||||
mouse:usb:v17efp6050:name:Lenovo Precision USB Mouse:*
|
||||
MOUSE_DPI=1200@127
|
||||
|
||||
# Lenovo MOBGUL
|
||||
mouse:usb:v17efp601d:name:Primax Lenovo Laser Mouse:
|
||||
mouse:usb:v17efp601d:name:Primax Lenovo Laser Mouse:*
|
||||
MOUSE_DPI=1600@125
|
||||
|
||||
# Lenovo MOBGULA
|
||||
mouse:usb:v17efp6045:name:Lenovo USB Laser Mouse:
|
||||
mouse:usb:v17efp6045:name:Lenovo USB Laser Mouse:*
|
||||
MOUSE_DPI=1600@125
|
||||
|
||||
# ThinkPad USB Laser Mouse
|
||||
mouse:usb:v17efp6044:name:ThinkPad USB Laser Mouse:
|
||||
mouse:usb:v17efp6044:name:ThinkPad USB Laser Mouse:*
|
||||
MOUSE_DPI=1200@125
|
||||
|
||||
##########################################
|
||||
@ -310,135 +312,139 @@ mouse:usb:v17efp6044:name:ThinkPad USB Laser Mouse:
|
||||
## G Series ##
|
||||
|
||||
# Logitech G5 Laser Mouse
|
||||
mouse:usb:v046dpc049:name:Logitech USB Gaming Mouse:
|
||||
mouse:usb:v046dpc049:name:Logitech USB Gaming Mouse:*
|
||||
MOUSE_DPI=400@500 *800@500 2000@500
|
||||
|
||||
# Logitech G500s Laser Gaming Mouse
|
||||
mouse:usb:v046dpc24e:name:Logitech G500s Laser Gaming Mouse:
|
||||
mouse:usb:v046dpc24e:name:Logitech G500s Laser Gaming Mouse:*
|
||||
MOUSE_DPI=400@500 *800@500 2000@500
|
||||
|
||||
# Logitech G9
|
||||
mouse:usb:v046dpc048:name:Logitech G9 Laser Mouse:
|
||||
mouse:usb:v046dpc048:name:Logitech G9 Laser Mouse:*
|
||||
MOUSE_DPI=400@1000 800@1000 *1600@1000
|
||||
|
||||
# Logitech G9x [Call of Duty MW3 Edition]
|
||||
mouse:usb:v046dpc249:name:Logitech G9x Laser Mouse:
|
||||
mouse:usb:v046dpc249:name:Logitech G9x Laser Mouse:*
|
||||
MOUSE_DPI=400@1000 800@1000 *1600@1000 3200@1000
|
||||
|
||||
# Logitech G100s Optical Gaming Mouse
|
||||
mouse:usb:v046dpc247:name:Logitech G100s Optical Gaming Mouse:
|
||||
mouse:usb:v046dpc247:name:Logitech G100s Optical Gaming Mouse:*
|
||||
MOUSE_DPI=*1000@500 1750@500 2500@500
|
||||
|
||||
# Logitech G400 (Wired)
|
||||
mouse:usb:v046dpc245:name:Logitech Gaming Mouse G400:
|
||||
mouse:usb:v046dpc245:name:Logitech Gaming Mouse G400:*
|
||||
MOUSE_DPI=400@1000 *800@1000 1800@1000 3600@1000
|
||||
|
||||
# Logitech G400s (Wired)
|
||||
mouse:usb:v046dpc24c:name:Logitech G400s Optical Gaming Mouse:
|
||||
mouse:usb:v046dpc24c:name:Logitech G400s Optical Gaming Mouse:*
|
||||
MOUSE_DPI=400@1000 *800@1000 2000@1000 4000@1000
|
||||
|
||||
# Logitech G402 Hyperion Fury
|
||||
mouse:usb:v046dpc07e:name:Logitech Gaming Mouse G402:
|
||||
mouse:usb:v046dpc07e:name:Logitech Gaming Mouse G402:*
|
||||
MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000
|
||||
|
||||
# Logitech G403 Prodigy (Wired)
|
||||
mouse:usb:v046dpc083:name:Logitech G403 Prodigy Gaming Mouse:*
|
||||
MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000
|
||||
|
||||
# Logitech G500 Mouse
|
||||
mouse:usb:v046dpc068:name:Logitech G500:
|
||||
mouse:usb:v046dpc068:name:Logitech G500:*
|
||||
MOUSE_DPI=*1600@500 2600@500 3600@500
|
||||
|
||||
# Logitech G502 Proteus Spectrum
|
||||
mouse:usb:v046dpc332:name:Logitech Gaming Mouse G502:
|
||||
mouse:usb:v046dpc332:name:Logitech Gaming Mouse G502:*
|
||||
# Logitech G502 HERO SE
|
||||
mouse:usb:v046dpc08b:name:Logitech G502 HERO SE:
|
||||
mouse:usb:v046dpc08b:name:Logitech G502 HERO SE:*
|
||||
# Logitech G502 Hero
|
||||
mouse:usb:v046dpc08b:name:Logitech G502 HERO Gaming Mouse:
|
||||
mouse:usb:v046dpc08b:name:Logitech G502 HERO Gaming Mouse:*
|
||||
MOUSE_DPI=1200@1000 *2400@1000 3200@1000 6400@1000
|
||||
|
||||
# Logitech G700 Laser Mouse (Wired)
|
||||
mouse:usb:v046dpc06b:name:Logitech G700 Laser Mouse:
|
||||
mouse:usb:v046dpc06b:name:Logitech G700 Laser Mouse:*
|
||||
# Logitech G700 Laser Mouse (Wireless)
|
||||
mouse:usb:v046dpc531:name:Logitech USB Receiver:
|
||||
mouse:usb:v046dpc531:name:Logitech USB Receiver:*
|
||||
MOUSE_DPI=*1000@500 3800@500 500@1000 1500@1000 2000@1000
|
||||
|
||||
# Logitech G703 (Wired)
|
||||
mouse:usb:v046dpc087:name:Logitech G703 Wired/Wireless Gaming Mouse:
|
||||
mouse:usb:v046dpc087:name:Logitech G703 Wired/Wireless Gaming Mouse:*
|
||||
# Logitech G703 (Wireless)
|
||||
mouse:usb:v046dpc539:name:Logitech USB Receiver Mouse:
|
||||
mouse:usb:v046dpc539:name:Logitech USB Receiver Mouse:*
|
||||
MOUSE_DPI=400@1000 800@1000 *1600@1000 3200@1000
|
||||
|
||||
## M Series ##
|
||||
|
||||
# Logitech Wireless Mouse M185
|
||||
mouse:usb:v046dp4008:name:Logitech M185:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4008:
|
||||
mouse:usb:v046dp4008:name:Logitech M185:*
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4008:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Logitech Wireless Mouse M510
|
||||
mouse:usb:v046dp1025:name:Logitech M510:
|
||||
mouse:usb:v046dp1025:name:Logitech M510:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Logitech M705 (marathon mouse)
|
||||
mouse:usb:v046dp101b:name:Logitech M705:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101b:
|
||||
mouse:usb:v046dp101b:name:Logitech M705:*
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101b:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Logitech M705 (newer version?)
|
||||
mouse:usb:v046dp406d:name:Logitech M705:
|
||||
mouse:usb:v046dp406d:name:Logitech M705:*
|
||||
MOUSE_DPI=1000@167
|
||||
|
||||
# Logitech M305 Wireless Optical Mouse
|
||||
mouse:usb:v046dpc52f:name:Logitech USB Receiver:
|
||||
mouse:usb:v046dpc52f:name:Logitech USB Receiver:*
|
||||
MOUSE_DPI=1000@170
|
||||
|
||||
# Logitech Wireless Mouse M310
|
||||
mouse:usb:v046dp1024:name:Logitech M310:
|
||||
mouse:usb:v046dp1024:name:Logitech M310:*
|
||||
MOUSE_DPI=1100@168
|
||||
|
||||
# Logitech Wireless Mouse M325
|
||||
mouse:usb:v046dp400a:name:Logitech M325:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:400a:
|
||||
mouse:usb:v046dp400a:name:Logitech M325:*
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:400a:*
|
||||
MOUSE_DPI=600@166
|
||||
MOUSE_WHEEL_CLICK_ANGLE=20
|
||||
|
||||
# Logitech M570 trackball
|
||||
mouse:usb:v046dp1028:name:Logitech M570:
|
||||
mouse:usb:v046dp1028:name:Logitech M570:*
|
||||
MOUSE_DPI=540@167
|
||||
ID_INPUT_TRACKBALL=1
|
||||
|
||||
## MX Series ##
|
||||
|
||||
# Logitech Performance MX
|
||||
mouse:usb:v046dp101a:name:Logitech Performance MX:
|
||||
mouse:usb:v046dp101a:name:Logitech Performance MX:*
|
||||
MOUSE_DPI=1000@166
|
||||
|
||||
# Logitech MX Revolution
|
||||
mouse:usb:v046dpc51a:name:Logitech USB Receiver:
|
||||
mouse:usb:v046dpc51a:name:Logitech USB Receiver:*
|
||||
MOUSE_DPI=800@200
|
||||
|
||||
# Logitech MX 518
|
||||
mouse:usb:v046dpc01e:name:Logitech USB-PS/2 Optical Mouse:
|
||||
mouse:usb:v046dpc01e:name:Logitech USB-PS/2 Optical Mouse:*
|
||||
MOUSE_DPI=400@125 *800@125 1600@125
|
||||
|
||||
# Logitech MX1000 Laser Cordless Mouse
|
||||
mouse:bluetooth:v046dpb003:name:Logitech MX1000 mouse:
|
||||
mouse:bluetooth:v046dpb003:name:Logitech MX1000 mouse:*
|
||||
MOUSE_DPI=800@80
|
||||
|
||||
# Logitech Anywhere MX
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:1017:
|
||||
mouse:usb:v046dp1017:name:Logitech Anywhere MX:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:1017:*
|
||||
mouse:usb:v046dp1017:name:Logitech Anywhere MX:*
|
||||
MOUSE_WHEEL_CLICK_ANGLE=20
|
||||
|
||||
# Logitech Anywhere MX 2S (via Logitech Unifying Receiver)
|
||||
mouse:usb:v046dp406a:name:Logitech MX Anywhere 2S:
|
||||
mouse:usb:v046dp406a:name:Logitech MX Anywhere 2S:*
|
||||
MOUSE_WHEEL_CLICK_ANGLE=20
|
||||
|
||||
# Logitech Anywhere MX 2S (via Bluetooth)
|
||||
mouse:bluetooth:v046dpb01a:name:MX Anywhere 2S Mouse:
|
||||
mouse:bluetooth:v046dpb01a:name:MX Anywhere 2S Mouse:*
|
||||
MOUSE_WHEEL_CLICK_ANGLE=20
|
||||
|
||||
# Logitech MX Master (via Logitech Unifying Receiver)
|
||||
# Horiz wheel has 14 stops, angle is rounded up
|
||||
mouse:usb:v046dp4060:name:Logitech MX Master:
|
||||
mouse:usb:v046dp4041:name:Logitech MX Master:
|
||||
mouse:usb:v046dp4060:name:Logitech MX Master:*
|
||||
mouse:usb:v046dp4041:name:Logitech MX Master:*
|
||||
MOUSE_DPI=1000@166
|
||||
MOUSE_WHEEL_CLICK_ANGLE=15
|
||||
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
|
||||
@ -447,7 +453,7 @@ mouse:usb:v046dp4041:name:Logitech MX Master:
|
||||
|
||||
# Logitech MX Master (via Bluetooth)
|
||||
# Horiz wheel has 14 stops, angle is rounded up
|
||||
mouse:bluetooth:v046dpb012:name:MX Master Mouse:
|
||||
mouse:bluetooth:v046dpb012:name:MX Master Mouse:*
|
||||
MOUSE_DPI=1000@2000
|
||||
MOUSE_WHEEL_CLICK_ANGLE=15
|
||||
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
|
||||
@ -456,7 +462,7 @@ mouse:bluetooth:v046dpb012:name:MX Master Mouse:
|
||||
|
||||
# Logitech MX Master 2S (via Logitech Unifying Receiver)
|
||||
# Horiz wheel has 14 stops, angle is rounded up
|
||||
mouse:usb:v046dp4069:name:Logitech MX Master 2s:
|
||||
mouse:usb:v046dp4069:name:Logitech MX Master 2s:*
|
||||
MOUSE_DPI=1000@125
|
||||
MOUSE_WHEEL_CLICK_ANGLE=15
|
||||
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
|
||||
@ -465,7 +471,7 @@ mouse:usb:v046dp4069:name:Logitech MX Master 2s:
|
||||
|
||||
# Logitech MX Master 2S (via Bluetooth)
|
||||
# Horiz wheel has 14 stops, angle is rounded up
|
||||
mouse:bluetooth:v046dpb019:name:MX Master 2S Mouse:
|
||||
mouse:bluetooth:v046dpb019:name:MX Master 2S Mouse:*
|
||||
MOUSE_DPI=1000@2000
|
||||
MOUSE_WHEEL_CLICK_ANGLE=15
|
||||
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
|
||||
@ -473,176 +479,176 @@ mouse:bluetooth:v046dpb019:name:MX Master 2S Mouse:
|
||||
MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14
|
||||
|
||||
# Logitech MX Ergo (via Bluetooth)
|
||||
mouse:bluetooth:v046dpb01d:name:MX Ergo Mouse:
|
||||
mouse:bluetooth:v046dpb01d:name:MX Ergo Mouse:*
|
||||
ID_INPUT_TRACKBALL=1
|
||||
|
||||
## Other ##
|
||||
|
||||
# Logitech M-BJ58 Optical Mouse
|
||||
mouse:usb:v046dpc00e:name:Logitech USB-PS/2 Optical Mouse:
|
||||
mouse:usb:v046dpc00e:name:Logitech USB-PS/2 Optical Mouse:*
|
||||
MOUSE_DPI=400@125
|
||||
|
||||
# Logitech Mini Optical Mouse
|
||||
mouse:usb:v046dpc016:name:Logitech Optical USB Mouse:
|
||||
mouse:usb:v046dpc016:name:Logitech Optical USB Mouse:*
|
||||
MOUSE_DPI=400@125
|
||||
|
||||
# Logitech MX310 Optical Mouse
|
||||
mouse:usb:v046dpc01b:name:Logitech USB-PS/2 Optical Mouse:
|
||||
mouse:usb:v046dpc01b:name:Logitech USB-PS/2 Optical Mouse:*
|
||||
MOUSE_DPI=400@125
|
||||
|
||||
# Logitech USB-PS/2 M-BT58
|
||||
mouse:usb:v046dpc03e:name:Logitech USB-PS/2 Optical Mouse:
|
||||
mouse:usb:v046dpc03e:name:Logitech USB-PS/2 Optical Mouse:*
|
||||
MOUSE_DPI=400@125
|
||||
|
||||
# Logitech TrackMan Marble Wheel USB
|
||||
mouse:usb:v046dpc401:name:Logitech USB-PS/2 Trackball:
|
||||
mouse:usb:v046dpc401:name:Logitech USB-PS/2 Trackball:*
|
||||
MOUSE_DPI=400@125
|
||||
|
||||
# Logitech Cordless MouseMan Optical M-RM63
|
||||
mouse:usb:v046dpc501:name:Logitech USB Receiver:
|
||||
mouse:usb:v046dpc501:name:Logitech USB Receiver:*
|
||||
MOUSE_DPI=800@63
|
||||
|
||||
# Logitech USB-PS/2 M-BZ96C
|
||||
mouse:usb:v046dpc045:name:Logitech USB-PS/2 Optical Mouse:
|
||||
mouse:usb:v046dpc045:name:Logitech USB-PS/2 Optical Mouse:*
|
||||
MOUSE_DPI=600@125
|
||||
|
||||
# Logitech MX400 Performance Laser Mouse
|
||||
mouse:usb:v046dpc043:name:Logitech USB-PS/2 Optical Mouse:
|
||||
mouse:usb:v046dpc043:name:Logitech USB-PS/2 Optical Mouse:*
|
||||
MOUSE_DPI=800@125
|
||||
|
||||
# Logitech MX1000 Laser Cordless Mouse
|
||||
mouse:usb:v046dpc50e:name:Logitech USB RECEIVER:
|
||||
mouse:usb:v046dpc50e:name:Logitech USB RECEIVER:*
|
||||
MOUSE_DPI=800@125
|
||||
|
||||
# Logitech Cordless Click! Plus
|
||||
mouse:usb:v046dpc50e:name:Logitech USB Receiver:
|
||||
mouse:usb:v046dpc50e:name:Logitech USB Receiver:*
|
||||
MOUSE_DPI=800@125
|
||||
|
||||
# Logitech, Inc. RX 300 Optical Mouse
|
||||
mouse:usb:v046dpc040:name:Logitech USB-PS/2 Optical Mouse:
|
||||
mouse:usb:v046dpc040:name:Logitech USB-PS/2 Optical Mouse:*
|
||||
MOUSE_DPI=800@125
|
||||
|
||||
# Logitech, Inc. RX 250 Optical Mouse
|
||||
mouse:usb:v046dpc050:name:Logitech USB-PS/2 Optical Mouse:
|
||||
mouse:usb:v046dpc050:name:Logitech USB-PS/2 Optical Mouse:*
|
||||
MOUSE_DPI=1000@142
|
||||
|
||||
# Logitech B605 Wireless Mouse (also M505)
|
||||
mouse:usb:v046dp101d:name:Logitech B605:
|
||||
mouse:usb:v046dp101d:name:Logitech M505:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101d:
|
||||
mouse:usb:v046dp101d:name:Logitech B605:*
|
||||
mouse:usb:v046dp101d:name:Logitech M505:*
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101d:*
|
||||
MOUSE_DPI=900@166
|
||||
|
||||
# Logitech Cordless Desktop Wave Mouse
|
||||
mouse:usb:v046dpc517:name:Logitech USB Receiver:
|
||||
mouse:usb:v046dpc517:name:Logitech USB Receiver:*
|
||||
MOUSE_DPI=950@125
|
||||
|
||||
# Logitech RX1000 Laser Mouse
|
||||
mouse:usb:v046dpc046:name:Logitech USB Optical Mouse:
|
||||
mouse:usb:v046dpc046:name:Logitech USB Optical Mouse:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Logitech M100 Optical Mouse
|
||||
mouse:usb:v046dpc05a:name:Logitech USB Optical Mouse:
|
||||
mouse:usb:v046dpc05a:name:Logitech USB Optical Mouse:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Logitech USB Laser Mouse M-U0011-O rebranded as "terra Laser"
|
||||
mouse:usb:v046dpc065:name:Logitech USB Laser Mouse:
|
||||
mouse:usb:v046dpc065:name:Logitech USB Laser Mouse:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Logitech USB Laser Mouse M-U0007 [M500]
|
||||
mouse:usb:v046dpc069:name:Logitech USB Laser Mouse:
|
||||
mouse:usb:v046dpc069:name:Logitech USB Laser Mouse:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Logitech V500 Cordless Notebook Mouse
|
||||
mouse:usb:v046dpc510:name:Logitech USB Receiver:
|
||||
mouse:usb:v046dpc510:name:Logitech USB Receiver:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Logitech M560 Wireless Mouse
|
||||
mouse:usb:v046dp402d:name:Logitech M560:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:402d:
|
||||
mouse:usb:v046dp402d:name:Logitech M560:*
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:402d:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Logitech MK260 Wireless Combo Receiver aka M-R0011
|
||||
mouse:usb:v046dpc52e:name:Logitech USB Receiver:
|
||||
mouse:usb:v046dpc52e:name:Logitech USB Receiver:*
|
||||
MOUSE_DPI=1000@200
|
||||
|
||||
# Logitech USB Laser Mouse M-UAS144 [LS1 Laser Mouse]
|
||||
mouse:usb:v046dpc062:name:Logitech USB Laser Mouse:
|
||||
mouse:usb:v046dpc062:name:Logitech USB Laser Mouse:*
|
||||
MOUSE_DPI=1200@125
|
||||
|
||||
# Logitech T620 (or, the soap)
|
||||
mouse:usb:v046dp4027:name:Logitech T620:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4027:
|
||||
mouse:usb:v046dp4027:name:Logitech T620:*
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4027:*
|
||||
MOUSE_DPI=1200@250
|
||||
|
||||
# Logitech ZoneTouch Mouse T400
|
||||
mouse:usb:v046dp4026:name:Logitech T400:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4026:
|
||||
mouse:usb:v046dp4026:name:Logitech T400:*
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4026:*
|
||||
MOUSE_DPI=1300@166
|
||||
|
||||
# Logitech TrackMan Wheel (USB)
|
||||
mouse:usb:v046dpc404:name:Logitech Trackball:
|
||||
mouse:usb:v046dpc404:name:Logitech Trackball:*
|
||||
MOUSE_DPI=300@125
|
||||
|
||||
# Logitech Ultrathin Touch Mouse
|
||||
mouse:bluetooth:v046dpb00d:name:Ultrathin Touch Mouse:
|
||||
mouse:bluetooth:v046dpb00d:name:Ultrathin Touch Mouse:*
|
||||
MOUSE_DPI=1000@1000
|
||||
|
||||
# ImPS/2 Logitech Wheel Mouse
|
||||
mouse:ps2:*:name:ImPS/2 Logitech Wheel Mouse:
|
||||
mouse:ps2:*:name:ImPS/2 Logitech Wheel Mouse:*
|
||||
MOUSE_DPI=400@100
|
||||
|
||||
# ImExPS/2 Logitech Wheel Mouse
|
||||
mouse:ps2:*:name:ImExPS/2 Logitech Wheel Mouse:
|
||||
mouse:ps2:*:name:ImExPS/2 Logitech Wheel Mouse:*
|
||||
MOUSE_DPI=400@250
|
||||
|
||||
##########################################
|
||||
# Microsoft
|
||||
##########################################
|
||||
|
||||
mouse:usb:v045ep0040:name:Microsoft Microsoft 3-Button Mouse with IntelliEye(TM):
|
||||
mouse:usb:v045ep0040:name:Microsoft Microsoft 3-Button Mouse with IntelliEye(TM):*
|
||||
MOUSE_DPI=400@125
|
||||
|
||||
# Note: unsure that these work, it's likely that all devices on these
|
||||
# receivers show up with the same vid/pid/name
|
||||
|
||||
# Microsoft Wireless Mouse 5000
|
||||
mouse:usb:v045ep0745:name:Microsoft Microsoft® 2.4GHz Transceiver v6.0:
|
||||
mouse:usb:v045ep0745:name:Microsoft Microsoft® 2.4GHz Transceiver v6.0:*
|
||||
MOUSE_DPI=800@142
|
||||
|
||||
# Microsoft Comfort Mouse 4500
|
||||
mouse:usb:v045ep076c:name:Microsoft Microsoft® Comfort Mouse 4500:
|
||||
mouse:usb:v045ep076c:name:Microsoft Microsoft® Comfort Mouse 4500:*
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Microsoft Wireless Mobile Mouse 4000
|
||||
mouse:usb:v045ep0745:name:Microsoft Microsoft® Nano Transceiver v2.0:
|
||||
mouse:usb:v045ep0745:name:Microsoft Microsoft® Nano Transceiver v2.0:*
|
||||
MOUSE_DPI=1000@142
|
||||
|
||||
# Microsoft Sculpt Ergonomic Mouse
|
||||
mouse:usb:v045ep07a5:name:Microsoft Microsoft® 2.4GHz Transceiver v9.0:
|
||||
mouse:usb:v045ep07a5:name:Microsoft Microsoft® 2.4GHz Transceiver v9.0:*
|
||||
MOUSE_DPI=1000@142
|
||||
|
||||
# Microsoft Arc Touch Mouse USB
|
||||
mouse:usb:v045ep07b1:name:Microsoft Microsoft® Nano Transceiver v1.0:
|
||||
mouse:usb:v045ep07b1:name:Microsoft Microsoft® Nano Transceiver v1.0:*
|
||||
MOUSE_DPI=1400@142
|
||||
|
||||
# Microsoft Wireless Laser Mouse 8000
|
||||
mouse:bluetooth:v045ep0702:name:Microsoft Wireless Laser Mouse 8000:
|
||||
mouse:bluetooth:v045ep0702:name:Microsoft Wireless Laser Mouse 8000:*
|
||||
MOUSE_DPI=1000@1000
|
||||
|
||||
# Microsoft Sculpt Comfort Mouse
|
||||
mouse:bluetooth:v045ep07a2:name:Microsoft Sculpt Comfort Mouse:
|
||||
mouse:bluetooth:v045ep07a2:name:Microsoft Sculpt Comfort Mouse:*
|
||||
MOUSE_DPI=1000@2000
|
||||
|
||||
# Microsoft Arc Touch Mouse SE:
|
||||
mouse:bluetooth:v045ep07f3:name:Arc Touch Mouse SE:
|
||||
mouse:bluetooth:v045ep07f3:name:Arc Touch Mouse SE:*
|
||||
MOUSE_DPI=1000@2000
|
||||
|
||||
# Microsoft Surface Mouse
|
||||
mouse:bluetooth:v0000p0000:name:Surface Mouse:
|
||||
mouse:bluetooth:v0000p0000:name:Surface Mouse:*
|
||||
MOUSE_DPI=2000@2000
|
||||
|
||||
# Microsoft Classic IntelliMouse
|
||||
mouse:usb:v045ep0823:name:Microsoft Microsoft?? Classic IntelliMouse??:
|
||||
mouse:usb:v045ep0823:name:Microsoft Microsoft?? Classic IntelliMouse??:*
|
||||
MOUSE_DPI=3200@1000
|
||||
|
||||
##########################################
|
||||
@ -650,7 +656,7 @@ mouse:usb:v045ep0823:name:Microsoft Microsoft?? Classic IntelliMouse??:
|
||||
##########################################
|
||||
|
||||
#Mionix Avior 7000
|
||||
mouse:usb:v22d4p1308:name:Laview Technology Mionix Avior 7000:
|
||||
mouse:usb:v22d4p1308:name:Laview Technology Mionix Avior 7000:*
|
||||
MOUSE_DPI=400@1000 *1600@1000 7000@1000
|
||||
MOUSE_WHEEL_CLICK_ANGLE=15
|
||||
|
||||
@ -659,7 +665,7 @@ mouse:usb:v22d4p1308:name:Laview Technology Mionix Avior 7000:
|
||||
##########################################
|
||||
|
||||
# MODECOM MC-WM4 Wireless Optical Mouse
|
||||
mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:
|
||||
mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:*
|
||||
MOUSE_DPI=*800@126 1600@126
|
||||
|
||||
##########################################
|
||||
@ -667,7 +673,7 @@ mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:
|
||||
##########################################
|
||||
|
||||
# Oklick 406S Bluetooth Laser Mouse
|
||||
mouse:bluetooth:v056ep0061:name:Laser BTmouse:
|
||||
mouse:bluetooth:v056ep0061:name:Laser BTmouse:*
|
||||
MOUSE_DPI=*800@333 1600@333
|
||||
|
||||
##########################################
|
||||
@ -675,7 +681,7 @@ mouse:bluetooth:v056ep0061:name:Laser BTmouse:
|
||||
##########################################
|
||||
|
||||
# P-Active Wireless Mouse PA-27K2
|
||||
mouse:usb:v0425p0101:name:G-Tech CHINA USB Wireless Mouse & KeyBoard V1.01 :
|
||||
mouse:usb:v0425p0101:name:G-Tech CHINA USB Wireless Mouse & KeyBoard V1.01 :*
|
||||
MOUSE_DPI=800@125
|
||||
|
||||
##########################################
|
||||
@ -683,11 +689,11 @@ mouse:usb:v0425p0101:name:G-Tech CHINA USB Wireless Mouse & KeyBoard V1.01 :
|
||||
##########################################
|
||||
|
||||
# Razer Abyssus
|
||||
mouse:usb:v1532p0042:name:Razer Razer Abyssus:
|
||||
mouse:usb:v1532p0042:name:Razer Razer Abyssus:*
|
||||
MOUSE_DPI=1600@1000
|
||||
|
||||
# Razer DeathAdder Black Edition
|
||||
mouse:usb:v1532p0029:name:Razer Razer DeathAdder:
|
||||
mouse:usb:v1532p0029:name:Razer Razer DeathAdder:*
|
||||
MOUSE_DPI=3500@1000
|
||||
|
||||
##########################################
|
||||
@ -695,7 +701,7 @@ mouse:usb:v1532p0029:name:Razer Razer DeathAdder:
|
||||
##########################################
|
||||
|
||||
# Roccat Lua (ROC-11-310)
|
||||
mouse:usb:v1e7dp2c2e:name:ROCCAT ROCCAT Lua:
|
||||
mouse:usb:v1e7dp2c2e:name:ROCCAT ROCCAT Lua:*
|
||||
MOUSE_DPI=250@125 500@125 1000@125 1250@125 1500@125 1750@125 2000@125 250@250 500@250 1000@250 1250@250 1500@250 1750@250 2000@250 250@500 500@500 1000@500 1250@500 1500@500 1750@500 2000@500 250@1000 500@1000 *1000@1000 1250@1000 1500@1000 1750@1000 2000@1000
|
||||
MOUSE_WHEEL_CLICK_ANGLE=15
|
||||
|
||||
@ -704,7 +710,7 @@ mouse:usb:v1e7dp2c2e:name:ROCCAT ROCCAT Lua:
|
||||
##########################################
|
||||
|
||||
# Sharkoon Shark Force Gaming Mouse
|
||||
mouse:usb:v093ap2521:name:USB OPTICAL MOUSE:
|
||||
mouse:usb:v093ap2521:name:USB OPTICAL MOUSE:*
|
||||
MOUSE_DPI=*1000@125 1600@125 600@125
|
||||
|
||||
##########################################
|
||||
@ -712,7 +718,7 @@ mouse:usb:v093ap2521:name:USB OPTICAL MOUSE:
|
||||
##########################################
|
||||
|
||||
# SteelSeries Sensei Raw
|
||||
mouse:usb:v1038p1369:name:SteelSeries Sensei Raw Gaming Mouse:
|
||||
mouse:usb:v1038p1369:name:SteelSeries Sensei Raw Gaming Mouse:*
|
||||
MOUSE_DPI=1000@1022
|
||||
|
||||
##########################################
|
||||
@ -720,7 +726,7 @@ mouse:usb:v1038p1369:name:SteelSeries Sensei Raw Gaming Mouse:
|
||||
##########################################
|
||||
|
||||
# Trust illuminated mouse gxt 152
|
||||
mouse:usb:v145fp01ac:name:HID-compliant Mouse Trust Gaming Mouse:
|
||||
mouse:usb:v145fp01ac:name:HID-compliant Mouse Trust Gaming Mouse:*
|
||||
MOUSE_DPI=*800@528 1200@537 1600@536 2400@521
|
||||
|
||||
##########################################
|
||||
@ -742,7 +748,7 @@ mouse:usb:v3057p0001:*
|
||||
MOUSE_WHEEL_CLICK_ANGLE=23
|
||||
|
||||
# Zowie ZA12
|
||||
mouse:usb:v1af3p0001:name:Kingsis Peripherals ZOWIE Gaming mouse:
|
||||
mouse:usb:v1af3p0001:name:Kingsis Peripherals ZOWIE Gaming mouse:*
|
||||
MOUSE_DPI=400@125 *800@125 1600@125 3200@125 400@500 800@500 1600@500 3200@500 400@1000 800@1000 1600@1000 3200@1000
|
||||
MOUSE_WHEEL_CLICK_COUNT=16
|
||||
MOUSE_WHEEL_CLICK_ANGLE=23
|
||||
|
@ -22,7 +22,7 @@
|
||||
# in /sys/class/input/eventX/device/id.
|
||||
#
|
||||
# - Input driver device name and DMI data match:
|
||||
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
|
||||
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*:*
|
||||
# <input device name> is the name device specified by the driver,
|
||||
# <vendor> is the firmware-provided string from the kernel DMI modalias,
|
||||
# see /sys/class/dmi/id/modalias
|
||||
@ -76,7 +76,6 @@
|
||||
# drivers/input/mouse/trackpoint.c in the Linux kernel sources.
|
||||
#
|
||||
|
||||
#
|
||||
# Sort by brand, model
|
||||
|
||||
#########################################
|
||||
@ -84,23 +83,23 @@
|
||||
#########################################
|
||||
|
||||
# Latitude D620
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeD620*:pvr*
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeD620*:*
|
||||
POINTINGSTICK_CONST_ACCEL=0.5
|
||||
|
||||
# Latitude E5570
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE5570*:pvr*
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE5570*:*
|
||||
POINTINGSTICK_CONST_ACCEL=0.1
|
||||
|
||||
# Latitude E6320
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320*:pvr*
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320*:*
|
||||
POINTINGSTICK_CONST_ACCEL=2.0
|
||||
|
||||
# Latitude E6400
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6400*:pvr*
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6400*:*
|
||||
POINTINGSTICK_CONST_ACCEL=1.5
|
||||
|
||||
# Latitude E7470
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470*:pvr*
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470*:*
|
||||
POINTINGSTICK_CONST_ACCEL=0.6
|
||||
|
||||
#########################################
|
||||
|
@ -63,7 +63,7 @@
|
||||
<tr class="odd"><td>Teracue AG</td><td>TCAG</td><td>12/07/2012</td> </tr>
|
||||
<tr class="even"><td>Texas Instruments</td><td>TXNW</td><td>01/01/2010</td> </tr>
|
||||
<tr class="odd"><td>The Linux Foundation</td><td>LNUX</td><td>04/04/2014</td> </tr>
|
||||
<tr class="even"><td>Toshiba Corporation</td><td>TOSB</td><td>07/07/2015</td> </tr>
|
||||
<tr class="even"><td>Dynabook Inc.</td><td>TOSB</td><td>07/07/2015</td> </tr>
|
||||
<tr class="odd"><td>VAIO Corporation</td><td>VAIO</td><td>04/18/2014</td> </tr>
|
||||
<tr class="even"><td>Validity Sensors, Inc</td><td>VFSI</td><td>06/17/2013</td> </tr>
|
||||
<tr class="odd"><td>Wacom</td><td>WCOM</td><td>11/17/2011</td> </tr>
|
||||
@ -98,6 +98,8 @@
|
||||
<tr class="even"><td>Fujitsu Limited</td><td>FUJI</td><td>06/18/2019</td> </tr>
|
||||
<tr class="odd"><td>Phytium Technology Co. Ltd.</td><td>PHYT</td><td>02/14/2020</td> </tr>
|
||||
<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>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
|
10023
hwdb.d/ma-large.txt
10023
hwdb.d/ma-large.txt
File diff suppressed because it is too large
Load Diff
1027
hwdb.d/ma-medium.txt
1027
hwdb.d/ma-medium.txt
File diff suppressed because it is too large
Load Diff
2273
hwdb.d/ma-small.txt
2273
hwdb.d/ma-small.txt
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
# Those files right now are not supported by the grammar. Also,
|
||||
# they are very long but quite repetitive and the parser is not very fast.
|
||||
@ -42,12 +42,14 @@ if conf.get('ENABLE_HWDB') == 1
|
||||
hwdb_files_test,
|
||||
install_dir : udevhwdbdir)
|
||||
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(join_paths(sysconfdir, 'udev/hwdb.d')))
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(join_paths(sysconfdir, 'udev/hwdb.d')))
|
||||
|
||||
meson.add_install_script('sh', '-c',
|
||||
'test -n "$DESTDIR" || @0@/systemd-hwdb update'
|
||||
.format(rootbindir))
|
||||
meson.add_install_script('sh', '-c',
|
||||
'test -n "$DESTDIR" || @0@/systemd-hwdb update'
|
||||
.format(rootbindir))
|
||||
endif
|
||||
|
||||
if want_tests != 'false'
|
||||
parse_hwdb_py = find_program('parse_hwdb.py')
|
||||
|
@ -32,7 +32,7 @@ try:
|
||||
from pyparsing import (Word, White, Literal, ParserElement, Regex, LineEnd,
|
||||
OneOrMore, Combine, Or, Optional, Suppress, Group,
|
||||
nums, alphanums, printables,
|
||||
stringEnd, pythonStyleComment, QuotedString,
|
||||
stringEnd, pythonStyleComment,
|
||||
ParseBaseException)
|
||||
except ImportError:
|
||||
print('pyparsing is not available')
|
||||
@ -54,7 +54,6 @@ EOL = LineEnd().suppress()
|
||||
EMPTYLINE = LineEnd()
|
||||
COMMENTLINE = pythonStyleComment + EOL
|
||||
INTEGER = Word(nums)
|
||||
STRING = QuotedString('"')
|
||||
REAL = Combine((INTEGER + Optional('.' + Optional(INTEGER))) ^ ('.' + INTEGER))
|
||||
SIGNED_REAL = Combine(Optional(Word('-+')) + REAL)
|
||||
UDEV_TAG = Word(string.ascii_uppercase, alphanums + '_')
|
||||
@ -94,7 +93,8 @@ def hwdb_grammar():
|
||||
matchline = (matchline_typed | matchline_general) + EOL
|
||||
|
||||
propertyline = (White(' ', exact=1).suppress() +
|
||||
Combine(UDEV_TAG - '=' - Word(alphanums + '_=:@*.!-;, "') - Optional(pythonStyleComment)) +
|
||||
Combine(UDEV_TAG - '=' - Optional(Word(alphanums + '_=:@*.!-;, "'))
|
||||
- Optional(pythonStyleComment)) +
|
||||
EOL)
|
||||
propertycomment = White(' ', exact=1) + pythonStyleComment + EOL
|
||||
|
||||
@ -114,6 +114,7 @@ def property_grammar():
|
||||
dpi_setting = (Optional('*')('DEFAULT') + INTEGER('DPI') + Suppress('@') + INTEGER('HZ'))('SETTINGS*')
|
||||
mount_matrix_row = SIGNED_REAL + ',' + SIGNED_REAL + ',' + SIGNED_REAL
|
||||
mount_matrix = (mount_matrix_row + ';' + mount_matrix_row + ';' + mount_matrix_row)('MOUNT_MATRIX')
|
||||
xkb_setting = Optional(Word(alphanums + '+-/@._'))
|
||||
|
||||
props = (('MOUSE_DPI', Group(OneOrMore(dpi_setting))),
|
||||
('MOUSE_WHEEL_CLICK_ANGLE', INTEGER),
|
||||
@ -138,9 +139,9 @@ def property_grammar():
|
||||
('POINTINGSTICK_CONST_ACCEL', REAL),
|
||||
('ID_INPUT_JOYSTICK_INTEGRATION', Or(('internal', 'external'))),
|
||||
('ID_INPUT_TOUCHPAD_INTEGRATION', Or(('internal', 'external'))),
|
||||
('XKB_FIXED_LAYOUT', STRING),
|
||||
('XKB_FIXED_VARIANT', STRING),
|
||||
('XKB_FIXED_MODEL', STRING),
|
||||
('XKB_FIXED_LAYOUT', xkb_setting),
|
||||
('XKB_FIXED_VARIANT', xkb_setting),
|
||||
('XKB_FIXED_MODEL', xkb_setting),
|
||||
('KEYBOARD_LED_NUMLOCK', Literal('0')),
|
||||
('KEYBOARD_LED_CAPSLOCK', Literal('0')),
|
||||
('ACCEL_MOUNT_MATRIX', mount_matrix),
|
||||
|
479
hwdb.d/pci.ids
479
hwdb.d/pci.ids
File diff suppressed because it is too large
Load Diff
@ -2084,7 +2084,7 @@
|
||||
<tr class="even"><td>Torus Systems Ltd</td><td>TRS</td><td>11/29/1996</td> </tr>
|
||||
<tr class="odd"><td>Toshiba America Info Systems Inc</td><td>TAI</td><td>11/29/1996</td> </tr>
|
||||
<tr class="even"><td>Toshiba America Info Systems Inc</td><td>TSB</td><td>11/29/1996</td> </tr>
|
||||
<tr class="odd"><td>Toshiba Corporation</td><td>TOS</td><td>11/29/1996</td> </tr>
|
||||
<tr class="odd"><td>Dynabook Inc.</td><td>TOS</td><td>11/29/1996</td> </tr>
|
||||
<tr class="even"><td>Toshiba Corporation</td><td>TTP</td><td>07/07/2015</td> </tr>
|
||||
<tr class="odd"><td>Toshiba Global Commerce Solutions, Inc.</td><td>TGC</td><td>06/26/2012</td> </tr>
|
||||
<tr class="even"><td>Toshiba Matsushita Display Technology Co., Ltd</td><td>LCD</td><td>05/24/2000</td> </tr>
|
||||
@ -2458,6 +2458,13 @@
|
||||
<tr class="even"><td>TECNART CO.,LTD.</td><td>PIS</td><td>10/22/2019</td> </tr>
|
||||
<tr class="odd"><td>Moxa Inc.</td><td>MHQ</td><td>10/22/2019</td> </tr>
|
||||
<tr class="even"><td>Disguise Technologies</td><td>DSG</td><td>10/22/2019</td> </tr>
|
||||
<tr class="odd"><td>Comark LLC</td><td>CMK</td><td>07/15/2020</td> </tr>
|
||||
<tr class="even"><td>Megapixel Visual Realty</td><td>MPV</td><td>07/15/2020</td> </tr>
|
||||
<tr class="odd"><td>Skyworth</td><td>SKW</td><td>07/15/2020</td> </tr>
|
||||
<tr class="even"><td>Meta View, Inc.</td><td>CFR</td><td>07/15/2020</td> </tr>
|
||||
<tr class="odd"><td>MILCOTS</td><td>MLC</td><td>07/15/2020</td> </tr>
|
||||
<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>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
|
@ -9,8 +9,8 @@
|
||||
# The latest version can be obtained from
|
||||
# http://www.linux-usb.org/usb.ids
|
||||
#
|
||||
# Version: 2020.07.06
|
||||
# Date: 2020-07-06 20:34:08
|
||||
# Version: 2020.08.26
|
||||
# Date: 2020-08-26 20:34:09
|
||||
#
|
||||
|
||||
# Vendors, devices and interfaces. Please keep sorted.
|
||||
@ -469,6 +469,7 @@
|
||||
3111 OfficeJet 4100 series
|
||||
3117 EWS 2605dtn
|
||||
311d Atheros AR9285 Malbec Bluetooth Adapter
|
||||
312a LaserJet Pro M701n
|
||||
3202 PhotoSmart 1215
|
||||
3207 4 GB flash drive
|
||||
3211 OfficeJet 4105 series
|
||||
@ -1373,6 +1374,7 @@
|
||||
3220 Sound Blaster Tactic(3D) Sigma sound card
|
||||
3232 Sound Blaster Premium HD [SBX]
|
||||
3237 SB X-Fi Surround 5.1 Pro
|
||||
3263 SB X-Fi Surround 5.1 Pro
|
||||
3f00 E-Mu Xboard 25 MIDI Controller
|
||||
3f02 E-Mu 0202
|
||||
3f04 E-Mu 0404
|
||||
@ -2917,6 +2919,7 @@
|
||||
c22d G510 Gaming Keyboard
|
||||
c22e G510 Gaming Keyboard onboard audio
|
||||
c231 G13 Virtual Mouse
|
||||
c232 Gaming Virtual Keyboard
|
||||
c245 G400 Optical Mouse
|
||||
c246 Gaming Mouse G300
|
||||
c247 G100S Optical Gaming Mouse
|
||||
@ -3314,6 +3317,7 @@
|
||||
c008 Audio 655 DSP
|
||||
c00e Blackwire C310 headset
|
||||
c03b HD1
|
||||
da60 DA60
|
||||
0480 Toshiba America Inc
|
||||
0001 InTouch Module
|
||||
0004 InTouch Module
|
||||
@ -3423,7 +3427,7 @@
|
||||
048d Integrated Technology Express, Inc.
|
||||
1165 IT1165 Flash Controller
|
||||
1172 Flash Drive
|
||||
1234 Mass storage
|
||||
1234 Chipsbank CBM2199 Flash Drive
|
||||
1336 SD/MMC Cardreader
|
||||
1345 Multi Cardreader
|
||||
8297 IT8297 RGB LED Controller
|
||||
@ -5081,6 +5085,7 @@
|
||||
a050 Chatman V1
|
||||
a052 USB-zyTemp
|
||||
a055 Keyboard
|
||||
a075 Optical Gaming Mouse
|
||||
a096 Keyboard
|
||||
a09f E-Signal LUOM G10 Mechanical Gaming Mouse
|
||||
a100 Mouse [HV-MS735]
|
||||
@ -5472,7 +5477,7 @@
|
||||
685c GT-I9250 Phone [Galaxy Nexus] (Mass storage mode)
|
||||
685d GT-I9100 Phone [Galaxy S II] (Download mode)
|
||||
685e GT-I9100 / GT-C3350 Phones (USB Debugging mode)
|
||||
6860 Galaxy series, misc. (MTP mode)
|
||||
6860 Galaxy A5 (MTP)
|
||||
6863 Galaxy series, misc. (tethering mode)
|
||||
6864 GT-I9070 (network tethering, USB debugging enabled)
|
||||
6865 Galaxy (PTP mode)
|
||||
@ -6418,7 +6423,7 @@
|
||||
1080 NET1080 USB-USB Bridge
|
||||
1200 SSDC Adapter II
|
||||
1265 File-backed Storage Gadget
|
||||
3424 Lumidigm Venus fingerprint sensor
|
||||
3424 V30x/V4xx fingerprint sensor [Lumidigm]
|
||||
a0f0 Cambridge Electronic Devices Power1401 mk 2
|
||||
a140 USB Clik! 40
|
||||
a141 (OME) PocketZip 40 MP3 Player Driver
|
||||
@ -6428,7 +6433,7 @@
|
||||
a4a2 Linux-USB Ethernet/RNDIS Gadget
|
||||
a4a3 Linux-USB user-mode isochronous source/sink
|
||||
a4a4 Linux-USB user-mode bulk source/sink
|
||||
a4a5 Pocketbook Pro 903 / Mobius 2 Action Cam / xDuoo X3
|
||||
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
|
||||
@ -6740,6 +6745,7 @@
|
||||
035b Walkman NWZ-A828
|
||||
035c NWZ-A726/A728/A729
|
||||
035f UP-DR200 Photo Printer
|
||||
0360 M2 Card Reader
|
||||
0382 Memory Stick PRO-HG Duo Adaptor (MSAC-UAH1)
|
||||
0385 Walkman NWZ-E436F
|
||||
0387 IC Recorder (P)
|
||||
@ -7909,6 +7915,7 @@
|
||||
106d Porsche Design Mobile Drive
|
||||
106e Porsche Design Desktop Drive
|
||||
1094 Rugged THB
|
||||
1095 Rugged
|
||||
a601 HardDrive
|
||||
a602 CD R/W
|
||||
05a0 Vetronix Corp.
|
||||
@ -7947,6 +7954,8 @@
|
||||
4001 Bluetooth Headset in DFU mode
|
||||
4002 Bluetooth Headset Series 2
|
||||
4003 Bluetooth Headset Series 2 in DFU mode
|
||||
400d SoundLink Color II speaker in DFU mode
|
||||
40fe SoundLink Color II speaker
|
||||
bc50 SoundLink Wireless Mobile speaker
|
||||
bc51 SoundLink Wireless Mobile speaker in DFU mode
|
||||
05a8 Spacetec IMC Corp.
|
||||
@ -8285,6 +8294,7 @@
|
||||
0361 SunplusIT INC. HP Truevision HD Webcam
|
||||
036e Webcam
|
||||
0374 HP EliteBook integrated HD Webcam
|
||||
038e HP Wide Vision HD integrated webcam
|
||||
03a1 XiaoMi Webcam
|
||||
03b1 Webcam
|
||||
03bc HP Wide Vision HD Integrated Webcam
|
||||
@ -9180,7 +9190,7 @@
|
||||
0610 Onext EG210U MODEM
|
||||
0611 AlDiga AL-11U Quad-band GSM/GPRS/EDGE modem
|
||||
1231 Orico SATA External Hard Disk Drive Lay-Flat Docking Station with USB 3.0 & eSATA interfaces.
|
||||
2303 PL2303 Serial Port
|
||||
2303 PL2303 Serial Port / Mobile Action MA-8910P
|
||||
2305 PL2305 Parallel Port
|
||||
2306 Raylink Bridge Controller
|
||||
2307 PL2307 USB-ATAPI4 Bridge
|
||||
@ -9479,6 +9489,7 @@
|
||||
01c9 OKI B430 Mono Printer
|
||||
020b OKI ES4140 Mono Printer
|
||||
02bb OKI PT390 POS Printer
|
||||
0383 MC563 Multifunction Printer
|
||||
0a91 B2500MFP (printer+scanner)
|
||||
3801 B6100 Laser Printer
|
||||
06bd AGFA-Gevaert NV
|
||||
@ -10321,6 +10332,7 @@
|
||||
b4b5 SDDR-89 V4 ImageMate 12-in-1 Reader
|
||||
b6b7 SDDR-99 V4 ImageMate 5-in-1 Reader
|
||||
b6ba CF SDDR-289
|
||||
cfc9 SDDR-489 ImageMate Pro Reader
|
||||
0782 Trackerball
|
||||
0783 C3PO
|
||||
0003 LTC31 SmartCard Reader
|
||||
@ -11997,6 +12009,7 @@
|
||||
0968 Catalyst Enterprises, Inc.
|
||||
096e Feitian Technologies, Inc.
|
||||
0005 ePass2000
|
||||
0006 HID Dongle (for OEMs - manufacturer string is "OEM")
|
||||
0120 Microcosm Ltd Dinkey
|
||||
0305 ePass2000Auto
|
||||
0309 ePass3000GM
|
||||
@ -12459,6 +12472,7 @@
|
||||
0a5f Zebra
|
||||
0009 LP2844 Printer
|
||||
0050 P120i / WM120i
|
||||
0080 GK420d Label Printer
|
||||
0081 GK420t Label Printer
|
||||
0084 GX420d Desktop Label Printer
|
||||
008b HC100 wristbands Printer
|
||||
@ -12498,6 +12512,7 @@
|
||||
ff01 Wireless Missile Launcher
|
||||
0a82 Syscan
|
||||
4600 TravelScan 460/464
|
||||
6605 ScanShell 800N
|
||||
0a83 NextComm, Inc.
|
||||
0a84 Maui Innovative Peripherals
|
||||
0a85 Idexx Labs
|
||||
@ -13489,6 +13504,7 @@
|
||||
b728 RTL8723B Bluetooth
|
||||
b72a RTL8723B Bluetooth
|
||||
b812 RTL88x2bu [AC1200 Techkey]
|
||||
f179 RTL8188FTV 802.11b/g/n 1T1R 2.4G WLAN Adapter
|
||||
0bdb Ericsson Business Mobile Networks BV
|
||||
1000 BV Bluetooth Device
|
||||
1002 Bluetooth Device 1.2
|
||||
@ -13643,6 +13659,8 @@
|
||||
0c3c Radius Co., Ltd
|
||||
0c3d Innocom, Inc.
|
||||
0c3e Nextcell, Inc.
|
||||
0c40 ELMCU
|
||||
8000 2.4GHz receiver
|
||||
0c44 Motorola iDEN
|
||||
0021 iDEN P2k0 Device
|
||||
0022 iDEN P2k1 Device
|
||||
@ -13675,6 +13693,7 @@
|
||||
1158 A56AK
|
||||
184c VoIP Phone
|
||||
1a90 2M pixel Microscope Camera (with capture button) [Andonstar V160]
|
||||
5004 Redragon Mitra RGB Keyboard
|
||||
5101 2.4G Wireless Device [Rii MX3]
|
||||
6001 Genius VideoCAM NB
|
||||
6005 Sweex Mini Webcam
|
||||
@ -15140,15 +15159,17 @@
|
||||
0f69 Dionex Corp.
|
||||
0f6a Vibren Technologies, Inc.
|
||||
0f6e INTELLIGENT SYSTEMS
|
||||
0100 GameBoy Color Emulator
|
||||
0100 IS-CGB-EMULATOR
|
||||
0201 GameBoy Advance Flash Gang Writer
|
||||
0202 GameBoy Advance Capture
|
||||
0300 Gamecube DOL Viewer
|
||||
0400 NDS Emulator
|
||||
0401 NDS UIC
|
||||
0402 NDS Writer
|
||||
0403 NDS Capture
|
||||
0404 NDS Emulator (Lite)
|
||||
0202 IS-AGB-CAPTURE
|
||||
0300 IS-DOL-VIEWER
|
||||
0400 IS-NITRO-EMULATOR
|
||||
0401 IS-NITRO-UIC
|
||||
0402 IS-NITRO-WRITER
|
||||
0403 IS-NITRO-CAPTURE
|
||||
0404 IS-NITRO-EMULATOR (DS Lite)
|
||||
0500 IS-TWL-DEBUGGER
|
||||
0501 IS-TWL-CAPTURE
|
||||
0f73 DFI
|
||||
0f78 Guntermann & Drunck GmbH
|
||||
0f7c DQ Technology, Inc.
|
||||
@ -17599,6 +17620,7 @@
|
||||
1501 Pine-Tum Enterprise Co., Ltd.
|
||||
1504 Bixolon CO LTD
|
||||
001f SRP-350II Thermal Receipt Printer
|
||||
1508 Fibocom
|
||||
1509 First International Computer, Inc.
|
||||
0a01 LI-3100 Area Meter
|
||||
0a02 LI-7000 CO2/H2O Gas Analyzer
|
||||
@ -17772,6 +17794,7 @@
|
||||
004a RZ03-0133 Gaming Lapboard, Keyboard Mouse Combo, Dongle [Turret Dongle]
|
||||
004c Diamondback Chroma
|
||||
004d DeathAdder 2000 (Cynosa Pro Bundle)
|
||||
004f RZ01-0145, Gaming Mouse [DeathAdder 2000 (Alternate)]
|
||||
0050 Naga Hex V2
|
||||
0053 Naga Chroma
|
||||
0054 DeathAdder 3500
|
||||
@ -17802,9 +17825,12 @@
|
||||
007a RC30-0305 Gaming Mouse [Viper Ultimate (Wired)]
|
||||
007b RC30-0305 Gaming Mouse Dongle [Viper Ultimate (Wireless)]
|
||||
007e RC30-030502 Mouse Dock
|
||||
0083 RC30-0315, Gaming Mouse [Basilisk X HyperSpeed]
|
||||
0084 RZ01-0321 Gaming Mouse [DeathAdder V2]
|
||||
0085 RZ01-0316 Gaming Mouse [Basilisk V2]
|
||||
0088 Razer Basilisk Ultimate Dongle
|
||||
0086 Gaming Mouse [Basilisk Ultimate, Wired]
|
||||
0088 Gaming Mouse [Basilisk Ultimate, Wireless, Receiver]
|
||||
008a RZ01-0325, Gaming Mouse [Viper Mini]
|
||||
0101 Copperhead Mouse
|
||||
0102 Tarantula Keyboard
|
||||
0103 Gaming Keyboard [Reclusa]
|
||||
@ -17882,6 +17908,8 @@
|
||||
024d Blade 15 Studio Edition (2019)
|
||||
0253 RZ09-0330, Gaming Laptop [Blade 15 Advanced (Early 2020)]
|
||||
0255 RZ09-0328, Gaming Laptop [Blade 15 Base Model (2020)]
|
||||
0256 RZ09--0329, Gaming Laptop [Blade Pro 17 Full HD (2020)]
|
||||
025d RZ03-0338, Gaming Keyboard [Ornata V2]
|
||||
0300 RZ06-0063 Motion Sensing Controllers [Hydra]
|
||||
0401 Gaming Arcade Stick [Panthera]
|
||||
0501 Kraken 7.1
|
||||
@ -17896,6 +17924,8 @@
|
||||
051a Nari Ultimate
|
||||
051c Nari (Wireless)
|
||||
051d Nari (Wired)
|
||||
051e RC30-026902, Gaming Headset [Nari Essential, Wireless, Receiver]
|
||||
051f RC30-026901, Gaming Headset [Nari Essential, Wired]
|
||||
0520 Kraken Tournament Edition
|
||||
0521 Kraken Kitty Edition
|
||||
0527 RZ04-0318 Gaming Headset [Kraken Ultimate]
|
||||
@ -17903,6 +17933,7 @@
|
||||
0a00 Atrox Arcade Stick for Xbox One
|
||||
0a02 ManO'War
|
||||
0a03 Wildcat
|
||||
0a15 RZ06-0199, Gaming Controller [Wolverine Tournament Edition]
|
||||
0c00 RZ02-0135 Hard Gaming Mouse Mat [Firefly]
|
||||
0c01 Goliathus
|
||||
0c02 Goliathus Extended
|
||||
@ -18105,6 +18136,11 @@
|
||||
8007 US-122 Audio/Midi Interface
|
||||
1605 ACCES I/O Products, Inc.
|
||||
0001 DIO-32 (No Firmware Yet)
|
||||
0002 USB-DIO-48 (No Firmware Yet)
|
||||
0003 USB-DIO-96 (No Firmware Yet)
|
||||
0004 USB-DIO-32I (No Firmware Yet)
|
||||
0005 USB-DIO24 (based on -CTR6) (No Firmware Yet)
|
||||
0006 USB-DIO24-CTR6 (No Firmware Yet)
|
||||
1606 Umax
|
||||
0002 Astra 1236U Scanner
|
||||
0010 Astra 1220U
|
||||
|
@ -2,7 +2,7 @@
|
||||
<!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||
<refentry id="binfmt.d" conditional='ENABLE_BINFMT'
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
||||
|
130
man/bootctl.xml
130
man/bootctl.xml
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||
|
||||
<refentry id="bootctl" conditional='ENABLE_EFI'
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
@ -17,7 +17,7 @@
|
||||
|
||||
<refnamediv>
|
||||
<refname>bootctl</refname>
|
||||
<refpurpose>Control the firmware and boot manager settings</refpurpose>
|
||||
<refpurpose>Control EFI firmware boot settings and manage boot loader</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
@ -31,16 +31,18 @@
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><command>bootctl</command> can check the EFI boot loader status, list available boot loaders and boot loader
|
||||
entries, and install, update, or remove the
|
||||
<citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry> boot loader on the
|
||||
current system.</para>
|
||||
<para><command>bootctl</command> can check the EFI firmware and boot loader status, list and manage
|
||||
available boot loaders and boot loader entries, and install, update, or remove the
|
||||
<citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry> boot
|
||||
loader on the current system.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Commands</title>
|
||||
<variablelist>
|
||||
<title>Generic EFI Firmware/Boot Loader Commands</title>
|
||||
|
||||
<para>These commands are available on any EFI system, regardless of the boot loader used.</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><option>status</option></term>
|
||||
|
||||
@ -49,7 +51,80 @@
|
||||
loaders and the current default boot loader entry. If no command is specified, this is the implied
|
||||
default.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>reboot-to-firmware</option> <optional><replaceable>BOOL</replaceable></optional></term>
|
||||
|
||||
<listitem><para>Query or set the "Reboot-Into-Firmware-Setup" flag of the EFI firmware. Takes a
|
||||
boolean argument which controls whether to show the firmware setup on next system reboot. If the
|
||||
argument is omitted shows the current status of the flag, or whether the flag is supported. This
|
||||
controls the same flag as <command>systemctl reboot --firmware-setup</command>, but is more
|
||||
low-level and allows setting the flag independently from actually requesting a
|
||||
reboot.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>systemd-efi-options</option> <optional><replaceable>STRING</replaceable></optional></term>
|
||||
|
||||
<listitem><para>When called without the optional argument, prints the current value of the
|
||||
<literal>SystemdOptions</literal> EFI variable. When called with an argument, sets the
|
||||
variable to that value. See
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
for the meaning of that variable.</para></listitem>
|
||||
</varlistentry>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Boot Loader Specification Commands</title>
|
||||
|
||||
<para>These commands are available for all boot loaders that implement the <ulink
|
||||
url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader Specification</ulink> and/or the <ulink
|
||||
url="https://systemd.io/BOOT_LOADER_INTERFACE">Boot Loader Interface</ulink>, such as
|
||||
<command>systemd-boot</command>.</para>
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>list</option></term>
|
||||
|
||||
<listitem><para>Shows all available boot loader entries implementing the <ulink
|
||||
url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader Specification</ulink>, as well as any
|
||||
other entries discovered or automatically generated by a boot loader implementing the <ulink
|
||||
url="https://systemd.io/BOOT_LOADER_INTERFACE">Boot Loader
|
||||
Interface</ulink>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>set-default</option> <replaceable>ID</replaceable></term>
|
||||
<term><option>set-oneshot</option> <replaceable>ID</replaceable></term>
|
||||
|
||||
<listitem><para>Sets the default boot loader entry. Takes a single boot loader entry ID string as
|
||||
argument. The <option>set-oneshot</option> command will set the default entry only for the next boot,
|
||||
the <option>set-default</option> will set it persistently for all future boots.</para></listitem>
|
||||
|
||||
<listitem><para>Optionally, the boot loader entry ID may be specified as one of: <option>@default</option>,
|
||||
<option>@oneshot</option> or <option>@current</option>, which correspond to the current default boot loader
|
||||
entry for all future boots, the current default boot loader entry for the next boot, and the currently booted
|
||||
boot loader entry. These special IDs are resolved to the current values of the EFI variables
|
||||
<varname>LoaderEntryDefault</varname>, <varname>LoaderEntryOneShot</varname> and <varname>LoaderEntrySelected</varname>,
|
||||
see <ulink url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader Specification</ulink> for details.
|
||||
These special IDs are primarily useful as a quick way to persistently make the currently booted boot loader
|
||||
entry the default choice, or to upgrade the default boot loader entry for the next boot to the default boot
|
||||
loader entry for all future boots, but may be used for other operations too.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title><command>systemd-boot</command> Commands</title>
|
||||
|
||||
<para>These commands manage the <command>systemd-boot</command> EFI boot loader, and do not work in
|
||||
conjunction with other boot loaders.</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><option>install</option></term>
|
||||
|
||||
@ -101,45 +176,6 @@
|
||||
information.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>systemd-efi-options</option> <optional><replaceable>STRING</replaceable></optional></term>
|
||||
|
||||
<listitem><para>When called without the optional argument, prints the current value of the
|
||||
<literal>SystemdOptions</literal> EFI variable. When called with an argument, sets the
|
||||
variable to that value. See
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
for the meaning of that variable.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>reboot-to-firmware</option> <optional><replaceable>BOOL</replaceable></optional></term>
|
||||
|
||||
<listitem><para>Query or set the "Reboot-Into-Firmware-Setup" flag of the EFI firmware. Takes a
|
||||
boolean argument which controls whether to show the firmware setup on next system reboot. If the
|
||||
argument is omitted shows the current status of the flag, or whether the flag is supported. This
|
||||
controls the same flag as <command>systemctl reboot --firmware-setup</command>, but is more
|
||||
low-level and allows setting the flag independently from actually requesting a
|
||||
reboot.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>list</option></term>
|
||||
|
||||
<listitem><para>Shows all available boot loader entries implementing the <ulink
|
||||
url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader
|
||||
Specification</ulink>, as well as any other entries discovered or automatically generated by the boot
|
||||
loader.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>set-default</option> <replaceable>ID</replaceable></term>
|
||||
<term><option>set-oneshot</option> <replaceable>ID</replaceable></term>
|
||||
|
||||
<listitem><para>Sets the default boot loader entry. Takes a single boot loader entry ID string as argument. The
|
||||
<option>set-oneshot</option> command will set the default entry only for the next boot, the
|
||||
<option>set-default</option> will set it persistently for all future boots.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||
|
||||
<refentry id="bootup">
|
||||
|
||||
@ -227,7 +227,7 @@ emergency.service | | |
|
||||
<filename>initrd-root-fs.target</filename> is reached. The service
|
||||
<filename>initrd-parse-etc.service</filename> scans
|
||||
<filename>/sysroot/etc/fstab</filename> for a possible
|
||||
<filename>/usr</filename> mount point and additional entries
|
||||
<filename>/usr/</filename> mount point and additional entries
|
||||
marked with the <emphasis>x-initrd.mount</emphasis> option. All
|
||||
entries found are mounted below <filename>/sysroot</filename>, and
|
||||
<filename>initrd-fs.target</filename> is reached. The service
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||
|
||||
<refentry id="busctl"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
@ -357,9 +357,9 @@
|
||||
<para>Controls whether credential data reported by
|
||||
<command>list</command> or <command>status</command> shall
|
||||
be augmented with data from
|
||||
<filename>/proc</filename>. When this is turned on, the data
|
||||
<filename>/proc/</filename>. When this is turned on, the data
|
||||
shown is possibly inconsistent, as the data read from
|
||||
<filename>/proc</filename> might be more recent than the rest of
|
||||
<filename>/proc/</filename> might be more recent than the rest of
|
||||
the credential information. Defaults to <literal>yes</literal>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||
|
||||
<refentry id="coredump.conf" conditional="ENABLE_COREDUMP"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||
|
||||
<refentry id="coredumpctl" conditional='ENABLE_COREDUMP'
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
@ -3,7 +3,7 @@
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<!--
|
||||
SPDX-License-Identifier: LGPL-2.1+
|
||||
SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
This is based on crypttab(5) from Fedora's initscripts package, which in
|
||||
turn is based on Debian's version.
|
||||
@ -60,10 +60,10 @@
|
||||
device or file, or a specification of a block device via
|
||||
<literal>UUID=</literal> followed by the UUID.</para>
|
||||
|
||||
<para>The third field specifies an absolute path to a file to read the encryption key from. Optionally,
|
||||
<para>The third field specifies an absolute path to a file with the encryption key. Optionally,
|
||||
the path may be followed by <literal>:</literal> and an fstab device specification (e.g. starting with
|
||||
<literal>LABEL=</literal> or similar); in which case, the path is relative to the device file system
|
||||
root. If the field is not present or set to <literal>none</literal> or <literal>-</literal>, a key file
|
||||
<literal>LABEL=</literal> or similar); in which case the path is taken relative to the device file system
|
||||
root. If the field is not present or is <literal>none</literal> or <literal>-</literal>, a key file
|
||||
named after the volume to unlock (i.e. the first column of the line), suffixed with
|
||||
<filename>.key</filename> is automatically loaded from the <filename>/etc/cryptsetup-keys.d/</filename>
|
||||
and <filename>/run/cryptsetup-keys.d/</filename> directories, if present. Otherwise, the password has to
|
||||
@ -78,12 +78,12 @@
|
||||
<varlistentry>
|
||||
<term><option>cipher=</option></term>
|
||||
|
||||
<listitem><para>Specifies the cipher to use. See
|
||||
<citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
for possible values and the default value of this option. A
|
||||
cipher with unpredictable IV values, such as
|
||||
<literal>aes-cbc-essiv:sha256</literal>, is
|
||||
recommended.</para></listitem>
|
||||
<listitem><para>Specifies the cipher to use. See <citerefentry
|
||||
project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
for possible values and the default value of this option. A cipher with unpredictable IV values, such
|
||||
as <literal>aes-cbc-essiv:sha256</literal>, is recommended. Embedded commas in the cipher
|
||||
specification need to be escaped by preceding them with a backslash, see example below.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -112,7 +112,12 @@
|
||||
relevant for LUKS devices. See
|
||||
<citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
for possible values and the default value of this
|
||||
option.</para></listitem>
|
||||
option.</para>
|
||||
|
||||
<para>Optionally, the path may be followed by <literal>:</literal> and an fstab device specification
|
||||
(e.g. starting with <literal>UUID=</literal> or similar); in which case, the path is relative to the
|
||||
device file system root. The device gets mounted automatically for LUKS device activation duration only.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -498,15 +503,17 @@
|
||||
<title>Examples</title>
|
||||
<example>
|
||||
<title>/etc/crypttab example</title>
|
||||
<para>Set up four encrypted block devices. One using LUKS for
|
||||
normal storage, another one for usage as a swap device and two
|
||||
TrueCrypt volumes.</para>
|
||||
<para>Set up four encrypted block devices. One using LUKS for normal storage, another one for usage as
|
||||
a swap device and two TrueCrypt volumes. For the fourth device, the option string is interpreted as two
|
||||
options <literal>cipher=xchacha12,aes-adiantum-plain64</literal>,
|
||||
<literal>keyfile-timeout=10s</literal>.</para>
|
||||
|
||||
<programlisting>luks UUID=2505567a-9e27-4efe-a4d5-15ad146c258b
|
||||
swap /dev/sda7 /dev/urandom swap
|
||||
truecrypt /dev/sda2 /etc/container_password tcrypt
|
||||
hidden /mnt/tc_hidden /dev/null tcrypt-hidden,tcrypt-keyfile=/etc/keyfile
|
||||
external /dev/sda3 keyfile:LABEL=keydev keyfile-timeout=10s</programlisting>
|
||||
external /dev/sda3 keyfile:LABEL=keydev keyfile-timeout=10s,cipher=xchacha12\,aes-adiantum-plain64
|
||||
</programlisting>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
|
@ -11,3 +11,5 @@
|
||||
<!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">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
|
||||
<!--
|
||||
SPDX-License-Identifier: LGPL-2.1+
|
||||
SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
-->
|
||||
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0'?> <!--*-nxml-*-->
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||
|
||||
<refentry id="daemon">
|
||||
|
||||
@ -448,37 +448,27 @@
|
||||
<refsect2>
|
||||
<title>Other Forms of Activation</title>
|
||||
|
||||
<para>Other forms of activation have been suggested and
|
||||
implemented in some systems. However, there are often simpler or
|
||||
better alternatives, or they can be put together of combinations
|
||||
of the schemes above. Example: Sometimes, it appears useful to
|
||||
start daemons or <filename>.socket</filename> units when a
|
||||
specific IP address is configured on a network interface,
|
||||
because network sockets shall be bound to the address. However,
|
||||
an alternative to implement this is by utilizing the Linux
|
||||
<constant>IP_FREEBIND</constant> socket option, as accessible
|
||||
via <varname>FreeBind=yes</varname> in systemd socket files (see
|
||||
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
for details). This option, when enabled, allows sockets to be
|
||||
bound to a non-local, not configured IP address, and hence
|
||||
allows bindings to a particular IP address before it actually
|
||||
becomes available, making such an explicit dependency to the
|
||||
configured address redundant. Another often suggested trigger
|
||||
for service activation is low system load. However, here too, a
|
||||
more convincing approach might be to make proper use of features
|
||||
of the operating system, in particular, the CPU or I/O scheduler
|
||||
of Linux. Instead of scheduling jobs from userspace based on
|
||||
monitoring the OS scheduler, it is advisable to leave the
|
||||
scheduling of processes to the OS scheduler itself. systemd
|
||||
provides fine-grained access to the CPU and I/O schedulers. If a
|
||||
process executed by the init system shall not negatively impact
|
||||
the amount of CPU or I/O bandwidth available to other processes,
|
||||
it should be configured with
|
||||
<para>Other forms of activation have been suggested and implemented in some systems. However, there are
|
||||
often simpler or better alternatives, or they can be put together of combinations of the schemes
|
||||
above. Example: Sometimes, it appears useful to start daemons or <filename>.socket</filename> units
|
||||
when a specific IP address is configured on a network interface, because network sockets shall be bound
|
||||
to the address. However, an alternative to implement this is by utilizing the Linux
|
||||
<constant>IP_FREEBIND</constant>/<constant>IPV6_FREEBIND</constant> socket option, as accessible via
|
||||
<varname>FreeBind=yes</varname> in systemd socket files (see
|
||||
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
|
||||
details). This option, when enabled, allows sockets to be bound to a non-local, not configured IP
|
||||
address, and hence allows bindings to a particular IP address before it actually becomes available,
|
||||
making such an explicit dependency to the configured address redundant. Another often suggested trigger
|
||||
for service activation is low system load. However, here too, a more convincing approach might be to
|
||||
make proper use of features of the operating system, in particular, the CPU or I/O scheduler of
|
||||
Linux. Instead of scheduling jobs from userspace based on monitoring the OS scheduler, it is advisable
|
||||
to leave the scheduling of processes to the OS scheduler itself. systemd provides fine-grained access
|
||||
to the CPU and I/O schedulers. If a process executed by the init system shall not negatively impact the
|
||||
amount of CPU or I/O bandwidth available to other processes, it should be configured with
|
||||
<varname>CPUSchedulingPolicy=idle</varname> and/or
|
||||
<varname>IOSchedulingClass=idle</varname>. Optionally, this may
|
||||
be combined with timer-based activation to schedule background
|
||||
jobs during runtime and with minimal impact on the system, and
|
||||
remove it from the boot phase itself.</para>
|
||||
<varname>IOSchedulingClass=idle</varname>. Optionally, this may be combined with timer-based activation
|
||||
to schedule background jobs during runtime and with minimal impact on the system, and remove it from
|
||||
the boot phase itself.</para>
|
||||
</refsect2>
|
||||
|
||||
</refsect1>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||
|
||||
<refentry id="systemd.directives">
|
||||
<refentryinfo>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0'?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
|
||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
||||
|
||||
<refentry id="dnssec-trust-anchors.d" conditional='ENABLE_RESOLVE'
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
@ -138,7 +138,17 @@
|
||||
and follow the same overriding rules. They are text files with the
|
||||
<filename>.negative</filename> suffix. Empty lines and lines whose first character is
|
||||
<literal>;</literal> are ignored. Each line specifies one domain name which is the root of a DNS
|
||||
subtree where validation shall be disabled.</para>
|
||||
subtree where validation shall be disabled. For example:</para>
|
||||
|
||||
<programlisting># Reverse IPv4 mappings
|
||||
10.in-addr.arpa
|
||||
16.172.in-addr.arpa
|
||||
168.192.in-addr.arpa
|
||||
...
|
||||
# Some custom domains
|
||||
prod
|
||||
stag
|
||||
</programlisting>
|
||||
|
||||
<para>Negative trust anchors are useful to support private DNS
|
||||
subtrees that are not referenced from the Internet DNS hierarchy,
|
||||
|
@ -3,7 +3,7 @@
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<!--
|
||||
SPDX-License-Identifier: LGPL-2.1+
|
||||
SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
Copyright © 2016 Red Hat, Inc.
|
||||
-->
|
||||
@ -76,7 +76,7 @@
|
||||
<title>Setup environment to allow access to a program installed in
|
||||
<filename index="false">/opt/foo</filename></title>
|
||||
|
||||
<para><filename>/etc/environment.d/60-foo.conf</filename>:
|
||||
<para><filename index="false">/etc/environment.d/60-foo.conf</filename>:
|
||||
</para>
|
||||
<programlisting>
|
||||
FOO_DEBUG=force-software-gl,log-verbose
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user