mirror of
https://github.com/systemd/systemd
synced 2025-10-03 18:54:45 +02:00
Compare commits
156 Commits
1d51b4d092
...
41c14f9d43
Author | SHA1 | Date | |
---|---|---|---|
![]() |
41c14f9d43 | ||
![]() |
fdf432a3e2 | ||
![]() |
8b53006a2f | ||
![]() |
404e780e43 | ||
![]() |
758ece3aaf | ||
![]() |
2da9cc0d13 | ||
![]() |
fb4d33dea4 | ||
![]() |
9fee00f713 | ||
![]() |
2e64ec5c57 | ||
![]() |
1047105007 | ||
![]() |
f50ffbe8eb | ||
![]() |
0766ae3221 | ||
![]() |
8d5fe6f1b7 | ||
![]() |
fe70740487 | ||
![]() |
b1c01d6e05 | ||
![]() |
41625e466d | ||
![]() |
728c50bb59 | ||
![]() |
97db82d490 | ||
![]() |
027635da7d | ||
![]() |
04795cbe78 | ||
![]() |
2562ee4ed3 | ||
![]() |
671fcff62d | ||
![]() |
a9ddd6f8ec | ||
![]() |
3c7acb6c0d | ||
![]() |
927a2b4f24 | ||
![]() |
66dc5e9dfc | ||
![]() |
4a8dfc39da | ||
![]() |
004c6a0cf4 | ||
![]() |
d01d605cfe | ||
![]() |
c41ba1a6ae | ||
![]() |
3d2b8c8f16 | ||
![]() |
5ca0ce26f3 | ||
![]() |
e1c879c492 | ||
![]() |
805888bad5 | ||
![]() |
c5f172f9d6 | ||
![]() |
518fa89e57 | ||
![]() |
caa5629c55 | ||
![]() |
12b3ac3d17 | ||
![]() |
8f7c6b1c16 | ||
![]() |
c967103c2b | ||
![]() |
847f3345e0 | ||
![]() |
48b404d79f | ||
![]() |
2a2cbc4927 | ||
![]() |
32d6e7f1f4 | ||
![]() |
d5a02fdf07 | ||
![]() |
bf361faa77 | ||
![]() |
63e97d38aa | ||
![]() |
c9ead09b19 | ||
![]() |
478372c77c | ||
![]() |
76485dc46c | ||
![]() |
ab28134b2f | ||
![]() |
7e7a50dcfc | ||
![]() |
4172d2ac0c | ||
![]() |
8685264b7a | ||
![]() |
fd0c6c5374 | ||
![]() |
514ce7b2af | ||
![]() |
2136ab5a1b | ||
![]() |
c9aa11cb73 | ||
![]() |
5c173e44b0 | ||
![]() |
30fe94f419 | ||
![]() |
761e6285a0 | ||
![]() |
8a356528dd | ||
![]() |
f7fdba8c6e | ||
![]() |
967e69128a | ||
![]() |
e33bfaaa4b | ||
![]() |
0855934d53 | ||
![]() |
8dbeff4cd2 | ||
![]() |
ddad448545 | ||
![]() |
22852e58e5 | ||
![]() |
991fd4fa6a | ||
![]() |
5ef4bea7ab | ||
![]() |
fd989f14eb | ||
![]() |
05087c6ec3 | ||
![]() |
981d2ad649 | ||
![]() |
2548191e9d | ||
![]() |
4a2207cf0f | ||
![]() |
fb2d08c83a | ||
![]() |
aa3be6f641 | ||
![]() |
e142b0fb3e | ||
![]() |
a61000c0d9 | ||
![]() |
efd7c5c523 | ||
![]() |
80a6ff4b38 | ||
![]() |
1daf45d3e4 | ||
![]() |
8015fd3dc9 | ||
![]() |
8d3d57d352 | ||
![]() |
f36979b09a | ||
![]() |
d00ceb8795 | ||
![]() |
144aff77c6 | ||
![]() |
d0e81f6497 | ||
![]() |
36a22a9f96 | ||
![]() |
743e10603a | ||
![]() |
d67dec6708 | ||
![]() |
59f3caf4ff | ||
![]() |
2ca7d5e5f9 | ||
![]() |
1aa50505e6 | ||
![]() |
04f6281432 | ||
![]() |
515f4699e0 | ||
![]() |
25ac624d3f | ||
![]() |
e35d1a1b9a | ||
![]() |
3dfd0d1aac | ||
![]() |
f8355daea3 | ||
![]() |
f6893a829a | ||
![]() |
25b357667f | ||
![]() |
1af3582591 | ||
![]() |
2fb0cb64c3 | ||
![]() |
842e9265cc | ||
![]() |
711be3b096 | ||
![]() |
422e0dc44f | ||
![]() |
dd28a9ab6e | ||
![]() |
e398726bc4 | ||
![]() |
bc4a408804 | ||
![]() |
e06e5a735f | ||
![]() |
35783f84b7 | ||
![]() |
5a70dc3a19 | ||
![]() |
1b84de59a1 | ||
![]() |
6e6bdae90f | ||
![]() |
a998c69721 | ||
![]() |
f7f6a7a98c | ||
![]() |
03b75bdf5d | ||
![]() |
52f71132e1 | ||
![]() |
82f3be942f | ||
![]() |
d25a3b2334 | ||
![]() |
3433b3726d | ||
![]() |
2d868e611d | ||
![]() |
db3bbabf48 | ||
![]() |
4f7eba7662 | ||
![]() |
b51210792e | ||
![]() |
5a0231287f | ||
![]() |
22ed6440ac | ||
![]() |
78421f6186 | ||
![]() |
1e1b54ad6d | ||
![]() |
c75647c693 | ||
![]() |
cc0738ac9e | ||
![]() |
e433a4294a | ||
![]() |
4dc006fca9 | ||
![]() |
554f52ce10 | ||
![]() |
081b086c96 | ||
![]() |
192beebe6a | ||
![]() |
c973a96b83 | ||
![]() |
b9a6d1078b | ||
![]() |
71411cdade | ||
![]() |
0b7c24a40e | ||
![]() |
e00ef5377c | ||
![]() |
f1f93821f3 | ||
![]() |
e10d0d7f66 | ||
![]() |
42f2f76482 | ||
![]() |
696af692ff | ||
![]() |
3466d535f0 | ||
![]() |
12a455db36 | ||
![]() |
c244217309 | ||
![]() |
f6d6c1ce6e | ||
![]() |
1cd87b4870 | ||
![]() |
10bce0209f | ||
![]() |
8b7b34c2a6 | ||
![]() |
03ad588e25 | ||
![]() |
b8cea2e46a |
@ -27,6 +27,7 @@ PACKAGES=(
|
|||||||
isc-dhcp-client
|
isc-dhcp-client
|
||||||
itstool
|
itstool
|
||||||
kbd
|
kbd
|
||||||
|
libarchive-dev
|
||||||
libblkid-dev
|
libblkid-dev
|
||||||
libbpf-dev
|
libbpf-dev
|
||||||
libcap-dev
|
libcap-dev
|
||||||
@ -43,7 +44,6 @@ PACKAGES=(
|
|||||||
libqrencode-dev
|
libqrencode-dev
|
||||||
libssl-dev
|
libssl-dev
|
||||||
libtss2-dev
|
libtss2-dev
|
||||||
libxen-dev
|
|
||||||
libxkbcommon-dev
|
libxkbcommon-dev
|
||||||
libxtables-dev
|
libxtables-dev
|
||||||
libzstd-dev
|
libzstd-dev
|
||||||
@ -70,6 +70,10 @@ LINKER="${LINKER:?}"
|
|||||||
CRYPTOLIB="${CRYPTOLIB:?}"
|
CRYPTOLIB="${CRYPTOLIB:?}"
|
||||||
RELEASE="$(lsb_release -cs)"
|
RELEASE="$(lsb_release -cs)"
|
||||||
|
|
||||||
|
if [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "x86_64" ]; then
|
||||||
|
PACKAGES+=(libxen-dev)
|
||||||
|
fi
|
||||||
|
|
||||||
# Note: As we use postfixed clang/gcc binaries, we need to override $AR
|
# Note: As we use postfixed clang/gcc binaries, we need to override $AR
|
||||||
# as well, otherwise meson falls back to ar from binutils which
|
# as well, otherwise meson falls back to ar from binutils which
|
||||||
# doesn't work with LTO
|
# doesn't work with LTO
|
||||||
@ -96,7 +100,7 @@ if [[ "$COMPILER" == clang ]]; then
|
|||||||
sudo tee /etc/apt/sources.list.d/llvm-toolchain.list
|
sudo tee /etc/apt/sources.list.d/llvm-toolchain.list
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PACKAGES+=("clang-$COMPILER_VERSION" "lldb-$COMPILER_VERSION" "python3-lldb-$COMPILER_VERSION" "lld-$COMPILER_VERSION" "clangd-$COMPILER_VERSION")
|
PACKAGES+=("clang-$COMPILER_VERSION" "lldb-$COMPILER_VERSION" "python3-lldb-$COMPILER_VERSION" "lld-$COMPILER_VERSION" "clangd-$COMPILER_VERSION" "llvm-$COMPILER_VERSION")
|
||||||
elif [[ "$COMPILER" == gcc ]]; then
|
elif [[ "$COMPILER" == gcc ]]; then
|
||||||
CC="gcc-$COMPILER_VERSION"
|
CC="gcc-$COMPILER_VERSION"
|
||||||
CXX="g++-$COMPILER_VERSION"
|
CXX="g++-$COMPILER_VERSION"
|
||||||
@ -110,7 +114,11 @@ elif [[ "$COMPILER" == gcc ]]; then
|
|||||||
sudo add-apt-repository -y --no-update ppa:ubuntu-toolchain-r/test
|
sudo add-apt-repository -y --no-update ppa:ubuntu-toolchain-r/test
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PACKAGES+=("gcc-$COMPILER_VERSION" "gcc-$COMPILER_VERSION-multilib")
|
PACKAGES+=("gcc-$COMPILER_VERSION")
|
||||||
|
if [ "$(uname -m)" = "x86_64" ]; then
|
||||||
|
# Only needed for ia32 EFI builds
|
||||||
|
PACKAGES+=("gcc-$COMPILER_VERSION-multilib")
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
fatal "Unknown compiler: $COMPILER"
|
fatal "Unknown compiler: $COMPILER"
|
||||||
fi
|
fi
|
@ -35,4 +35,4 @@ jobs:
|
|||||||
- name: Repository checkout
|
- name: Repository checkout
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||||
- name: Build check
|
- name: Build check
|
||||||
run: .github/workflows/build_test.sh
|
run: .github/workflows/build-test.sh
|
2
.github/workflows/codeql.yml
vendored
2
.github/workflows/codeql.yml
vendored
@ -50,7 +50,7 @@ jobs:
|
|||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
config-file: ./.github/codeql-config.yml
|
config-file: ./.github/codeql-config.yml
|
||||||
|
|
||||||
- run: sudo -E .github/workflows/unit_tests.sh SETUP
|
- run: sudo -E .github/workflows/unit-tests.sh SETUP
|
||||||
|
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d
|
uses: github/codeql-action/autobuild@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d
|
||||||
|
7
.github/workflows/coverage.yml
vendored
7
.github/workflows/coverage.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||||
- uses: systemd/mkosi@5e739ef1ed02a4f3b6ae64e50a8ee186cbcb21c2
|
- uses: systemd/mkosi@655baf24474a6f0732ec1b82a71c2f6fe4eeeb49
|
||||||
|
|
||||||
# Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space
|
# Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space
|
||||||
# immediately, we remove the files in the background. However, we first move them to a different location
|
# immediately, we remove the files in the background. However, we first move them to a different location
|
||||||
@ -49,9 +49,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Configure
|
- name: Configure
|
||||||
run: |
|
run: |
|
||||||
# XXX: drop after the HyperV bug that breaks secure boot KVM guests is solved
|
|
||||||
sed -i "s/'firmware'\s*:\s*'auto'/'firmware' : 'uefi'/g" test/*/meson.build
|
|
||||||
|
|
||||||
tee mkosi/mkosi.local.conf <<EOF
|
tee mkosi/mkosi.local.conf <<EOF
|
||||||
[Distribution]
|
[Distribution]
|
||||||
Distribution=arch
|
Distribution=arch
|
||||||
@ -116,6 +113,8 @@ jobs:
|
|||||||
# used in integration-test-wrapper.py to construct the `gh` command line to download the journals
|
# used in integration-test-wrapper.py to construct the `gh` command line to download the journals
|
||||||
# of failed tests.
|
# of failed tests.
|
||||||
sudo --preserve-env mkosi sandbox -- \
|
sudo --preserve-env mkosi sandbox -- \
|
||||||
|
env \
|
||||||
|
TEST_RUNNER=ubuntu-24.04 \
|
||||||
meson test \
|
meson test \
|
||||||
-C build \
|
-C build \
|
||||||
--no-rebuild \
|
--no-rebuild \
|
||||||
|
2
.github/workflows/coverity.yml
vendored
2
.github/workflows/coverity.yml
vendored
@ -25,6 +25,6 @@ jobs:
|
|||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||||
# Reuse the setup phase of the unit test script to avoid code duplication
|
# Reuse the setup phase of the unit test script to avoid code duplication
|
||||||
- name: Install build dependencies
|
- name: Install build dependencies
|
||||||
run: sudo -E .github/workflows/unit_tests.sh SETUP
|
run: sudo -E .github/workflows/unit-tests.sh SETUP
|
||||||
- name: Build & upload the results
|
- name: Build & upload the results
|
||||||
run: tools/coverity.sh
|
run: tools/coverity.sh
|
||||||
|
2
.github/workflows/linter.yml
vendored
2
.github/workflows/linter.yml
vendored
@ -36,7 +36,7 @@ jobs:
|
|||||||
VALIDATE_ALL_CODEBASE: false
|
VALIDATE_ALL_CODEBASE: false
|
||||||
VALIDATE_GITHUB_ACTIONS: true
|
VALIDATE_GITHUB_ACTIONS: true
|
||||||
|
|
||||||
- uses: systemd/mkosi@5e739ef1ed02a4f3b6ae64e50a8ee186cbcb21c2
|
- uses: systemd/mkosi@655baf24474a6f0732ec1b82a71c2f6fe4eeeb49
|
||||||
|
|
||||||
- name: Check that tabs are not used in Python code
|
- name: Check that tabs are not used in Python code
|
||||||
run: sh -c '! git grep -P "\\t" -- src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py'
|
run: sh -c '! git grep -P "\\t" -- src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py'
|
||||||
|
10
.github/workflows/mkosi.yml
vendored
10
.github/workflows/mkosi.yml
vendored
@ -113,7 +113,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||||
- uses: systemd/mkosi@5e739ef1ed02a4f3b6ae64e50a8ee186cbcb21c2
|
- uses: systemd/mkosi@655baf24474a6f0732ec1b82a71c2f6fe4eeeb49
|
||||||
|
|
||||||
# Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space
|
# Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space
|
||||||
# immediately, we remove the files in the background. However, we first move them to a different location
|
# immediately, we remove the files in the background. However, we first move them to a different location
|
||||||
@ -128,14 +128,14 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
truncate --size=100G btrfs.raw
|
truncate --size=100G btrfs.raw
|
||||||
mkfs.btrfs btrfs.raw
|
mkfs.btrfs btrfs.raw
|
||||||
sudo mkdir /mnt/mkosi
|
sudo mkdir -p /mnt/mkosi
|
||||||
LOOP="$(sudo losetup --find --show --direct-io=on btrfs.raw)"
|
LOOP="$(sudo losetup --find --show --direct-io=on btrfs.raw)"
|
||||||
rm btrfs.raw
|
rm -f btrfs.raw
|
||||||
sudo mount "$LOOP" /mnt/mkosi --options compress=zstd:1,user_subvol_rm_allowed,noatime,discard=async,space_cache=v2
|
sudo mount "$LOOP" /mnt/mkosi --options compress=zstd:1,user_subvol_rm_allowed,noatime,discard=async,space_cache=v2
|
||||||
sudo chown "$(id -u):$(id -g)" /mnt/mkosi
|
sudo chown "$(id -u):$(id -g)" /mnt/mkosi
|
||||||
mkdir /mnt/mkosi/tmp
|
mkdir -p /mnt/mkosi/tmp
|
||||||
echo "TMPDIR=/mnt/mkosi/tmp" >>"$GITHUB_ENV"
|
echo "TMPDIR=/mnt/mkosi/tmp" >>"$GITHUB_ENV"
|
||||||
ln -s /mnt/mkosi/build build
|
ln -sf /mnt/mkosi/build build
|
||||||
|
|
||||||
- name: Configure
|
- name: Configure
|
||||||
run: |
|
run: |
|
||||||
|
@ -19,12 +19,11 @@ ADDITIONAL_DEPS=(
|
|||||||
libxkbcommon-dev
|
libxkbcommon-dev
|
||||||
libzstd-dev
|
libzstd-dev
|
||||||
python3-libevdev
|
python3-libevdev
|
||||||
python3-pefile
|
python3-pip
|
||||||
python3-pyelftools
|
python3-pyelftools
|
||||||
python3-pyparsing
|
python3-pyparsing
|
||||||
python3-pytest
|
python3-pytest
|
||||||
rpm
|
rpm
|
||||||
systemd-boot-efi
|
|
||||||
zstd
|
zstd
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -43,6 +42,11 @@ set -ex
|
|||||||
|
|
||||||
MESON_ARGS=(-Dcryptolib=${CRYPTOLIB:-auto})
|
MESON_ARGS=(-Dcryptolib=${CRYPTOLIB:-auto})
|
||||||
|
|
||||||
|
if [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "x86_64" ]; then
|
||||||
|
ADDITIONAL_DEPS+=(python3-pefile)
|
||||||
|
ADDITIONAL_DEPS+=(systemd-boot-efi)
|
||||||
|
fi
|
||||||
|
|
||||||
# (Re)set the current oom-{score-}adj. For some reason root on GH actions is able to _decrease_
|
# (Re)set the current oom-{score-}adj. For some reason root on GH actions is able to _decrease_
|
||||||
# its oom-score even after dropping all capabilities (including CAP_SYS_RESOURCE), until the
|
# its oom-score even after dropping all capabilities (including CAP_SYS_RESOURCE), until the
|
||||||
# score is explicitly changed after sudo. No idea what's going on, but it breaks
|
# score is explicitly changed after sudo. No idea what's going on, but it breaks
|
@ -38,8 +38,8 @@ jobs:
|
|||||||
sudo sed -i '/^XDG_/d' /etc/environment
|
sudo sed -i '/^XDG_/d' /etc/environment
|
||||||
# Pass only specific env variables through sudo, to avoid having
|
# Pass only specific env variables through sudo, to avoid having
|
||||||
# the already existing XDG_* stuff on the "other side"
|
# the already existing XDG_* stuff on the "other side"
|
||||||
sudo --preserve-env=CRYPTOLIB,GITHUB_ACTIONS,CI .github/workflows/unit_tests.sh SETUP
|
sudo --preserve-env=CRYPTOLIB,GITHUB_ACTIONS,CI .github/workflows/unit-tests.sh SETUP
|
||||||
- name: Build & test
|
- name: Build & test
|
||||||
run: sudo --preserve-env=CRYPTOLIB,GITHUB_ACTIONS,CI .github/workflows/unit_tests.sh RUN_${{ matrix.run_phase }}
|
run: sudo --preserve-env=CRYPTOLIB,GITHUB_ACTIONS,CI .github/workflows/unit-tests.sh RUN_${{ matrix.run_phase }}
|
||||||
env:
|
env:
|
||||||
CRYPTOLIB: ${{ matrix.cryptolib }}
|
CRYPTOLIB: ${{ matrix.cryptolib }}
|
@ -70,8 +70,8 @@ The following exceptions apply:
|
|||||||
- src/fundamental/sha1-fundamental.c
|
- src/fundamental/sha1-fundamental.c
|
||||||
- src/fundamental/sha1-fundamental.h
|
- src/fundamental/sha1-fundamental.h
|
||||||
* the following files are licensed under **BSD-3-Clause** license:
|
* the following files are licensed under **BSD-3-Clause** license:
|
||||||
- src/boot/efi/chid.c
|
- src/boot/chid.c
|
||||||
- src/boot/efi/chid.h
|
- src/boot/chid.h
|
||||||
* Heebo fonts under docs/fonts/ are licensed under the **SIL Open Font License 1.1**,
|
* Heebo fonts under docs/fonts/ are licensed under the **SIL Open Font License 1.1**,
|
||||||
* any files under test/ without an explicit license we assume non-copyrightable
|
* any files under test/ without an explicit license we assume non-copyrightable
|
||||||
(eg: computer-generated fuzzer data)
|
(eg: computer-generated fuzzer data)
|
||||||
|
@ -25,7 +25,6 @@ support_sed = 's~%SUPPORT_URL%~@0@~'.format(support_url)
|
|||||||
|
|
||||||
foreach file : in_files
|
foreach file : in_files
|
||||||
catalogs += custom_target(
|
catalogs += custom_target(
|
||||||
file,
|
|
||||||
input : file + '.in',
|
input : file + '.in',
|
||||||
output: file,
|
output: file,
|
||||||
command : [sed, support_sed, '@INPUT@'],
|
command : [sed, support_sed, '@INPUT@'],
|
||||||
|
@ -351,12 +351,13 @@ All tools:
|
|||||||
default is not appropriate for a given system. Defaults to `5`, accepts
|
default is not appropriate for a given system. Defaults to `5`, accepts
|
||||||
positive integers.
|
positive integers.
|
||||||
|
|
||||||
* `$SYSTEMD_DEFAULT_MOUNT_RATE_LIMIT_INTERVAL_SEC` — can be set to override the mount
|
* `$SYSTEMD_DEFAULT_MOUNT_RATE_LIMIT_INTERVAL_SEC` — can be set to override the
|
||||||
units interval rate limit for parsing `/proc/self/mountinfo`. Similar to
|
mount units interval rate limit for parsing `/proc/self/mountinfo`. Similar
|
||||||
`$SYSTEMD_DEFAULT_MOUNT_RATE_LIMIT_BURST`, the interval limit maybe adjusted when
|
to `$SYSTEMD_DEFAULT_MOUNT_RATE_LIMIT_BURST`, the interval limit maybe
|
||||||
the default is not appropriate for a given system. The default value is 1 and the
|
adjusted when the default is not appropriate for a given system. The default
|
||||||
default application time unit is second, and the time unit can beoverriden as usual
|
value is 1, the default application time unit is second, and the time unit
|
||||||
by specifying it explicitly, see the systemd.time(7) man page.
|
can be overridden as usual by specifying it explicitly, see the
|
||||||
|
systemd.time(7) man page.
|
||||||
|
|
||||||
`systemd-remount-fs`:
|
`systemd-remount-fs`:
|
||||||
|
|
||||||
|
@ -16,6 +16,10 @@ measurements listed below are (by default) only done if a system is booted with
|
|||||||
to systemd's UEFI-mode measurements, and if the latter are not done the former
|
to systemd's UEFI-mode measurements, and if the latter are not done the former
|
||||||
aren't made either.
|
aren't made either.
|
||||||
|
|
||||||
|
See
|
||||||
|
[Linux TPM PCR Registry](https://uapi-group.org/specifications/specs/linux_tpm_pcr_registry/)
|
||||||
|
for an overview of PCRs.
|
||||||
|
|
||||||
systemd will measure to PCRs 5 (`boot-loader-config`), 11 (`kernel-boot`),
|
systemd will measure to PCRs 5 (`boot-loader-config`), 11 (`kernel-boot`),
|
||||||
12 (`kernel-config`), 13 (`sysexts`), 15 (`system-identity`).
|
12 (`kernel-config`), 13 (`sysexts`), 15 (`system-identity`).
|
||||||
|
|
||||||
@ -41,7 +45,7 @@ used for new, additional measurements.
|
|||||||
|
|
||||||
## PCR Measurements Made by `systemd-boot` (UEFI)
|
## PCR Measurements Made by `systemd-boot` (UEFI)
|
||||||
|
|
||||||
### PCS 5, `EV_EVENT_TAG`, `loader.conf`
|
### PCR 5, `EV_EVENT_TAG`, `loader.conf`
|
||||||
|
|
||||||
The content of `systemd-boot`'s configuration file, `loader/loader.conf`, is
|
The content of `systemd-boot`'s configuration file, `loader/loader.conf`, is
|
||||||
measured as a tagged event.
|
measured as a tagged event.
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
custom_target(
|
custom_target(
|
||||||
'README',
|
|
||||||
input : 'README.in',
|
input : 'README.in',
|
||||||
output : 'README',
|
output : 'README',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
factory_etc_dir = factorydir / 'etc'
|
factory_etc_dir = factorydir / 'etc'
|
||||||
|
|
||||||
custom_target(
|
custom_target(
|
||||||
'locale.conf',
|
|
||||||
input : 'locale.conf.in',
|
input : 'locale.conf.in',
|
||||||
output : 'locale.conf',
|
output : 'locale.conf',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
@ -11,7 +10,6 @@ custom_target(
|
|||||||
install_dir : factory_etc_dir)
|
install_dir : factory_etc_dir)
|
||||||
|
|
||||||
custom_target(
|
custom_target(
|
||||||
'vconsole.conf',
|
|
||||||
input : 'vconsole.conf.in',
|
input : 'vconsole.conf.in',
|
||||||
output : 'vconsole.conf',
|
output : 'vconsole.conf',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
|
2072
hwdb.d/20-OUI.hwdb
2072
hwdb.d/20-OUI.hwdb
File diff suppressed because it is too large
Load Diff
@ -228,6 +228,9 @@ acpi:ISIC*:
|
|||||||
acpi:JMIC*:
|
acpi:JMIC*:
|
||||||
ID_VENDOR_FROM_DATABASE=Shenzhen Jaguar Microsystems Co.,Ltd.
|
ID_VENDOR_FROM_DATABASE=Shenzhen Jaguar Microsystems Co.,Ltd.
|
||||||
|
|
||||||
|
acpi:JPMC*:
|
||||||
|
ID_VENDOR_FROM_DATABASE=JP Morgan Chase N.A.
|
||||||
|
|
||||||
acpi:JSYS*:
|
acpi:JSYS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Juniper Systems, Inc.
|
ID_VENDOR_FROM_DATABASE=Juniper Systems, Inc.
|
||||||
|
|
||||||
@ -327,6 +330,9 @@ acpi:RKCP*:
|
|||||||
acpi:ROKL*:
|
acpi:ROKL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Rockwell Automation, Inc
|
ID_VENDOR_FROM_DATABASE=Rockwell Automation, Inc
|
||||||
|
|
||||||
|
acpi:ROKU*:
|
||||||
|
ID_VENDOR_FROM_DATABASE=Roku, Inc.
|
||||||
|
|
||||||
acpi:RPIL*:
|
acpi:RPIL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Raspberry Pi
|
ID_VENDOR_FROM_DATABASE=Raspberry Pi
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
--- 20-acpi-vendor.hwdb.base 2025-05-15 10:42:40.716482750 +0200
|
--- 20-acpi-vendor.hwdb.base 2025-08-04 12:23:12.909334713 +0100
|
||||||
+++ 20-acpi-vendor.hwdb 2025-05-15 10:42:40.720482763 +0200
|
+++ 20-acpi-vendor.hwdb 2025-08-04 12:23:12.917334855 +0100
|
||||||
@@ -3,6 +3,8 @@
|
@@ -3,6 +3,8 @@
|
||||||
# Data imported from:
|
# Data imported from:
|
||||||
# https://uefi.org/uefi-pnp-export
|
# https://uefi.org/uefi-pnp-export
|
||||||
@ -19,7 +19,7 @@
|
|||||||
acpi:AMDI*:
|
acpi:AMDI*:
|
||||||
ID_VENDOR_FROM_DATABASE=AMD
|
ID_VENDOR_FROM_DATABASE=AMD
|
||||||
|
|
||||||
@@ -418,6 +417,9 @@
|
@@ -424,6 +423,9 @@
|
||||||
acpi:AAA*:
|
acpi:AAA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Avolites Ltd
|
ID_VENDOR_FROM_DATABASE=Avolites Ltd
|
||||||
|
|
||||||
@ -29,7 +29,7 @@
|
|||||||
acpi:AAE*:
|
acpi:AAE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Anatek Electronics Inc.
|
ID_VENDOR_FROM_DATABASE=Anatek Electronics Inc.
|
||||||
|
|
||||||
@@ -445,6 +447,9 @@
|
@@ -451,6 +453,9 @@
|
||||||
acpi:ABO*:
|
acpi:ABO*:
|
||||||
ID_VENDOR_FROM_DATABASE=D-Link Systems Inc
|
ID_VENDOR_FROM_DATABASE=D-Link Systems Inc
|
||||||
|
|
||||||
@ -39,7 +39,7 @@
|
|||||||
acpi:ABS*:
|
acpi:ABS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Abaco Systems, Inc.
|
ID_VENDOR_FROM_DATABASE=Abaco Systems, Inc.
|
||||||
|
|
||||||
@@ -490,7 +495,7 @@
|
@@ -496,7 +501,7 @@
|
||||||
acpi:ACO*:
|
acpi:ACO*:
|
||||||
ID_VENDOR_FROM_DATABASE=Allion Computer Inc.
|
ID_VENDOR_FROM_DATABASE=Allion Computer Inc.
|
||||||
|
|
||||||
@ -48,7 +48,7 @@
|
|||||||
ID_VENDOR_FROM_DATABASE=Aspen Tech Inc
|
ID_VENDOR_FROM_DATABASE=Aspen Tech Inc
|
||||||
|
|
||||||
acpi:ACR*:
|
acpi:ACR*:
|
||||||
@@ -769,6 +774,9 @@
|
@@ -775,6 +780,9 @@
|
||||||
acpi:AMT*:
|
acpi:AMT*:
|
||||||
ID_VENDOR_FROM_DATABASE=AMT International Industry
|
ID_VENDOR_FROM_DATABASE=AMT International Industry
|
||||||
|
|
||||||
@ -58,7 +58,7 @@
|
|||||||
acpi:AMX*:
|
acpi:AMX*:
|
||||||
ID_VENDOR_FROM_DATABASE=AMX LLC
|
ID_VENDOR_FROM_DATABASE=AMX LLC
|
||||||
|
|
||||||
@@ -817,6 +825,9 @@
|
@@ -823,6 +831,9 @@
|
||||||
acpi:AOA*:
|
acpi:AOA*:
|
||||||
ID_VENDOR_FROM_DATABASE=AOpen Inc.
|
ID_VENDOR_FROM_DATABASE=AOpen Inc.
|
||||||
|
|
||||||
@ -68,7 +68,7 @@
|
|||||||
acpi:AOE*:
|
acpi:AOE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Advanced Optics Electronics, Inc.
|
ID_VENDOR_FROM_DATABASE=Advanced Optics Electronics, Inc.
|
||||||
|
|
||||||
@@ -826,6 +837,9 @@
|
@@ -832,6 +843,9 @@
|
||||||
acpi:AOT*:
|
acpi:AOT*:
|
||||||
ID_VENDOR_FROM_DATABASE=Alcatel
|
ID_VENDOR_FROM_DATABASE=Alcatel
|
||||||
|
|
||||||
@ -78,7 +78,7 @@
|
|||||||
acpi:APC*:
|
acpi:APC*:
|
||||||
ID_VENDOR_FROM_DATABASE=American Power Conversion
|
ID_VENDOR_FROM_DATABASE=American Power Conversion
|
||||||
|
|
||||||
@@ -1007,7 +1021,7 @@
|
@@ -1013,7 +1027,7 @@
|
||||||
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
|
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
|
||||||
|
|
||||||
acpi:AUO*:
|
acpi:AUO*:
|
||||||
@ -87,7 +87,7 @@
|
|||||||
|
|
||||||
acpi:AUR*:
|
acpi:AUR*:
|
||||||
ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
|
ID_VENDOR_FROM_DATABASE=Aureal Semiconductor
|
||||||
@@ -1087,6 +1101,9 @@
|
@@ -1093,6 +1107,9 @@
|
||||||
acpi:AXE*:
|
acpi:AXE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Axell Corporation
|
ID_VENDOR_FROM_DATABASE=Axell Corporation
|
||||||
|
|
||||||
@ -97,7 +97,7 @@
|
|||||||
acpi:AXI*:
|
acpi:AXI*:
|
||||||
ID_VENDOR_FROM_DATABASE=American Magnetics
|
ID_VENDOR_FROM_DATABASE=American Magnetics
|
||||||
|
|
||||||
@@ -1246,6 +1263,9 @@
|
@@ -1252,6 +1269,9 @@
|
||||||
acpi:BML*:
|
acpi:BML*:
|
||||||
ID_VENDOR_FROM_DATABASE=BIOMED Lab
|
ID_VENDOR_FROM_DATABASE=BIOMED Lab
|
||||||
|
|
||||||
@ -107,7 +107,7 @@
|
|||||||
acpi:BMS*:
|
acpi:BMS*:
|
||||||
ID_VENDOR_FROM_DATABASE=BIOMEDISYS
|
ID_VENDOR_FROM_DATABASE=BIOMEDISYS
|
||||||
|
|
||||||
@@ -1258,6 +1278,9 @@
|
@@ -1264,6 +1284,9 @@
|
||||||
acpi:BNO*:
|
acpi:BNO*:
|
||||||
ID_VENDOR_FROM_DATABASE=Bang & Olufsen
|
ID_VENDOR_FROM_DATABASE=Bang & Olufsen
|
||||||
|
|
||||||
@ -117,7 +117,7 @@
|
|||||||
acpi:BNS*:
|
acpi:BNS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Boulder Nonlinear Systems
|
ID_VENDOR_FROM_DATABASE=Boulder Nonlinear Systems
|
||||||
|
|
||||||
@@ -1504,6 +1527,9 @@
|
@@ -1510,6 +1533,9 @@
|
||||||
acpi:CHA*:
|
acpi:CHA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Chase Research PLC
|
ID_VENDOR_FROM_DATABASE=Chase Research PLC
|
||||||
|
|
||||||
@ -127,7 +127,7 @@
|
|||||||
acpi:CHD*:
|
acpi:CHD*:
|
||||||
ID_VENDOR_FROM_DATABASE=ChangHong Electric Co.,Ltd
|
ID_VENDOR_FROM_DATABASE=ChangHong Electric Co.,Ltd
|
||||||
|
|
||||||
@@ -1669,6 +1695,9 @@
|
@@ -1675,6 +1701,9 @@
|
||||||
acpi:COD*:
|
acpi:COD*:
|
||||||
ID_VENDOR_FROM_DATABASE=CODAN Pty. Ltd.
|
ID_VENDOR_FROM_DATABASE=CODAN Pty. Ltd.
|
||||||
|
|
||||||
@ -137,7 +137,7 @@
|
|||||||
acpi:COI*:
|
acpi:COI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Codec Inc.
|
ID_VENDOR_FROM_DATABASE=Codec Inc.
|
||||||
|
|
||||||
@@ -2087,7 +2116,7 @@
|
@@ -2093,7 +2122,7 @@
|
||||||
ID_VENDOR_FROM_DATABASE=Dragon Information Technology
|
ID_VENDOR_FROM_DATABASE=Dragon Information Technology
|
||||||
|
|
||||||
acpi:DJE*:
|
acpi:DJE*:
|
||||||
@ -146,7 +146,7 @@
|
|||||||
|
|
||||||
acpi:DJP*:
|
acpi:DJP*:
|
||||||
ID_VENDOR_FROM_DATABASE=Maygay Machines, Ltd
|
ID_VENDOR_FROM_DATABASE=Maygay Machines, Ltd
|
||||||
@@ -2440,6 +2469,9 @@
|
@@ -2446,6 +2475,9 @@
|
||||||
acpi:EIN*:
|
acpi:EIN*:
|
||||||
ID_VENDOR_FROM_DATABASE=Elegant Invention
|
ID_VENDOR_FROM_DATABASE=Elegant Invention
|
||||||
|
|
||||||
@ -156,7 +156,7 @@
|
|||||||
acpi:EKA*:
|
acpi:EKA*:
|
||||||
ID_VENDOR_FROM_DATABASE=MagTek Inc.
|
ID_VENDOR_FROM_DATABASE=MagTek Inc.
|
||||||
|
|
||||||
@@ -2710,6 +2742,9 @@
|
@@ -2716,6 +2748,9 @@
|
||||||
acpi:FCG*:
|
acpi:FCG*:
|
||||||
ID_VENDOR_FROM_DATABASE=First International Computer Ltd
|
ID_VENDOR_FROM_DATABASE=First International Computer Ltd
|
||||||
|
|
||||||
@ -166,7 +166,7 @@
|
|||||||
acpi:FCS*:
|
acpi:FCS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Focus Enhancements, Inc.
|
ID_VENDOR_FROM_DATABASE=Focus Enhancements, Inc.
|
||||||
|
|
||||||
@@ -3086,7 +3121,7 @@
|
@@ -3092,7 +3127,7 @@
|
||||||
ID_VENDOR_FROM_DATABASE=General Standards Corporation
|
ID_VENDOR_FROM_DATABASE=General Standards Corporation
|
||||||
|
|
||||||
acpi:GSM*:
|
acpi:GSM*:
|
||||||
@ -175,7 +175,7 @@
|
|||||||
|
|
||||||
acpi:GSN*:
|
acpi:GSN*:
|
||||||
ID_VENDOR_FROM_DATABASE=Grandstream Networks, Inc.
|
ID_VENDOR_FROM_DATABASE=Grandstream Networks, Inc.
|
||||||
@@ -3196,6 +3231,9 @@
|
@@ -3202,6 +3237,9 @@
|
||||||
acpi:HEC*:
|
acpi:HEC*:
|
||||||
ID_VENDOR_FROM_DATABASE=Hisense Electric Co., Ltd.
|
ID_VENDOR_FROM_DATABASE=Hisense Electric Co., Ltd.
|
||||||
|
|
||||||
@ -185,7 +185,7 @@
|
|||||||
acpi:HEL*:
|
acpi:HEL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Hitachi Micro Systems Europe Ltd
|
ID_VENDOR_FROM_DATABASE=Hitachi Micro Systems Europe Ltd
|
||||||
|
|
||||||
@@ -3331,6 +3369,9 @@
|
@@ -3337,6 +3375,9 @@
|
||||||
acpi:HSD*:
|
acpi:HSD*:
|
||||||
ID_VENDOR_FROM_DATABASE=HannStar Display Corp
|
ID_VENDOR_FROM_DATABASE=HannStar Display Corp
|
||||||
|
|
||||||
@ -195,7 +195,7 @@
|
|||||||
acpi:HSM*:
|
acpi:HSM*:
|
||||||
ID_VENDOR_FROM_DATABASE=AT&T Microelectronics
|
ID_VENDOR_FROM_DATABASE=AT&T Microelectronics
|
||||||
|
|
||||||
@@ -3457,6 +3498,9 @@
|
@@ -3463,6 +3504,9 @@
|
||||||
acpi:ICI*:
|
acpi:ICI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Infotek Communication Inc
|
ID_VENDOR_FROM_DATABASE=Infotek Communication Inc
|
||||||
|
|
||||||
@ -205,7 +205,7 @@
|
|||||||
acpi:ICM*:
|
acpi:ICM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Intracom SA
|
ID_VENDOR_FROM_DATABASE=Intracom SA
|
||||||
|
|
||||||
@@ -3553,6 +3597,9 @@
|
@@ -3559,6 +3603,9 @@
|
||||||
acpi:IKE*:
|
acpi:IKE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Ikegami Tsushinki Co. Ltd.
|
ID_VENDOR_FROM_DATABASE=Ikegami Tsushinki Co. Ltd.
|
||||||
|
|
||||||
@ -215,7 +215,7 @@
|
|||||||
acpi:IKS*:
|
acpi:IKS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Ikos Systems Inc
|
ID_VENDOR_FROM_DATABASE=Ikos Systems Inc
|
||||||
|
|
||||||
@@ -3601,6 +3648,9 @@
|
@@ -3607,6 +3654,9 @@
|
||||||
acpi:IMX*:
|
acpi:IMX*:
|
||||||
ID_VENDOR_FROM_DATABASE=arpara Technology Co., Ltd.
|
ID_VENDOR_FROM_DATABASE=arpara Technology Co., Ltd.
|
||||||
|
|
||||||
@ -225,7 +225,7 @@
|
|||||||
acpi:INA*:
|
acpi:INA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Inventec Corporation
|
ID_VENDOR_FROM_DATABASE=Inventec Corporation
|
||||||
|
|
||||||
@@ -4129,6 +4179,9 @@
|
@@ -4135,6 +4185,9 @@
|
||||||
acpi:LAN*:
|
acpi:LAN*:
|
||||||
ID_VENDOR_FROM_DATABASE=Sodeman Lancom Inc
|
ID_VENDOR_FROM_DATABASE=Sodeman Lancom Inc
|
||||||
|
|
||||||
@ -235,7 +235,7 @@
|
|||||||
acpi:LAS*:
|
acpi:LAS*:
|
||||||
ID_VENDOR_FROM_DATABASE=LASAT Comm. A/S
|
ID_VENDOR_FROM_DATABASE=LASAT Comm. A/S
|
||||||
|
|
||||||
@@ -4180,6 +4233,9 @@
|
@@ -4186,6 +4239,9 @@
|
||||||
acpi:LED*:
|
acpi:LED*:
|
||||||
ID_VENDOR_FROM_DATABASE=Long Engineering Design Inc
|
ID_VENDOR_FROM_DATABASE=Long Engineering Design Inc
|
||||||
|
|
||||||
@ -245,7 +245,7 @@
|
|||||||
acpi:LEG*:
|
acpi:LEG*:
|
||||||
ID_VENDOR_FROM_DATABASE=Legerity, Inc
|
ID_VENDOR_FROM_DATABASE=Legerity, Inc
|
||||||
|
|
||||||
@@ -4198,6 +4254,9 @@
|
@@ -4204,6 +4260,9 @@
|
||||||
acpi:LGD*:
|
acpi:LGD*:
|
||||||
ID_VENDOR_FROM_DATABASE=LG Display
|
ID_VENDOR_FROM_DATABASE=LG Display
|
||||||
|
|
||||||
@ -255,7 +255,7 @@
|
|||||||
acpi:LGI*:
|
acpi:LGI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Logitech Inc
|
ID_VENDOR_FROM_DATABASE=Logitech Inc
|
||||||
|
|
||||||
@@ -4264,6 +4323,9 @@
|
@@ -4270,6 +4329,9 @@
|
||||||
acpi:LND*:
|
acpi:LND*:
|
||||||
ID_VENDOR_FROM_DATABASE=Land Computer Company Ltd
|
ID_VENDOR_FROM_DATABASE=Land Computer Company Ltd
|
||||||
|
|
||||||
@ -265,7 +265,7 @@
|
|||||||
acpi:LNK*:
|
acpi:LNK*:
|
||||||
ID_VENDOR_FROM_DATABASE=Link Tech Inc
|
ID_VENDOR_FROM_DATABASE=Link Tech Inc
|
||||||
|
|
||||||
@@ -4298,7 +4360,7 @@
|
@@ -4304,7 +4366,7 @@
|
||||||
ID_VENDOR_FROM_DATABASE=Design Technology
|
ID_VENDOR_FROM_DATABASE=Design Technology
|
||||||
|
|
||||||
acpi:LPL*:
|
acpi:LPL*:
|
||||||
@ -274,7 +274,7 @@
|
|||||||
|
|
||||||
acpi:LSC*:
|
acpi:LSC*:
|
||||||
ID_VENDOR_FROM_DATABASE=LifeSize Communications
|
ID_VENDOR_FROM_DATABASE=LifeSize Communications
|
||||||
@@ -4474,6 +4536,9 @@
|
@@ -4480,6 +4542,9 @@
|
||||||
acpi:MCX*:
|
acpi:MCX*:
|
||||||
ID_VENDOR_FROM_DATABASE=Millson Custom Solutions Inc.
|
ID_VENDOR_FROM_DATABASE=Millson Custom Solutions Inc.
|
||||||
|
|
||||||
@ -284,7 +284,7 @@
|
|||||||
acpi:MDA*:
|
acpi:MDA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Media4 Inc
|
ID_VENDOR_FROM_DATABASE=Media4 Inc
|
||||||
|
|
||||||
@@ -4720,6 +4785,9 @@
|
@@ -4726,6 +4791,9 @@
|
||||||
acpi:MOM*:
|
acpi:MOM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Momentum Data Systems
|
ID_VENDOR_FROM_DATABASE=Momentum Data Systems
|
||||||
|
|
||||||
@ -294,7 +294,7 @@
|
|||||||
acpi:MOS*:
|
acpi:MOS*:
|
||||||
ID_VENDOR_FROM_DATABASE=Moses Corporation
|
ID_VENDOR_FROM_DATABASE=Moses Corporation
|
||||||
|
|
||||||
@@ -4960,6 +5028,9 @@
|
@@ -4966,6 +5034,9 @@
|
||||||
acpi:NAL*:
|
acpi:NAL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Network Alchemy
|
ID_VENDOR_FROM_DATABASE=Network Alchemy
|
||||||
|
|
||||||
@ -304,7 +304,7 @@
|
|||||||
acpi:NAT*:
|
acpi:NAT*:
|
||||||
ID_VENDOR_FROM_DATABASE=NaturalPoint Inc.
|
ID_VENDOR_FROM_DATABASE=NaturalPoint Inc.
|
||||||
|
|
||||||
@@ -5500,6 +5571,9 @@
|
@@ -5506,6 +5577,9 @@
|
||||||
acpi:PCX*:
|
acpi:PCX*:
|
||||||
ID_VENDOR_FROM_DATABASE=PC Xperten
|
ID_VENDOR_FROM_DATABASE=PC Xperten
|
||||||
|
|
||||||
@ -314,7 +314,7 @@
|
|||||||
acpi:PDM*:
|
acpi:PDM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Psion Dacom Plc.
|
ID_VENDOR_FROM_DATABASE=Psion Dacom Plc.
|
||||||
|
|
||||||
@@ -5563,9 +5637,6 @@
|
@@ -5569,9 +5643,6 @@
|
||||||
acpi:PHE*:
|
acpi:PHE*:
|
||||||
ID_VENDOR_FROM_DATABASE=Philips Medical Systems Boeblingen GmbH
|
ID_VENDOR_FROM_DATABASE=Philips Medical Systems Boeblingen GmbH
|
||||||
|
|
||||||
@ -324,7 +324,7 @@
|
|||||||
acpi:PHL*:
|
acpi:PHL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Philips Consumer Electronics Company
|
ID_VENDOR_FROM_DATABASE=Philips Consumer Electronics Company
|
||||||
|
|
||||||
@@ -5656,9 +5727,6 @@
|
@@ -5662,9 +5733,6 @@
|
||||||
acpi:PNL*:
|
acpi:PNL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Panelview, Inc.
|
ID_VENDOR_FROM_DATABASE=Panelview, Inc.
|
||||||
|
|
||||||
@ -334,7 +334,7 @@
|
|||||||
acpi:PNR*:
|
acpi:PNR*:
|
||||||
ID_VENDOR_FROM_DATABASE=Planar Systems, Inc.
|
ID_VENDOR_FROM_DATABASE=Planar Systems, Inc.
|
||||||
|
|
||||||
@@ -6136,9 +6204,6 @@
|
@@ -6142,9 +6210,6 @@
|
||||||
acpi:RTI*:
|
acpi:RTI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Rancho Tech Inc
|
ID_VENDOR_FROM_DATABASE=Rancho Tech Inc
|
||||||
|
|
||||||
@ -344,7 +344,7 @@
|
|||||||
acpi:RTL*:
|
acpi:RTL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Company Ltd
|
ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Company Ltd
|
||||||
|
|
||||||
@@ -6313,9 +6378,6 @@
|
@@ -6319,9 +6384,6 @@
|
||||||
acpi:SEE*:
|
acpi:SEE*:
|
||||||
ID_VENDOR_FROM_DATABASE=SeeColor Corporation
|
ID_VENDOR_FROM_DATABASE=SeeColor Corporation
|
||||||
|
|
||||||
@ -354,7 +354,7 @@
|
|||||||
acpi:SEI*:
|
acpi:SEI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Seitz & Associates Inc
|
ID_VENDOR_FROM_DATABASE=Seitz & Associates Inc
|
||||||
|
|
||||||
@@ -6799,6 +6861,9 @@
|
@@ -6805,6 +6867,9 @@
|
||||||
acpi:SVD*:
|
acpi:SVD*:
|
||||||
ID_VENDOR_FROM_DATABASE=SVD Computer
|
ID_VENDOR_FROM_DATABASE=SVD Computer
|
||||||
|
|
||||||
@ -364,7 +364,7 @@
|
|||||||
acpi:SVI*:
|
acpi:SVI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Sun Microsystems
|
ID_VENDOR_FROM_DATABASE=Sun Microsystems
|
||||||
|
|
||||||
@@ -6883,6 +6948,9 @@
|
@@ -6889,6 +6954,9 @@
|
||||||
acpi:SZM*:
|
acpi:SZM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Shenzhen MTC Co., Ltd
|
ID_VENDOR_FROM_DATABASE=Shenzhen MTC Co., Ltd
|
||||||
|
|
||||||
@ -374,7 +374,7 @@
|
|||||||
acpi:TAA*:
|
acpi:TAA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Tandberg
|
ID_VENDOR_FROM_DATABASE=Tandberg
|
||||||
|
|
||||||
@@ -6973,6 +7041,9 @@
|
@@ -6979,6 +7047,9 @@
|
||||||
acpi:TDG*:
|
acpi:TDG*:
|
||||||
ID_VENDOR_FROM_DATABASE=Six15 Technologies
|
ID_VENDOR_FROM_DATABASE=Six15 Technologies
|
||||||
|
|
||||||
@ -384,7 +384,7 @@
|
|||||||
acpi:TDM*:
|
acpi:TDM*:
|
||||||
ID_VENDOR_FROM_DATABASE=Tandem Computer Europe Inc
|
ID_VENDOR_FROM_DATABASE=Tandem Computer Europe Inc
|
||||||
|
|
||||||
@@ -7015,6 +7086,9 @@
|
@@ -7021,6 +7092,9 @@
|
||||||
acpi:TEV*:
|
acpi:TEV*:
|
||||||
ID_VENDOR_FROM_DATABASE=Televés, S.A.
|
ID_VENDOR_FROM_DATABASE=Televés, S.A.
|
||||||
|
|
||||||
@ -394,7 +394,7 @@
|
|||||||
acpi:TEZ*:
|
acpi:TEZ*:
|
||||||
ID_VENDOR_FROM_DATABASE=Tech Source Inc.
|
ID_VENDOR_FROM_DATABASE=Tech Source Inc.
|
||||||
|
|
||||||
@@ -7144,9 +7218,6 @@
|
@@ -7150,9 +7224,6 @@
|
||||||
acpi:TNC*:
|
acpi:TNC*:
|
||||||
ID_VENDOR_FROM_DATABASE=TNC Industrial Company Ltd
|
ID_VENDOR_FROM_DATABASE=TNC Industrial Company Ltd
|
||||||
|
|
||||||
@ -404,7 +404,7 @@
|
|||||||
acpi:TNM*:
|
acpi:TNM*:
|
||||||
ID_VENDOR_FROM_DATABASE=TECNIMAGEN SA
|
ID_VENDOR_FROM_DATABASE=TECNIMAGEN SA
|
||||||
|
|
||||||
@@ -7459,14 +7530,14 @@
|
@@ -7465,14 +7536,14 @@
|
||||||
acpi:UNC*:
|
acpi:UNC*:
|
||||||
ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
ID_VENDOR_FROM_DATABASE=Unisys Corporation
|
||||||
|
|
||||||
@ -425,7 +425,7 @@
|
|||||||
|
|
||||||
acpi:UNI*:
|
acpi:UNI*:
|
||||||
ID_VENDOR_FROM_DATABASE=Uniform Industry Corp.
|
ID_VENDOR_FROM_DATABASE=Uniform Industry Corp.
|
||||||
@@ -7501,6 +7572,9 @@
|
@@ -7507,6 +7578,9 @@
|
||||||
acpi:USA*:
|
acpi:USA*:
|
||||||
ID_VENDOR_FROM_DATABASE=Utimaco Safeware AG
|
ID_VENDOR_FROM_DATABASE=Utimaco Safeware AG
|
||||||
|
|
||||||
@ -435,7 +435,7 @@
|
|||||||
acpi:USD*:
|
acpi:USD*:
|
||||||
ID_VENDOR_FROM_DATABASE=U.S. Digital Corporation
|
ID_VENDOR_FROM_DATABASE=U.S. Digital Corporation
|
||||||
|
|
||||||
@@ -7762,9 +7836,6 @@
|
@@ -7768,9 +7842,6 @@
|
||||||
acpi:WAL*:
|
acpi:WAL*:
|
||||||
ID_VENDOR_FROM_DATABASE=Wave Access
|
ID_VENDOR_FROM_DATABASE=Wave Access
|
||||||
|
|
||||||
@ -445,7 +445,7 @@
|
|||||||
acpi:WAV*:
|
acpi:WAV*:
|
||||||
ID_VENDOR_FROM_DATABASE=Wavephore
|
ID_VENDOR_FROM_DATABASE=Wavephore
|
||||||
|
|
||||||
@@ -7892,7 +7963,7 @@
|
@@ -7898,7 +7969,7 @@
|
||||||
ID_VENDOR_FROM_DATABASE=WyreStorm Technologies LLC
|
ID_VENDOR_FROM_DATABASE=WyreStorm Technologies LLC
|
||||||
|
|
||||||
acpi:WYS*:
|
acpi:WYS*:
|
||||||
@ -454,7 +454,7 @@
|
|||||||
|
|
||||||
acpi:WYT*:
|
acpi:WYT*:
|
||||||
ID_VENDOR_FROM_DATABASE=Wooyoung Image & Information Co.,Ltd.
|
ID_VENDOR_FROM_DATABASE=Wooyoung Image & Information Co.,Ltd.
|
||||||
@@ -7906,9 +7977,6 @@
|
@@ -7912,9 +7983,6 @@
|
||||||
acpi:XDM*:
|
acpi:XDM*:
|
||||||
ID_VENDOR_FROM_DATABASE=XDM Ltd.
|
ID_VENDOR_FROM_DATABASE=XDM Ltd.
|
||||||
|
|
||||||
@ -464,7 +464,7 @@
|
|||||||
acpi:XES*:
|
acpi:XES*:
|
||||||
ID_VENDOR_FROM_DATABASE=Extreme Engineering Solutions, Inc.
|
ID_VENDOR_FROM_DATABASE=Extreme Engineering Solutions, Inc.
|
||||||
|
|
||||||
@@ -7942,9 +8010,6 @@
|
@@ -7948,9 +8016,6 @@
|
||||||
acpi:XNT*:
|
acpi:XNT*:
|
||||||
ID_VENDOR_FROM_DATABASE=XN Technologies, Inc.
|
ID_VENDOR_FROM_DATABASE=XN Technologies, Inc.
|
||||||
|
|
||||||
@ -474,7 +474,7 @@
|
|||||||
acpi:XQU*:
|
acpi:XQU*:
|
||||||
ID_VENDOR_FROM_DATABASE=SHANGHAI SVA-DAV ELECTRONICS CO., LTD
|
ID_VENDOR_FROM_DATABASE=SHANGHAI SVA-DAV ELECTRONICS CO., LTD
|
||||||
|
|
||||||
@@ -8011,6 +8076,9 @@
|
@@ -8017,6 +8082,9 @@
|
||||||
acpi:ZBX*:
|
acpi:ZBX*:
|
||||||
ID_VENDOR_FROM_DATABASE=Zebax Technologies
|
ID_VENDOR_FROM_DATABASE=Zebax Technologies
|
||||||
|
|
||||||
|
@ -395,6 +395,9 @@ pci:v*d*sv*sd*bc08sc05*
|
|||||||
pci:v*d*sv*sd*bc08sc06*
|
pci:v*d*sv*sd*bc08sc06*
|
||||||
ID_PCI_SUBCLASS_FROM_DATABASE=IOMMU
|
ID_PCI_SUBCLASS_FROM_DATABASE=IOMMU
|
||||||
|
|
||||||
|
pci:v*d*sv*sd*bc08sc07*
|
||||||
|
ID_PCI_SUBCLASS_FROM_DATABASE=Root Complex Event Collector
|
||||||
|
|
||||||
pci:v*d*sv*sd*bc08sc80*
|
pci:v*d*sv*sd*bc08sc80*
|
||||||
ID_PCI_SUBCLASS_FROM_DATABASE=System peripheral
|
ID_PCI_SUBCLASS_FROM_DATABASE=System peripheral
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -119,6 +119,12 @@ usb:v017C*
|
|||||||
usb:v017Cp145F*
|
usb:v017Cp145F*
|
||||||
ID_MODEL_FROM_DATABASE=Trust Deskset
|
ID_MODEL_FROM_DATABASE=Trust Deskset
|
||||||
|
|
||||||
|
usb:v019C*
|
||||||
|
ID_VENDOR_FROM_DATABASE=mek
|
||||||
|
|
||||||
|
usb:v019Cp0042*
|
||||||
|
ID_MODEL_FROM_DATABASE=mek_42
|
||||||
|
|
||||||
usb:v0200*
|
usb:v0200*
|
||||||
ID_VENDOR_FROM_DATABASE=TP-Link
|
ID_VENDOR_FROM_DATABASE=TP-Link
|
||||||
|
|
||||||
@ -149,6 +155,15 @@ usb:v02AD*
|
|||||||
usb:v02ADp138C*
|
usb:v02ADp138C*
|
||||||
ID_MODEL_FROM_DATABASE=PVR Mass Storage
|
ID_MODEL_FROM_DATABASE=PVR Mass Storage
|
||||||
|
|
||||||
|
usb:v0300*
|
||||||
|
ID_VENDOR_FROM_DATABASE=Ajazz
|
||||||
|
|
||||||
|
usb:v0300p1010*
|
||||||
|
ID_MODEL_FROM_DATABASE=Akp153E Desktop Controller
|
||||||
|
|
||||||
|
usb:v0300p1020*
|
||||||
|
ID_MODEL_FROM_DATABASE=AKP153R Desktop Controller
|
||||||
|
|
||||||
usb:v0303*
|
usb:v0303*
|
||||||
ID_VENDOR_FROM_DATABASE=Mini Automation Controller
|
ID_VENDOR_FROM_DATABASE=Mini Automation Controller
|
||||||
|
|
||||||
@ -228,7 +243,7 @@ usb:v03E8p8004*
|
|||||||
ID_MODEL_FROM_DATABASE=Aox 99001
|
ID_MODEL_FROM_DATABASE=Aox 99001
|
||||||
|
|
||||||
usb:v03E9*
|
usb:v03E9*
|
||||||
ID_VENDOR_FROM_DATABASE=Thesys Microelectronics
|
ID_VENDOR_FROM_DATABASE=Melexis (formerly Thesys Microelectronics)
|
||||||
|
|
||||||
usb:v03EA*
|
usb:v03EA*
|
||||||
ID_VENDOR_FROM_DATABASE=Data Broadcasting Corp.
|
ID_VENDOR_FROM_DATABASE=Data Broadcasting Corp.
|
||||||
@ -713,6 +728,12 @@ usb:v03F0p042A*
|
|||||||
usb:v03F0p0441*
|
usb:v03F0p0441*
|
||||||
ID_MODEL_FROM_DATABASE=Prime [NW280AA, G8X92AA]
|
ID_MODEL_FROM_DATABASE=Prime [NW280AA, G8X92AA]
|
||||||
|
|
||||||
|
usb:v03F0p046B*
|
||||||
|
ID_MODEL_FROM_DATABASE=Dock G5
|
||||||
|
|
||||||
|
usb:v03F0p0483*
|
||||||
|
ID_MODEL_FROM_DATABASE=Engage Go 10 Tablet
|
||||||
|
|
||||||
usb:v03F0p0504*
|
usb:v03F0p0504*
|
||||||
ID_MODEL_FROM_DATABASE=DeskJet 885c
|
ID_MODEL_FROM_DATABASE=DeskJet 885c
|
||||||
|
|
||||||
@ -740,6 +761,9 @@ usb:v03F0p051D*
|
|||||||
usb:v03F0p052A*
|
usb:v03F0p052A*
|
||||||
ID_MODEL_FROM_DATABASE=LaserJet M1212nf MFP
|
ID_MODEL_FROM_DATABASE=LaserJet M1212nf MFP
|
||||||
|
|
||||||
|
usb:v03F0p0583*
|
||||||
|
ID_MODEL_FROM_DATABASE=Engage Go 10 Tablet
|
||||||
|
|
||||||
usb:v03F0p0601*
|
usb:v03F0p0601*
|
||||||
ID_MODEL_FROM_DATABASE=ScanJet 6300c
|
ID_MODEL_FROM_DATABASE=ScanJet 6300c
|
||||||
|
|
||||||
@ -767,6 +791,9 @@ usb:v03F0p0641*
|
|||||||
usb:v03F0p0653*
|
usb:v03F0p0653*
|
||||||
ID_MODEL_FROM_DATABASE=DeskJet 3700 series
|
ID_MODEL_FROM_DATABASE=DeskJet 3700 series
|
||||||
|
|
||||||
|
usb:v03F0p0683*
|
||||||
|
ID_MODEL_FROM_DATABASE=Engage Go 10 Tablet
|
||||||
|
|
||||||
usb:v03F0p0701*
|
usb:v03F0p0701*
|
||||||
ID_MODEL_FROM_DATABASE=ScanJet 5300c/5370c
|
ID_MODEL_FROM_DATABASE=ScanJet 5300c/5370c
|
||||||
|
|
||||||
@ -917,6 +944,9 @@ usb:v03F0p1104*
|
|||||||
usb:v03F0p1105*
|
usb:v03F0p1105*
|
||||||
ID_MODEL_FROM_DATABASE=ScanJet 5470c/5490c
|
ID_MODEL_FROM_DATABASE=ScanJet 5470c/5490c
|
||||||
|
|
||||||
|
usb:v03F0p110C*
|
||||||
|
ID_MODEL_FROM_DATABASE=Pocket Media Drive
|
||||||
|
|
||||||
usb:v03F0p1111*
|
usb:v03F0p1111*
|
||||||
ID_MODEL_FROM_DATABASE=OfficeJet v60
|
ID_MODEL_FROM_DATABASE=OfficeJet v60
|
||||||
|
|
||||||
@ -2981,6 +3011,9 @@ usb:v0408p3001*
|
|||||||
usb:v0408p3008*
|
usb:v0408p3008*
|
||||||
ID_MODEL_FROM_DATABASE=Optical Touch Screen
|
ID_MODEL_FROM_DATABASE=Optical Touch Screen
|
||||||
|
|
||||||
|
usb:v0408p4033*
|
||||||
|
ID_MODEL_FROM_DATABASE=HD Webcam
|
||||||
|
|
||||||
usb:v0408pA060*
|
usb:v0408pA060*
|
||||||
ID_MODEL_FROM_DATABASE=HD Webcam
|
ID_MODEL_FROM_DATABASE=HD Webcam
|
||||||
|
|
||||||
@ -3029,6 +3062,9 @@ usb:v0409p004F*
|
|||||||
usb:v0409p0050*
|
usb:v0409p0050*
|
||||||
ID_MODEL_FROM_DATABASE=7-port hub
|
ID_MODEL_FROM_DATABASE=7-port hub
|
||||||
|
|
||||||
|
usb:v0409p0056*
|
||||||
|
ID_MODEL_FROM_DATABASE=uPD720133 IDE bridge
|
||||||
|
|
||||||
usb:v0409p0058*
|
usb:v0409p0058*
|
||||||
ID_MODEL_FROM_DATABASE=HighSpeed Hub
|
ID_MODEL_FROM_DATABASE=HighSpeed Hub
|
||||||
|
|
||||||
@ -4400,6 +4436,9 @@ usb:v041Ep4097*
|
|||||||
usb:v041Ep4099*
|
usb:v041Ep4099*
|
||||||
ID_MODEL_FROM_DATABASE=Creative VF0800 [RealSense Camera SR300]
|
ID_MODEL_FROM_DATABASE=Creative VF0800 [RealSense Camera SR300]
|
||||||
|
|
||||||
|
usb:v041Ep40A3*
|
||||||
|
ID_MODEL_FROM_DATABASE=Live! Cam V3 2K [VF-0900]
|
||||||
|
|
||||||
usb:v041Ep4100*
|
usb:v041Ep4100*
|
||||||
ID_MODEL_FROM_DATABASE=Nomad Jukebox 2
|
ID_MODEL_FROM_DATABASE=Nomad Jukebox 2
|
||||||
|
|
||||||
@ -5819,6 +5858,9 @@ usb:v043Dp010F*
|
|||||||
usb:v043Dp0142*
|
usb:v043Dp0142*
|
||||||
ID_MODEL_FROM_DATABASE=X3650 (Printer, Scanner, Copier)
|
ID_MODEL_FROM_DATABASE=X3650 (Printer, Scanner, Copier)
|
||||||
|
|
||||||
|
usb:v043Dp01BD*
|
||||||
|
ID_MODEL_FROM_DATABASE=S800 Series Scanner
|
||||||
|
|
||||||
usb:v043Dp01FA*
|
usb:v043Dp01FA*
|
||||||
ID_MODEL_FROM_DATABASE=S310 series
|
ID_MODEL_FROM_DATABASE=S310 series
|
||||||
|
|
||||||
@ -5888,6 +5930,9 @@ usb:v043Ep9A11*
|
|||||||
usb:v043Ep9A39*
|
usb:v043Ep9A39*
|
||||||
ID_MODEL_FROM_DATABASE=27UP850 - WK.AEUDCSN - External Monitor 4K
|
ID_MODEL_FROM_DATABASE=27UP850 - WK.AEUDCSN - External Monitor 4K
|
||||||
|
|
||||||
|
usb:v043Ep9A57*
|
||||||
|
ID_MODEL_FROM_DATABASE=UltraGear Monitor
|
||||||
|
|
||||||
usb:v043Ep9C01*
|
usb:v043Ep9C01*
|
||||||
ID_MODEL_FROM_DATABASE=LGE Sync
|
ID_MODEL_FROM_DATABASE=LGE Sync
|
||||||
|
|
||||||
@ -5963,6 +6008,9 @@ usb:v044E*
|
|||||||
usb:v044Ep1104*
|
usb:v044Ep1104*
|
||||||
ID_MODEL_FROM_DATABASE=Japanese Keyboard
|
ID_MODEL_FROM_DATABASE=Japanese Keyboard
|
||||||
|
|
||||||
|
usb:v044Ep1218*
|
||||||
|
ID_MODEL_FROM_DATABASE=Electric Touchpad
|
||||||
|
|
||||||
usb:v044Ep2002*
|
usb:v044Ep2002*
|
||||||
ID_MODEL_FROM_DATABASE=MD-5500 Printer
|
ID_MODEL_FROM_DATABASE=MD-5500 Printer
|
||||||
|
|
||||||
@ -8153,6 +8201,12 @@ usb:v046Ap01A4*
|
|||||||
usb:v046Ap01A6*
|
usb:v046Ap01A6*
|
||||||
ID_MODEL_FROM_DATABASE=MX BOARD 2.0S FL RGB DE Keyboard
|
ID_MODEL_FROM_DATABASE=MX BOARD 2.0S FL RGB DE Keyboard
|
||||||
|
|
||||||
|
usb:v046Ap0201*
|
||||||
|
ID_MODEL_FROM_DATABASE=Smart Board 1150
|
||||||
|
|
||||||
|
usb:v046Ap0202*
|
||||||
|
ID_MODEL_FROM_DATABASE=Smart Terminal 1150
|
||||||
|
|
||||||
usb:v046ApB090*
|
usb:v046ApB090*
|
||||||
ID_MODEL_FROM_DATABASE=Keyboard
|
ID_MODEL_FROM_DATABASE=Keyboard
|
||||||
|
|
||||||
@ -8495,6 +8549,9 @@ usb:v046Dp08E0*
|
|||||||
usb:v046Dp08E1*
|
usb:v046Dp08E1*
|
||||||
ID_MODEL_FROM_DATABASE=Labtec Webcam
|
ID_MODEL_FROM_DATABASE=Labtec Webcam
|
||||||
|
|
||||||
|
usb:v046Dp08E4*
|
||||||
|
ID_MODEL_FROM_DATABASE=C505e HD Webcam
|
||||||
|
|
||||||
usb:v046Dp08E5*
|
usb:v046Dp08E5*
|
||||||
ID_MODEL_FROM_DATABASE=C920 PRO HD Webcam
|
ID_MODEL_FROM_DATABASE=C920 PRO HD Webcam
|
||||||
|
|
||||||
@ -8948,6 +9005,9 @@ usb:v046DpC092*
|
|||||||
usb:v046DpC093*
|
usb:v046DpC093*
|
||||||
ID_MODEL_FROM_DATABASE=M500s Optical Mouse
|
ID_MODEL_FROM_DATABASE=M500s Optical Mouse
|
||||||
|
|
||||||
|
usb:v046DpC09D*
|
||||||
|
ID_MODEL_FROM_DATABASE=G102 LIGHTSYNC Gaming Mouse
|
||||||
|
|
||||||
usb:v046DpC101*
|
usb:v046DpC101*
|
||||||
ID_MODEL_FROM_DATABASE=UltraX Media Remote
|
ID_MODEL_FROM_DATABASE=UltraX Media Remote
|
||||||
|
|
||||||
@ -9122,6 +9182,9 @@ usb:v046DpC24E*
|
|||||||
usb:v046DpC24F*
|
usb:v046DpC24F*
|
||||||
ID_MODEL_FROM_DATABASE=G29 Driving Force Racing Wheel [PS3]
|
ID_MODEL_FROM_DATABASE=G29 Driving Force Racing Wheel [PS3]
|
||||||
|
|
||||||
|
usb:v046DpC251*
|
||||||
|
ID_MODEL_FROM_DATABASE=GamePanel for Dell XPS M1730
|
||||||
|
|
||||||
usb:v046DpC260*
|
usb:v046DpC260*
|
||||||
ID_MODEL_FROM_DATABASE=G29 Driving Force Racing Wheel [PS4]
|
ID_MODEL_FROM_DATABASE=G29 Driving Force Racing Wheel [PS4]
|
||||||
|
|
||||||
@ -9161,6 +9224,9 @@ usb:v046DpC298*
|
|||||||
usb:v046DpC299*
|
usb:v046DpC299*
|
||||||
ID_MODEL_FROM_DATABASE=G25 Racing Wheel
|
ID_MODEL_FROM_DATABASE=G25 Racing Wheel
|
||||||
|
|
||||||
|
usb:v046DpC29A*
|
||||||
|
ID_MODEL_FROM_DATABASE=Driving Force GT
|
||||||
|
|
||||||
usb:v046DpC29B*
|
usb:v046DpC29B*
|
||||||
ID_MODEL_FROM_DATABASE=G27 Racing Wheel
|
ID_MODEL_FROM_DATABASE=G27 Racing Wheel
|
||||||
|
|
||||||
@ -9272,6 +9338,9 @@ usb:v046DpC336*
|
|||||||
usb:v046DpC33A*
|
usb:v046DpC33A*
|
||||||
ID_MODEL_FROM_DATABASE=G413 Gaming Keyboard
|
ID_MODEL_FROM_DATABASE=G413 Gaming Keyboard
|
||||||
|
|
||||||
|
usb:v046DpC33E*
|
||||||
|
ID_MODEL_FROM_DATABASE=G915 Mechanical Keyboard
|
||||||
|
|
||||||
usb:v046DpC33F*
|
usb:v046DpC33F*
|
||||||
ID_MODEL_FROM_DATABASE=G815 Mechanical Keyboard
|
ID_MODEL_FROM_DATABASE=G815 Mechanical Keyboard
|
||||||
|
|
||||||
@ -10019,6 +10088,9 @@ usb:v047CpFFFF*
|
|||||||
usb:v047D*
|
usb:v047D*
|
||||||
ID_VENDOR_FROM_DATABASE=Kensington
|
ID_VENDOR_FROM_DATABASE=Kensington
|
||||||
|
|
||||||
|
usb:v047Dp00F2*
|
||||||
|
ID_MODEL_FROM_DATABASE=VeriMark Desktop
|
||||||
|
|
||||||
usb:v047Dp1001*
|
usb:v047Dp1001*
|
||||||
ID_MODEL_FROM_DATABASE=Mouse*in*a*Box
|
ID_MODEL_FROM_DATABASE=Mouse*in*a*Box
|
||||||
|
|
||||||
@ -10616,6 +10688,9 @@ usb:v0486*
|
|||||||
usb:v0486p0185*
|
usb:v0486p0185*
|
||||||
ID_MODEL_FROM_DATABASE=EeePC T91MT HID Touch Panel
|
ID_MODEL_FROM_DATABASE=EeePC T91MT HID Touch Panel
|
||||||
|
|
||||||
|
usb:v0486p573C*
|
||||||
|
ID_MODEL_FROM_DATABASE=Xreal Light Microcontroller
|
||||||
|
|
||||||
usb:v0487*
|
usb:v0487*
|
||||||
ID_VENDOR_FROM_DATABASE=Stewart Connector
|
ID_VENDOR_FROM_DATABASE=Stewart Connector
|
||||||
|
|
||||||
@ -10931,6 +11006,9 @@ usb:v0499p1037*
|
|||||||
usb:v0499p103C*
|
usb:v0499p103C*
|
||||||
ID_MODEL_FROM_DATABASE=MOTIF-RACK ES
|
ID_MODEL_FROM_DATABASE=MOTIF-RACK ES
|
||||||
|
|
||||||
|
usb:v0499p1045*
|
||||||
|
ID_MODEL_FROM_DATABASE=MM6
|
||||||
|
|
||||||
usb:v0499p1054*
|
usb:v0499p1054*
|
||||||
ID_MODEL_FROM_DATABASE=S90XS Keyboard/Music Synthesizer
|
ID_MODEL_FROM_DATABASE=S90XS Keyboard/Music Synthesizer
|
||||||
|
|
||||||
@ -11618,6 +11696,9 @@ usb:v04A9p106E*
|
|||||||
usb:v04A9p1070*
|
usb:v04A9p1070*
|
||||||
ID_MODEL_FROM_DATABASE=S530D
|
ID_MODEL_FROM_DATABASE=S530D
|
||||||
|
|
||||||
|
usb:v04A9p1071*
|
||||||
|
ID_MODEL_FROM_DATABASE=Sony MPR-501
|
||||||
|
|
||||||
usb:v04A9p1072*
|
usb:v04A9p1072*
|
||||||
ID_MODEL_FROM_DATABASE=I850 Printer
|
ID_MODEL_FROM_DATABASE=I850 Printer
|
||||||
|
|
||||||
@ -11627,6 +11708,9 @@ usb:v04A9p1073*
|
|||||||
usb:v04A9p1074*
|
usb:v04A9p1074*
|
||||||
ID_MODEL_FROM_DATABASE=S330 Printer
|
ID_MODEL_FROM_DATABASE=S330 Printer
|
||||||
|
|
||||||
|
usb:v04A9p1075*
|
||||||
|
ID_MODEL_FROM_DATABASE=Sony MPR-505
|
||||||
|
|
||||||
usb:v04A9p1076*
|
usb:v04A9p1076*
|
||||||
ID_MODEL_FROM_DATABASE=i70
|
ID_MODEL_FROM_DATABASE=i70
|
||||||
|
|
||||||
@ -12101,6 +12185,9 @@ usb:v04A9p178D*
|
|||||||
usb:v04A9p180B*
|
usb:v04A9p180B*
|
||||||
ID_MODEL_FROM_DATABASE=PIXMA MG3000 series
|
ID_MODEL_FROM_DATABASE=PIXMA MG3000 series
|
||||||
|
|
||||||
|
usb:v04A9p183B*
|
||||||
|
ID_MODEL_FROM_DATABASE=PIXMA MG3110 Series
|
||||||
|
|
||||||
usb:v04A9p1856*
|
usb:v04A9p1856*
|
||||||
ID_MODEL_FROM_DATABASE=PIXMA TS6250
|
ID_MODEL_FROM_DATABASE=PIXMA TS6250
|
||||||
|
|
||||||
@ -12122,6 +12209,9 @@ usb:v04A9p1906*
|
|||||||
usb:v04A9p1907*
|
usb:v04A9p1907*
|
||||||
ID_MODEL_FROM_DATABASE=CanoScan LiDE 700F
|
ID_MODEL_FROM_DATABASE=CanoScan LiDE 700F
|
||||||
|
|
||||||
|
usb:v04A9p1908*
|
||||||
|
ID_MODEL_FROM_DATABASE=CanoScan 9000F
|
||||||
|
|
||||||
usb:v04A9p1909*
|
usb:v04A9p1909*
|
||||||
ID_MODEL_FROM_DATABASE=CanoScan LiDE 110
|
ID_MODEL_FROM_DATABASE=CanoScan LiDE 110
|
||||||
|
|
||||||
@ -13805,6 +13895,9 @@ usb:v04B0p0436*
|
|||||||
usb:v04B0p043F*
|
usb:v04B0p043F*
|
||||||
ID_MODEL_FROM_DATABASE=D5600
|
ID_MODEL_FROM_DATABASE=D5600
|
||||||
|
|
||||||
|
usb:v04B0p0455*
|
||||||
|
ID_MODEL_FROM_DATABASE=Z50II
|
||||||
|
|
||||||
usb:v04B0p0F03*
|
usb:v04B0p0F03*
|
||||||
ID_MODEL_FROM_DATABASE=PD-10 Wireless Printer Adapter
|
ID_MODEL_FROM_DATABASE=PD-10 Wireless Printer Adapter
|
||||||
|
|
||||||
@ -14663,9 +14756,15 @@ usb:v04B8p0892*
|
|||||||
usb:v04B8p0893*
|
usb:v04B8p0893*
|
||||||
ID_MODEL_FROM_DATABASE=EP-774A
|
ID_MODEL_FROM_DATABASE=EP-774A
|
||||||
|
|
||||||
|
usb:v04B8p08D1*
|
||||||
|
ID_MODEL_FROM_DATABASE=L220/L360 Series
|
||||||
|
|
||||||
usb:v04B8p0E03*
|
usb:v04B8p0E03*
|
||||||
ID_MODEL_FROM_DATABASE=Thermal Receipt Printer [TM-T20]
|
ID_MODEL_FROM_DATABASE=Thermal Receipt Printer [TM-T20]
|
||||||
|
|
||||||
|
usb:v04B8p0E31*
|
||||||
|
ID_MODEL_FROM_DATABASE=Thermal Receipt Printer [TM-L100]
|
||||||
|
|
||||||
usb:v04B8p1114*
|
usb:v04B8p1114*
|
||||||
ID_MODEL_FROM_DATABASE=XP-440 [Expression Home Small-in-One Printer]
|
ID_MODEL_FROM_DATABASE=XP-440 [Expression Home Small-in-One Printer]
|
||||||
|
|
||||||
@ -14678,6 +14777,24 @@ usb:v04B8p1129*
|
|||||||
usb:v04B8p1168*
|
usb:v04B8p1168*
|
||||||
ID_MODEL_FROM_DATABASE=Workforce WF-7820/7840 Series
|
ID_MODEL_FROM_DATABASE=Workforce WF-7820/7840 Series
|
||||||
|
|
||||||
|
usb:v04B8p1186*
|
||||||
|
ID_MODEL_FROM_DATABASE=ET-2820 Series [ET-2820 EcoTank All-in-One]
|
||||||
|
|
||||||
|
usb:v04B8p118A*
|
||||||
|
ID_MODEL_FROM_DATABASE=ET-2810/L3250 Series [EcoTank ET-2810/L3250]
|
||||||
|
|
||||||
|
usb:v04B8p118B*
|
||||||
|
ID_MODEL_FROM_DATABASE=ET-2850/L4260 Series [EcoTank ET-2850/L4260]
|
||||||
|
|
||||||
|
usb:v04B8p11B0*
|
||||||
|
ID_MODEL_FROM_DATABASE=XP-4200 Series [Expression Home XP-4200]
|
||||||
|
|
||||||
|
usb:v04B8p11B9*
|
||||||
|
ID_MODEL_FROM_DATABASE=ET-2830/L3550 Series [EcoTank ET-2830/L3550]
|
||||||
|
|
||||||
|
usb:v04B8p11C8*
|
||||||
|
ID_MODEL_FROM_DATABASE=ET-2860/L3270 Series [EcoTank ET-2860/L3270]
|
||||||
|
|
||||||
usb:v04B9*
|
usb:v04B9*
|
||||||
ID_VENDOR_FROM_DATABASE=Rainbow Technologies, Inc.
|
ID_VENDOR_FROM_DATABASE=Rainbow Technologies, Inc.
|
||||||
|
|
||||||
@ -14930,6 +15047,15 @@ usb:v04BFp1304*
|
|||||||
usb:v04BFp1305*
|
usb:v04BFp1305*
|
||||||
ID_MODEL_FROM_DATABASE=i3 Multi Sensing Module
|
ID_MODEL_FROM_DATABASE=i3 Multi Sensing Module
|
||||||
|
|
||||||
|
usb:v04BFp1400*
|
||||||
|
ID_MODEL_FROM_DATABASE=Javelin Module Recovery
|
||||||
|
|
||||||
|
usb:v04BFp1401*
|
||||||
|
ID_MODEL_FROM_DATABASE=Javelin Module
|
||||||
|
|
||||||
|
usb:v04BFp1500*
|
||||||
|
ID_MODEL_FROM_DATABASE=Gas sensor demo board
|
||||||
|
|
||||||
usb:v04C1*
|
usb:v04C1*
|
||||||
ID_VENDOR_FROM_DATABASE=U.S. Robotics (3Com)
|
ID_VENDOR_FROM_DATABASE=U.S. Robotics (3Com)
|
||||||
|
|
||||||
@ -15044,9 +15170,15 @@ usb:v04C5p125A*
|
|||||||
usb:v04C5p132E*
|
usb:v04C5p132E*
|
||||||
ID_MODEL_FROM_DATABASE=fi-7160
|
ID_MODEL_FROM_DATABASE=fi-7160
|
||||||
|
|
||||||
|
usb:v04C5p1526*
|
||||||
|
ID_MODEL_FROM_DATABASE=PalmSecure-F Pro
|
||||||
|
|
||||||
usb:v04C5p159F*
|
usb:v04C5p159F*
|
||||||
ID_MODEL_FROM_DATABASE=ScanSnap iX1500
|
ID_MODEL_FROM_DATABASE=ScanSnap iX1500
|
||||||
|
|
||||||
|
usb:v04C5p15FF*
|
||||||
|
ID_MODEL_FROM_DATABASE=Fi-8170 Document Scanner [Ricoh fi-8170: High Performance Desktop Scanner - PFU]
|
||||||
|
|
||||||
usb:v04C5p200F*
|
usb:v04C5p200F*
|
||||||
ID_MODEL_FROM_DATABASE=Sigma DP2 (Mass Storage)
|
ID_MODEL_FROM_DATABASE=Sigma DP2 (Mass Storage)
|
||||||
|
|
||||||
@ -15143,6 +15275,9 @@ usb:v04CAp3014*
|
|||||||
usb:v04CAp3015*
|
usb:v04CAp3015*
|
||||||
ID_MODEL_FROM_DATABASE=Qualcomm Atheros QCA9377 Bluetooth
|
ID_MODEL_FROM_DATABASE=Qualcomm Atheros QCA9377 Bluetooth
|
||||||
|
|
||||||
|
usb:v04CAp3802*
|
||||||
|
ID_MODEL_FROM_DATABASE=MediaTek Bluetooth MT7921
|
||||||
|
|
||||||
usb:v04CAp7022*
|
usb:v04CAp7022*
|
||||||
ID_MODEL_FROM_DATABASE=HP HD Webcam
|
ID_MODEL_FROM_DATABASE=HP HD Webcam
|
||||||
|
|
||||||
@ -45938,6 +46073,24 @@ usb:v0E25*
|
|||||||
usb:v0E26*
|
usb:v0E26*
|
||||||
ID_VENDOR_FROM_DATABASE=J-Phone East Co., Ltd
|
ID_VENDOR_FROM_DATABASE=J-Phone East Co., Ltd
|
||||||
|
|
||||||
|
usb:v0E2C*
|
||||||
|
ID_VENDOR_FROM_DATABASE=Materialise Motion NV
|
||||||
|
|
||||||
|
usb:v0E2Cp0012*
|
||||||
|
ID_MODEL_FROM_DATABASE=footscan pressure plate (0.5m)
|
||||||
|
|
||||||
|
usb:v0E2Cp0013*
|
||||||
|
ID_MODEL_FROM_DATABASE=footscan pressure plate (1.0m)
|
||||||
|
|
||||||
|
usb:v0E2Cp0018*
|
||||||
|
ID_MODEL_FROM_DATABASE=footscan 2D interface box
|
||||||
|
|
||||||
|
usb:v0E2Cp0020*
|
||||||
|
ID_MODEL_FROM_DATABASE=footscan pressure plate (1.5m)
|
||||||
|
|
||||||
|
usb:v0E2Cp002D*
|
||||||
|
ID_MODEL_FROM_DATABASE=footscan heavy duty pressure plate (1.0m)
|
||||||
|
|
||||||
usb:v0E2E*
|
usb:v0E2E*
|
||||||
ID_VENDOR_FROM_DATABASE=Brady Worldwide, Inc.
|
ID_VENDOR_FROM_DATABASE=Brady Worldwide, Inc.
|
||||||
|
|
||||||
|
@ -259,6 +259,8 @@ usb:v06CBp0104*
|
|||||||
usb:v06CBp0106*
|
usb:v06CBp0106*
|
||||||
usb:v06CBp0107*
|
usb:v06CBp0107*
|
||||||
usb:v06CBp0108*
|
usb:v06CBp0108*
|
||||||
|
usb:v06CBp0109*
|
||||||
|
usb:v06CBp010A*
|
||||||
usb:v06CBp0123*
|
usb:v06CBp0123*
|
||||||
usb:v06CBp0124*
|
usb:v06CBp0124*
|
||||||
usb:v06CBp0126*
|
usb:v06CBp0126*
|
||||||
@ -269,6 +271,7 @@ usb:v06CBp016C*
|
|||||||
usb:v06CBp0173*
|
usb:v06CBp0173*
|
||||||
usb:v06CBp0174*
|
usb:v06CBp0174*
|
||||||
usb:v06CBp019D*
|
usb:v06CBp019D*
|
||||||
|
usb:v06CBp019F*
|
||||||
ID_AUTOSUSPEND=1
|
ID_AUTOSUSPEND=1
|
||||||
ID_PERSIST=0
|
ID_PERSIST=0
|
||||||
|
|
||||||
|
@ -155,8 +155,8 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspireA317-33:*
|
|||||||
# Acer Aspire One AO532h
|
# Acer Aspire One AO532h
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAO532h:*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAO532h:*
|
||||||
KEYBOARD_KEY_84=bluetooth
|
KEYBOARD_KEY_84=bluetooth
|
||||||
KEYBOARD_KEY_ce=unknown # Brightness Up, also emitted by acpi-video, ignore
|
KEYBOARD_KEY_ce=unknown # Brightness Up, also emitted by acpi-video, ignore
|
||||||
KEYBOARD_KEY_ef=unknown # Brightness Down, also emitted by acpi-video, ignore
|
KEYBOARD_KEY_ef=unknown # Brightness Down, also emitted by acpi-video, ignore
|
||||||
|
|
||||||
# Acer Aspire One AOD270 (Atom N2600) and its Packard Bell Dot SC rebrand
|
# Acer Aspire One AOD270 (Atom N2600) and its Packard Bell Dot SC rebrand
|
||||||
evdev:name:Acer WMI hotkeys:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOD270*:*
|
evdev:name:Acer WMI hotkeys:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOD270*:*
|
||||||
@ -165,8 +165,8 @@ evdev:name:Acer WMI hotkeys:dmi:*:svnPackardBell:pndots:*:rvnPackardBell:rnSJE01
|
|||||||
|
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOD270*:*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOD270*:*
|
||||||
evdev:atkbd:dmi:*:svnPackardBell:pndots:*:rvnPackardBell:rnSJE01_CT:*
|
evdev:atkbd:dmi:*:svnPackardBell:pndots:*:rvnPackardBell:rnSJE01_CT:*
|
||||||
KEYBOARD_KEY_ce=unknown # Brightness Up, also emitted by acpi-video, ignore
|
KEYBOARD_KEY_ce=unknown # Brightness Up, also emitted by acpi-video, ignore
|
||||||
KEYBOARD_KEY_ef=unknown # Brightness Down, also emitted by acpi-video, ignore
|
KEYBOARD_KEY_ef=unknown # Brightness Down, also emitted by acpi-video, ignore
|
||||||
|
|
||||||
# Predator PT314-52s
|
# Predator PT314-52s
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPredator*PT314-52s:pvr*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPredator*PT314-52s:pvr*
|
||||||
@ -243,6 +243,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnNitro*AN*515-58:pvr*
|
|||||||
# Nitro ANV15-51
|
# Nitro ANV15-51
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnNitro*ANV*15-51:pvr*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnNitro*ANV*15-51:pvr*
|
||||||
KEYBOARD_KEY_66=micmute # Microphone mute button
|
KEYBOARD_KEY_66=micmute # Microphone mute button
|
||||||
|
KEYBOARD_KEY_f5=prog1 # NitroSense button
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
# Alienware
|
# Alienware
|
||||||
@ -284,6 +285,21 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnASUS:pn*:*
|
|||||||
KEYBOARD_KEY_ee=volumedown
|
KEYBOARD_KEY_ee=volumedown
|
||||||
KEYBOARD_KEY_ef=mute
|
KEYBOARD_KEY_ef=mute
|
||||||
|
|
||||||
|
# Asus ROG series
|
||||||
|
# Prevents the keyboard from sending POWER and SLEEP key presses
|
||||||
|
# when the keyboard goes to sleep.
|
||||||
|
evdev:input:b*v0B05p*e0111*
|
||||||
|
KEYBOARD_KEY_10081=reserved
|
||||||
|
KEYBOARD_KEY_10082=reserved
|
||||||
|
KEYBOARD_KEY_70070=reserved
|
||||||
|
KEYBOARD_KEY_70071=reserved
|
||||||
|
KEYBOARD_KEY_70072=reserved
|
||||||
|
KEYBOARD_KEY_70073=reserved
|
||||||
|
KEYBOARD_KEY_70074=reserved
|
||||||
|
KEYBOARD_KEY_70075=reserved
|
||||||
|
KEYBOARD_KEY_70076=reserved
|
||||||
|
KEYBOARD_KEY_70077=reserved
|
||||||
|
|
||||||
# Asus TF103C misses the home button in its PNP0C40 GPIO resources
|
# Asus TF103C misses the home button in its PNP0C40 GPIO resources
|
||||||
# causing the volume-button mappings to be off by one, correct this
|
# causing the volume-button mappings to be off by one, correct this
|
||||||
evdev:name:gpio-keys:phys:gpio-keys/input0:ev:3:dmi:*:svnASUSTeKCOMPUTERINC.:pnTF103C*:*
|
evdev:name:gpio-keys:phys:gpio-keys/input0:ev:3:dmi:*:svnASUSTeKCOMPUTERINC.:pnTF103C*:*
|
||||||
@ -303,10 +319,10 @@ evdev:name:gpio-keys:phys:gpio-keys/input0:ev:100003:dmi:*:svnASUSTeKCOMPUTERINC
|
|||||||
# All four of these buttons generate a multi-scancode sequence
|
# All four of these buttons generate a multi-scancode sequence
|
||||||
# consisting of Left_Meta, Right_Ctrl and another scancode.
|
# consisting of Left_Meta, Right_Ctrl and another scancode.
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAYANEO:pnKUN:pvr*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAYANEO:pnKUN:pvr*
|
||||||
KEYBOARD_KEY_18=f15 # LC (next to the left shoulder button)
|
KEYBOARD_KEY_18=f15 # LC (next to the left shoulder button)
|
||||||
KEYBOARD_KEY_20=f16 # RC (next to the right shoulder button)
|
KEYBOARD_KEY_20=f16 # RC (next to the right shoulder button)
|
||||||
KEYBOARD_KEY_28=f17 # Ayaneo (lower-right corner of screen)
|
KEYBOARD_KEY_28=f17 # Ayaneo (lower-right corner of screen)
|
||||||
KEYBOARD_KEY_30=f18 # Touchpad Mode (top-right corner of screen)
|
KEYBOARD_KEY_30=f18 # Touchpad Mode (top-right corner of screen)
|
||||||
|
|
||||||
# Most AYANEO devices expose an AT Translated Set 2 Keyboard
|
# Most AYANEO devices expose an AT Translated Set 2 Keyboard
|
||||||
# for either three or four additional buttons not available
|
# for either three or four additional buttons not available
|
||||||
@ -315,10 +331,10 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAYANEO:pnKUN:pvr*
|
|||||||
# depend on the model, but the final scancode is always the
|
# depend on the model, but the final scancode is always the
|
||||||
# same.
|
# same.
|
||||||
evdev:name:AT Translated Set 2 keyboard:dmi:*:svnAYANEO:*
|
evdev:name:AT Translated Set 2 keyboard:dmi:*:svnAYANEO:*
|
||||||
KEYBOARD_KEY_66=f15 # LC (All models)
|
KEYBOARD_KEY_66=f15 # LC (All models)
|
||||||
KEYBOARD_KEY_67=f16 # RC (All models)
|
KEYBOARD_KEY_67=f16 # RC (All models)
|
||||||
KEYBOARD_KEY_68=f17 # Ayaneo (All models)
|
KEYBOARD_KEY_68=f17 # Ayaneo (All models)
|
||||||
KEYBOARD_KEY_69=f18 # Touchpad Mode (Kun only)
|
KEYBOARD_KEY_69=f18 # Touchpad Mode (Kun only)
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
# BenQ
|
# BenQ
|
||||||
@ -432,10 +448,10 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1210:*
|
|||||||
|
|
||||||
# Dell Inspiron 11 3168
|
# Dell Inspiron 11 3168
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron11-3168:pvr*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron11-3168:pvr*
|
||||||
KEYBOARD_KEY_c7=!home # Fn-LeftArrow
|
KEYBOARD_KEY_c7=!home # Fn-LeftArrow
|
||||||
KEYBOARD_KEY_cf=!end # Fn-RightArrow
|
KEYBOARD_KEY_cf=!end # Fn-RightArrow
|
||||||
KEYBOARD_KEY_c9=!pageup # Fn-UpArrow
|
KEYBOARD_KEY_c9=!pageup # Fn-UpArrow
|
||||||
KEYBOARD_KEY_d1=!pagedown # Fn-DownArrow
|
KEYBOARD_KEY_d1=!pagedown # Fn-DownArrow
|
||||||
|
|
||||||
# Dell Inspiron 1520 and Latitude 2110
|
# Dell Inspiron 1520 and Latitude 2110
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1520:*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1520:*
|
||||||
@ -504,7 +520,7 @@ evdev:name:Dell Privacy Driver:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:*
|
|||||||
|
|
||||||
# Dell Professional Sound Bar AE515
|
# Dell Professional Sound Bar AE515
|
||||||
evdev:input:b0003v413CpA506*
|
evdev:input:b0003v413CpA506*
|
||||||
KEYBOARD_KEY_b002f=micmute # Mic mute toggle
|
KEYBOARD_KEY_b002f=micmute # Mic mute toggle
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
# Everex
|
# Everex
|
||||||
@ -703,10 +719,10 @@ evdev:name:Intel HID events:dmi:bvn*:bvr*:bd*:svnHP*:pnHPENVYx3602-in-1*:*
|
|||||||
|
|
||||||
# HP Elite x2 1013 G3
|
# HP Elite x2 1013 G3
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHPElitex21013G3:*
|
evdev:atkbd:dmi:bvn*:bvr*:svnHP*:pnHPElitex21013G3:*
|
||||||
KEYBOARD_KEY_f8=unknown # rfkill is also reported by HP Wireless hotkeys
|
KEYBOARD_KEY_f8=unknown # rfkill is also reported by HP Wireless hotkeys
|
||||||
KEYBOARD_KEY_64=calendar
|
KEYBOARD_KEY_64=calendar
|
||||||
KEYBOARD_KEY_81=micmute # Microphone mute button
|
KEYBOARD_KEY_81=micmute # Microphone mute button
|
||||||
KEYBOARD_KEY_ee=switchvideomode # Switch display outputs
|
KEYBOARD_KEY_ee=switchvideomode # Switch display outputs
|
||||||
KEYBOARD_KEY_92=brightnessdown
|
KEYBOARD_KEY_92=brightnessdown
|
||||||
KEYBOARD_KEY_97=brightnessup
|
KEYBOARD_KEY_97=brightnessup
|
||||||
|
|
||||||
@ -741,14 +757,14 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2570p*:*
|
|||||||
evdev:atkbd:dmi:bvncoreboot:bvr*:bd*:svnHewlett-Packard*:pn*EliteBook2170p:*
|
evdev:atkbd:dmi:bvncoreboot:bvr*:bd*:svnHewlett-Packard*:pn*EliteBook2170p:*
|
||||||
evdev:atkbd:dmi:bvncoreboot:bvr*:bd*:svnHP*:pn*EliteBook2170p:*
|
evdev:atkbd:dmi:bvncoreboot:bvr*:bd*:svnHP*:pn*EliteBook2170p:*
|
||||||
KEYBOARD_KEY_66=backspace
|
KEYBOARD_KEY_66=backspace
|
||||||
KEYBOARD_KEY_be=battery # Fn+F2
|
KEYBOARD_KEY_be=battery # Fn+F2
|
||||||
KEYBOARD_KEY_d7=switchvideomode # Fn+F4
|
KEYBOARD_KEY_d7=switchvideomode # Fn+F4
|
||||||
KEYBOARD_KEY_a3=mute # Fn+F5
|
KEYBOARD_KEY_a3=mute # Fn+F5
|
||||||
KEYBOARD_KEY_a1=volumedown # Fn+F6
|
KEYBOARD_KEY_a1=volumedown # Fn+F6
|
||||||
KEYBOARD_KEY_a2=volumeup # Fn+F7
|
KEYBOARD_KEY_a2=volumeup # Fn+F7
|
||||||
KEYBOARD_KEY_a4=brightnessdown # Fn+F9
|
KEYBOARD_KEY_a4=brightnessdown # Fn+F9
|
||||||
KEYBOARD_KEY_c3=brightnessup # Fn+F10
|
KEYBOARD_KEY_c3=brightnessup # Fn+F10
|
||||||
KEYBOARD_KEY_e3=wlan # Fn+F12
|
KEYBOARD_KEY_e3=wlan # Fn+F12
|
||||||
|
|
||||||
# Elitebook 2760p
|
# Elitebook 2760p
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2760p*:*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2760p*:*
|
||||||
@ -1126,8 +1142,8 @@ evdev:atkbd:dmi:bvn*:bvr*:svnLENOVO:pn21KH*:pvrThinkBook16G6IRL:*
|
|||||||
KEYBOARD_KEY_b0=!volumeup
|
KEYBOARD_KEY_b0=!volumeup
|
||||||
|
|
||||||
evdev:atkbd:dmi:*:svnLENOVO:*:pvrLenovoYoga300-11IBR:*
|
evdev:atkbd:dmi:*:svnLENOVO:*:pvrLenovoYoga300-11IBR:*
|
||||||
KEYBOARD_KEY_62=unknown # Touchpad on, also emitted by "Ideapad extra buttons", ignore
|
KEYBOARD_KEY_62=unknown # Touchpad on, also emitted by "Ideapad extra buttons", ignore
|
||||||
KEYBOARD_KEY_63=unknown # Touchpad off, also emitted by "Ideapad extra buttons", ignore
|
KEYBOARD_KEY_63=unknown # Touchpad off, also emitted by "Ideapad extra buttons", ignore
|
||||||
|
|
||||||
# Lenovo Y50-70
|
# Lenovo Y50-70
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:svnLENOVO*:pn*20378*:pvr*
|
evdev:atkbd:dmi:bvn*:bvr*:svnLENOVO*:pn*20378*:pvr*
|
||||||
@ -1273,10 +1289,10 @@ evdev:input:b0003v046Dp0056*
|
|||||||
evdev:input:b0003v046Dp0057*
|
evdev:input:b0003v046Dp0057*
|
||||||
KEYBOARD_KEY_c1041=battery # Battery icon (Fn + F1)
|
KEYBOARD_KEY_c1041=battery # Battery icon (Fn + F1)
|
||||||
|
|
||||||
#KEYBOARD_KEY_c101d=scrolldown # Button below scrollwheel (see note above)
|
#KEYBOARD_KEY_c101d=scrolldown # Button below scrollwheel (see note above)
|
||||||
#KEYBOARD_KEY_c101e=scrollup # Button above scrollwheel (see note above)
|
#KEYBOARD_KEY_c101e=scrollup # Button above scrollwheel (see note above)
|
||||||
#KEYBOARD_KEY_c1022=scrollleft # Left click on scroll-wheel (see note above)
|
#KEYBOARD_KEY_c1022=scrollleft # Left click on scroll-wheel (see note above)
|
||||||
#KEYBOARD_KEY_c1024=scrollright # Right click on scroll-wheel (see note above)
|
#KEYBOARD_KEY_c1024=scrollright # Right click on scroll-wheel (see note above)
|
||||||
|
|
||||||
# MX3200 keyboard (27 MHz, modelnumber Y-RAV80)
|
# MX3200 keyboard (27 MHz, modelnumber Y-RAV80)
|
||||||
evdev:input:b0003v046Dp005C*
|
evdev:input:b0003v046Dp005C*
|
||||||
@ -1801,7 +1817,7 @@ evdev:input:b0003v258Ap001E*
|
|||||||
###########################################################
|
###########################################################
|
||||||
|
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*:rvnQuanta:rn30B7:rvr65.2B:*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*:rvnQuanta:rn30B7:rvr65.2B:*
|
||||||
KEYBOARD_KEY_88=media # "quick play
|
KEYBOARD_KEY_88=media # quick play
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
# Redmi
|
# Redmi
|
||||||
@ -1841,17 +1857,17 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*200E[45]*:*
|
|||||||
|
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*356V[45]*:pvr*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*356V[45]*:pvr*
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*355V[45]*:pvr*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*355V[45]*:pvr*
|
||||||
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch control setting
|
KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch control setting
|
||||||
KEYBOARD_KEY_89=!brightnessdown # Fn+F2 brightness down
|
KEYBOARD_KEY_89=!brightnessdown # Fn+F2 brightness down
|
||||||
KEYBOARD_KEY_88=!brightnessup # Fn+F3 brightness up
|
KEYBOARD_KEY_88=!brightnessup # Fn+F3 brightness up
|
||||||
KEYBOARD_KEY_82=!switchvideomode # Fn+F4 display toggle
|
KEYBOARD_KEY_82=!switchvideomode # Fn+F4 display toggle
|
||||||
KEYBOARD_KEY_f7=!touchpad_on # Fn+F5 touchpad on
|
KEYBOARD_KEY_f7=!touchpad_on # Fn+F5 touchpad on
|
||||||
KEYBOARD_KEY_f9=!touchpad_off # Fn+F5 touchpad off
|
KEYBOARD_KEY_f9=!touchpad_off # Fn+F5 touchpad off
|
||||||
KEYBOARD_KEY_a0=!mute # Fn+F6 mute
|
KEYBOARD_KEY_a0=!mute # Fn+F6 mute
|
||||||
KEYBOARD_KEY_ae=!volumedown # Fn+F7 volume down
|
KEYBOARD_KEY_ae=!volumedown # Fn+F7 volume down
|
||||||
KEYBOARD_KEY_b0=!volumeup # Fn+F8 volume up
|
KEYBOARD_KEY_b0=!volumeup # Fn+F8 volume up
|
||||||
KEYBOARD_KEY_b3=!prog2 # Fn+F11 toggle fan/cool mode
|
KEYBOARD_KEY_b3=!prog2 # Fn+F11 toggle fan/cool mode
|
||||||
KEYBOARD_KEY_d5=!wlan # Fn+F12 toggle wifi
|
KEYBOARD_KEY_d5=!wlan # Fn+F12 toggle wifi
|
||||||
|
|
||||||
# Series 5
|
# Series 5
|
||||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*530U*:*
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*530U*:*
|
||||||
@ -2287,6 +2303,11 @@ evdev:name:SIPODEV USB Composite Device:dmi:bvn*:bvr*:svnPositivoTecnologiaSA:pn
|
|||||||
KEYBOARD_KEY_7006d=prog3 # Programmable button
|
KEYBOARD_KEY_7006d=prog3 # Programmable button
|
||||||
KEYBOARD_KEY_7006e=prog4 # Programmable button
|
KEYBOARD_KEY_7006e=prog4 # Programmable button
|
||||||
|
|
||||||
|
# Positivo (K116J)
|
||||||
|
evdev:name:AT Translated Set 2 keyboard:dmi:bvn*:svnPositivo*:pn*:pvr*:rvnPositivo*:rnK116J*
|
||||||
|
KEYBOARD_KEY_69=www
|
||||||
|
KEYBOARD_KEY_6e=search
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
# Multilaser
|
# Multilaser
|
||||||
###########################################################
|
###########################################################
|
||||||
@ -2326,7 +2347,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDIXONSP:pnDIXON*:*
|
|||||||
# The layout must be an xkb compatible layout (defined with XKB_FIXED_LAYOUT),
|
# The layout must be an xkb compatible layout (defined with XKB_FIXED_LAYOUT),
|
||||||
# with an accompanying variant (defined with XKB_FIXED_VARIANT) if necessary.
|
# with an accompanying variant (defined with XKB_FIXED_VARIANT) if necessary.
|
||||||
|
|
||||||
# Yubico Yubico Yubikey II"
|
# Yubico Yubico Yubikey II
|
||||||
evdev:input:b0003v1050p0010*
|
evdev:input:b0003v1050p0010*
|
||||||
# Yubico Yubikey NEO OTP+CCID
|
# Yubico Yubikey NEO OTP+CCID
|
||||||
evdev:input:b0003v1050p0111*
|
evdev:input:b0003v1050p0111*
|
||||||
|
@ -157,7 +157,7 @@ sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT200TA:*
|
|||||||
|
|
||||||
# Asus Transformer Mini T103HAF
|
# Asus Transformer Mini T103HAF
|
||||||
sensor:modalias:platform:HID-SENSOR-200073*:dmi:*svn*ASUSTeK*:pnT103HAF:*
|
sensor:modalias:platform:HID-SENSOR-200073*:dmi:*svn*ASUSTeK*:pnT103HAF:*
|
||||||
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, -1
|
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, -1
|
||||||
|
|
||||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnTP201SA:*
|
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnTP201SA:*
|
||||||
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pn*E205SA:*
|
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pn*E205SA:*
|
||||||
@ -524,7 +524,7 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:svnEVE*:pnEveV:*
|
|||||||
# Exo
|
# Exo
|
||||||
#########################################
|
#########################################
|
||||||
|
|
||||||
# EXO Wings 2in1 w1125
|
# EXO Wings 2in1 w1125
|
||||||
sensor:modalias:acpi:SMO8500*:dmi:*:svnEXO*:pnWings:*
|
sensor:modalias:acpi:SMO8500*:dmi:*:svnEXO*:pnWings:*
|
||||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||||
|
|
||||||
@ -654,7 +654,7 @@ sensor:modalias:acpi:SMO8840*:dmi:*:svnHUAWEI:pnBOHK-WAX9X:*
|
|||||||
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
|
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
|
# I.T.Works TW701 7 inch windows tablet, same hw as Trekstor ST70416-6
|
||||||
sensor:modalias:acpi:BMA250*:dmi:*:bvritWORKS.G.WI71C.JGBMRB*:*:svnInsyde:pni71c:*
|
sensor:modalias:acpi:BMA250*:dmi:*:bvritWORKS.G.WI71C.JGBMRB*:*:svnInsyde:pni71c:*
|
||||||
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
|
||||||
|
|
||||||
@ -866,6 +866,14 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:rvnMETAPHYUNI:rnMetawillBook01:*
|
|||||||
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
|
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
|
||||||
ACCEL_LOCATION=display
|
ACCEL_LOCATION=display
|
||||||
|
|
||||||
|
#########################################
|
||||||
|
# Microtech
|
||||||
|
#########################################
|
||||||
|
|
||||||
|
# Microtech e-tab Pro
|
||||||
|
sensor:modalias:acpi:KIOX000A*:dmi:*:svnMicrotech:pne-tabPro:*
|
||||||
|
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
# MPMAN
|
# MPMAN
|
||||||
#########################################
|
#########################################
|
||||||
@ -900,7 +908,7 @@ sensor:modalias:acpi:KIOX010A*:dmi:*:svnCompletElectroServSA:pnMY8312:*
|
|||||||
# Nuvision (TMax)
|
# Nuvision (TMax)
|
||||||
#########################################
|
#########################################
|
||||||
|
|
||||||
# Nuvision/TMAX 8" Windows signature edition. TM800W560L
|
# Nuvision/TMAX 8 inch Windows signature edition. TM800W560L
|
||||||
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTMAX:pnTM800W560L:*
|
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTMAX:pnTM800W560L:*
|
||||||
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
|
||||||
|
|
||||||
|
@ -68,5 +68,5 @@ usb:v2B71p000E*
|
|||||||
# PowerSpec Ultra 3DPrinter
|
# PowerSpec Ultra 3DPrinter
|
||||||
usb:v0315p0001*
|
usb:v0315p0001*
|
||||||
usb:v2B71p00F6*
|
usb:v2B71p00F6*
|
||||||
usb:v2B71p00FF
|
usb:v2B71p00FF*
|
||||||
ID_MAKER_TOOL=1
|
ID_MAKER_TOOL=1
|
||||||
|
@ -135,4 +135,6 @@ IDEMIA,IDEM,06/26/2018
|
|||||||
"Areus GmbH",AREU,04/07/2025
|
"Areus GmbH",AREU,04/07/2025
|
||||||
"Rockwell Automation, Inc",ROKL,04/18/2025
|
"Rockwell Automation, Inc",ROKL,04/18/2025
|
||||||
"JUMPtec GmbH",JUMP,04/22/2025
|
"JUMPtec GmbH",JUMP,04/22/2025
|
||||||
"Fsas Technologies Inc.",FSAS,04/30/2025
|
"Fsas Technologies Inc.",FSAS,04/30/2025
|
||||||
|
"JP Morgan Chase N.A.",JPMC,05/30/2025
|
||||||
|
"Roku, Inc.",ROKU,07/15/2025
|
|
5537
hwdb.d/ma-large.txt
5537
hwdb.d/ma-large.txt
File diff suppressed because it is too large
Load Diff
@ -872,12 +872,6 @@ C4-A1-0E (hex) Ayla Networks (Shenzhen) Co., Ltd.
|
|||||||
Shenzhen 518000
|
Shenzhen 518000
|
||||||
CN
|
CN
|
||||||
|
|
||||||
70-50-E7 (hex) Shenzhen Dangs Science and Technology CO.,Ltd.
|
|
||||||
800000-8FFFFF (base 16) Shenzhen Dangs Science and Technology CO.,Ltd.
|
|
||||||
9th Floor of GDC Building, Gaoxin Middle 3rd St.,Nanshan District
|
|
||||||
Shenzhen GuangDong 518063
|
|
||||||
CN
|
|
||||||
|
|
||||||
C4-A1-0E (hex) Connectlab SRL
|
C4-A1-0E (hex) Connectlab SRL
|
||||||
D00000-DFFFFF (base 16) Connectlab SRL
|
D00000-DFFFFF (base 16) Connectlab SRL
|
||||||
via donatello 30
|
via donatello 30
|
||||||
@ -7157,18 +7151,6 @@ F0-12-04 (hex) MetaX
|
|||||||
Shanghai 200000
|
Shanghai 200000
|
||||||
CN
|
CN
|
||||||
|
|
||||||
2C-7A-F4 (hex) Kegao Intelligent Garden Technology(Guangdong) Co.,Ltd.
|
|
||||||
400000-4FFFFF (base 16) Kegao Intelligent Garden Technology(Guangdong) Co.,Ltd.
|
|
||||||
8/F Building D,No.39, East Keji Avenue, Shishan Town Nanhai District
|
|
||||||
Foshan Guangdong 528225
|
|
||||||
CN
|
|
||||||
|
|
||||||
2C-7A-F4 (hex) Shenzhen Yitoa Digital Technology Co., Ltd.
|
|
||||||
300000-3FFFFF (base 16) Shenzhen Yitoa Digital Technology Co., Ltd.
|
|
||||||
7th floor, Building 1, Jiancang Technology Park, Bao'an, Shenzhen, China
|
|
||||||
Shenzhen GuangDong 518000
|
|
||||||
CN
|
|
||||||
|
|
||||||
2C-7A-F4 (hex) ShangYu Auto Technology Co.,Ltd
|
2C-7A-F4 (hex) ShangYu Auto Technology Co.,Ltd
|
||||||
600000-6FFFFF (base 16) ShangYu Auto Technology Co.,Ltd
|
600000-6FFFFF (base 16) ShangYu Auto Technology Co.,Ltd
|
||||||
No. 69 Yuanda Road, Anting Town, Jiading District, Shanghai
|
No. 69 Yuanda Road, Anting Town, Jiading District, Shanghai
|
||||||
@ -7181,11 +7163,17 @@ F0-12-04 (hex) MetaX
|
|||||||
Xi'An Shaanxi 710000
|
Xi'An Shaanxi 710000
|
||||||
CN
|
CN
|
||||||
|
|
||||||
FC-A2-DF (hex) Solink Corporation
|
2C-7A-F4 (hex) Shenzhen Yitoa Digital Technology Co., Ltd.
|
||||||
000000-0FFFFF (base 16) Solink Corporation
|
300000-3FFFFF (base 16) Shenzhen Yitoa Digital Technology Co., Ltd.
|
||||||
110-390 March Road
|
7th floor, Building 1, Jiancang Technology Park, Bao'an, Shenzhen, China
|
||||||
Ottawa Ontario K2K 0G7
|
Shenzhen GuangDong 518000
|
||||||
CA
|
CN
|
||||||
|
|
||||||
|
2C-7A-F4 (hex) Kegao Intelligent Garden Technology(Guangdong) Co.,Ltd.
|
||||||
|
400000-4FFFFF (base 16) Kegao Intelligent Garden Technology(Guangdong) Co.,Ltd.
|
||||||
|
8/F Building D,No.39, East Keji Avenue, Shishan Town Nanhai District
|
||||||
|
Foshan Guangdong 528225
|
||||||
|
CN
|
||||||
|
|
||||||
FC-A2-DF (hex) TiGHT AV
|
FC-A2-DF (hex) TiGHT AV
|
||||||
C00000-CFFFFF (base 16) TiGHT AV
|
C00000-CFFFFF (base 16) TiGHT AV
|
||||||
@ -7193,6 +7181,120 @@ C00000-CFFFFF (base 16) TiGHT AV
|
|||||||
Billdal 427 40
|
Billdal 427 40
|
||||||
SE
|
SE
|
||||||
|
|
||||||
|
FC-A2-DF (hex) PAVONE SISTEMI SRL
|
||||||
|
300000-3FFFFF (base 16) PAVONE SISTEMI SRL
|
||||||
|
Via Tiberio Bianchi 11-13-15
|
||||||
|
Concorezzo MB 20863
|
||||||
|
IT
|
||||||
|
|
||||||
|
FC-A2-DF (hex) Solink Corporation
|
||||||
|
000000-0FFFFF (base 16) Solink Corporation
|
||||||
|
110-390 March Road
|
||||||
|
Ottawa Ontario K2K 0G7
|
||||||
|
CA
|
||||||
|
|
||||||
|
FC-A2-DF (hex) Lumentum
|
||||||
|
B00000-BFFFFF (base 16) Lumentum
|
||||||
|
60/129 Moo 19, Klongnueng
|
||||||
|
Klongluang Pathumthani 12120
|
||||||
|
TH
|
||||||
|
|
||||||
|
04-58-5D (hex) Chengdu Juxun Electronic Technology Co.,Ltd
|
||||||
|
B00000-BFFFFF (base 16) Chengdu Juxun Electronic Technology Co.,Ltd
|
||||||
|
No.327 Xingye Road, Industrial East District, Xindu District, Chengdu City, China
|
||||||
|
Chengdu Sichuan 610500
|
||||||
|
CN
|
||||||
|
|
||||||
|
04-58-5D (hex) Shenzhen C & D Electronics Co., Ltd.
|
||||||
|
E00000-EFFFFF (base 16) Shenzhen C & D Electronics Co., Ltd.
|
||||||
|
9th FIoor, Building 9, No.1 Qingxiang road, BaoNeng Science and TechnoIogy Industrial Park, Longhua New District
|
||||||
|
ShenZhen GuangDong 518000
|
||||||
|
CN
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Steelco SpA
|
||||||
|
000000-0FFFFF (base 16) Steelco SpA
|
||||||
|
via Balegante 27
|
||||||
|
Riese Pio X (TV) 31039
|
||||||
|
IT
|
||||||
|
|
||||||
|
B0-CC-CE (hex) MULTI-FIELD LOW TEMPERATURE TECHNOLOGY(BEIJING) CO., LTD.
|
||||||
|
600000-6FFFFF (base 16) MULTI-FIELD LOW TEMPERATURE TECHNOLOGY(BEIJING) CO., LTD.
|
||||||
|
Room 505, 5th Floor, Building 2, No. 11, Xingke East Street, Yanqi Economic Development Zone, Huairou District, Beijing, P.R.China
|
||||||
|
北京 101400
|
||||||
|
CN
|
||||||
|
|
||||||
|
B0-CC-CE (hex) 4MOD Technology
|
||||||
|
200000-2FFFFF (base 16) 4MOD Technology
|
||||||
|
4 Rue de la Cornouaille
|
||||||
|
Nantes 44300
|
||||||
|
FR
|
||||||
|
|
||||||
|
70-50-E7 (hex) Shenzhen Dangs Science and Technology CO.,Ltd.
|
||||||
|
800000-8FFFFF (base 16) Shenzhen Dangs Science and Technology CO.,Ltd.
|
||||||
|
9th Floor of GDC Building, Gaoxin Middle 3rd St.,Nanshan District
|
||||||
|
Shenzhen GuangDong 518063
|
||||||
|
CN
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Shanghai CloudPrime.ai Technology Co, Ltd
|
||||||
|
800000-8FFFFF (base 16) Shanghai CloudPrime.ai Technology Co, Ltd
|
||||||
|
Room 202, Building 11, No. 789, Puxing Road, Minhang District
|
||||||
|
Shanghai 200000
|
||||||
|
CN
|
||||||
|
|
||||||
|
78-78-35 (hex) Jiaxing Cyber Sensor Intelligent Technology Co., Ltd.
|
||||||
|
400000-4FFFFF (base 16) Jiaxing Cyber Sensor Intelligent Technology Co., Ltd.
|
||||||
|
Room 301, Building 9, No.89 YueMing Road
|
||||||
|
Tongxiang Zhejiang 314500
|
||||||
|
CN
|
||||||
|
|
||||||
|
78-78-35 (hex) MAICUN Information Technology(Shanghai)Co.,Ltd
|
||||||
|
600000-6FFFFF (base 16) MAICUN Information Technology(Shanghai)Co.,Ltd
|
||||||
|
Room 312,No. 2525, Chun shen Road, Minhang District
|
||||||
|
shanghai 210000
|
||||||
|
CN
|
||||||
|
|
||||||
|
FC-E4-98 (hex) SATEL Ltd
|
||||||
|
A00000-AFFFFF (base 16) SATEL Ltd
|
||||||
|
21, Balakirevsky pereulok
|
||||||
|
Moscow 105082
|
||||||
|
RU
|
||||||
|
|
||||||
|
FC-E4-98 (hex) TIH Microelectronics Technology Co. Ltd.
|
||||||
|
E00000-EFFFFF (base 16) TIH Microelectronics Technology Co. Ltd.
|
||||||
|
Room 3611, 36th Floor, Building A, Shandong Big Data Industry Base, Jinan City, Shandong Province, China
|
||||||
|
Jinan SHANDONG 250101
|
||||||
|
CN
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Bethlabs(Tianjin)Technology Co.,Ltd.
|
||||||
|
A00000-AFFFFF (base 16) Bethlabs(Tianjin)Technology Co.,Ltd.
|
||||||
|
Suite 109, 24 Minhe Road, Xiqing Economic and Technological Development Zone
|
||||||
|
Tianjin Tianjin 300380
|
||||||
|
CN
|
||||||
|
|
||||||
|
34-B5-F3 (hex) ADDSOFT TECHNOLOGIES LIMITED
|
||||||
|
000000-0FFFFF (base 16) ADDSOFT TECHNOLOGIES LIMITED
|
||||||
|
647/2219, NUAPATNA, TELENGAPENTHA
|
||||||
|
CUTTACK ODISHA 754001
|
||||||
|
IN
|
||||||
|
|
||||||
|
00-6A-5E (hex) Jiangsu Alstom NUG Propulsion System Co., Ltd
|
||||||
|
700000-7FFFFF (base 16) Jiangsu Alstom NUG Propulsion System Co., Ltd
|
||||||
|
No.199 South Fenglin Rd.,WujinNational Hi-tech Development Zone
|
||||||
|
CHANGZHOU JIANGSU 213166
|
||||||
|
CN
|
||||||
|
|
||||||
|
00-6A-5E (hex) Hilti Corporation
|
||||||
|
800000-8FFFFF (base 16) Hilti Corporation
|
||||||
|
Feldkircherstrasse 100
|
||||||
|
Schaan 9494
|
||||||
|
LI
|
||||||
|
|
||||||
|
00-6A-5E (hex) Oppermann Regelgeräte GmbH
|
||||||
|
E00000-EFFFFF (base 16) Oppermann Regelgeräte GmbH
|
||||||
|
Im Spitzhau 1
|
||||||
|
Leinfelden-Echterdingen 70771
|
||||||
|
DE
|
||||||
|
|
||||||
B8-4C-87 (hex) Shenzhen Link-all Technology Co., Ltd
|
B8-4C-87 (hex) Shenzhen Link-all Technology Co., Ltd
|
||||||
300000-3FFFFF (base 16) Shenzhen Link-all Technology Co., Ltd
|
300000-3FFFFF (base 16) Shenzhen Link-all Technology Co., Ltd
|
||||||
Floor 5th, Block 9th, Sunny Industrial Zone, Xili Town, Nanshan District, Shenzhen, China
|
Floor 5th, Block 9th, Sunny Industrial Zone, Xili Town, Nanshan District, Shenzhen, China
|
||||||
@ -13826,6 +13928,132 @@ FC-A2-DF (hex) Hangzhou Laizhi Technology Co.,Ltd
|
|||||||
hangzhou zhejiang 310011
|
hangzhou zhejiang 310011
|
||||||
CN
|
CN
|
||||||
|
|
||||||
|
04-58-5D (hex) HKC Security Ltd.
|
||||||
|
700000-7FFFFF (base 16) HKC Security Ltd.
|
||||||
|
Parkway Business Centre
|
||||||
|
Ballymount Dublin D24 WY49
|
||||||
|
IE
|
||||||
|
|
||||||
|
04-58-5D (hex) TELEPLATFORMS
|
||||||
|
A00000-AFFFFF (base 16) TELEPLATFORMS
|
||||||
|
Polbina st., 3/1
|
||||||
|
Moscow 109388
|
||||||
|
RU
|
||||||
|
|
||||||
|
D4-A0-FB (hex) Parpro System Corporation
|
||||||
|
800000-8FFFFF (base 16) Parpro System Corporation
|
||||||
|
6F, No. 478, Sec. 5, ZhongShan N. Rd.,
|
||||||
|
Taipei Select State 111005
|
||||||
|
TW
|
||||||
|
|
||||||
|
D4-A0-FB (hex) Hangteng (HK) Technology Co., Limited
|
||||||
|
900000-9FFFFF (base 16) Hangteng (HK) Technology Co., Limited
|
||||||
|
銅鑼灣 伊榮街9號欣榮商業大廈 16 樓 1602 室
|
||||||
|
HONGKONG 1
|
||||||
|
HK
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Faaftech
|
||||||
|
C00000-CFFFFF (base 16) Faaftech
|
||||||
|
Rua 90, N 929, Setor Sul
|
||||||
|
Goiânia Goias 74093020
|
||||||
|
BR
|
||||||
|
|
||||||
|
B0-CC-CE (hex) MICROTEST
|
||||||
|
E00000-EFFFFF (base 16) MICROTEST
|
||||||
|
14 F.-6, No. 79, Sec. 1, Xintai 5th Rd., Xizhi Dist.
|
||||||
|
New Taipei 221432
|
||||||
|
TW
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Shenzhen Xtooltech Intelligent Co.,Ltd.
|
||||||
|
400000-4FFFFF (base 16) Shenzhen Xtooltech Intelligent Co.,Ltd.
|
||||||
|
17&18/F, A2 Building, Creative City, Liuxian Avenue, Nanshan District, Shenzhen, China
|
||||||
|
Shenzhen Guangdong 518052
|
||||||
|
CN
|
||||||
|
|
||||||
|
B0-CC-CE (hex) EBI Patient Care, Inc.
|
||||||
|
700000-7FFFFF (base 16) EBI Patient Care, Inc.
|
||||||
|
484 Calle E
|
||||||
|
Guaynabo PR 00969
|
||||||
|
US
|
||||||
|
|
||||||
|
78-78-35 (hex) Skylight
|
||||||
|
A00000-AFFFFF (base 16) Skylight
|
||||||
|
101a Clay Street #144
|
||||||
|
San Francisco CA 94111
|
||||||
|
US
|
||||||
|
|
||||||
|
78-78-35 (hex) EHTech (Beijing)Co., Ltd.
|
||||||
|
200000-2FFFFF (base 16) EHTech (Beijing)Co., Ltd.
|
||||||
|
2nd Floor, Building 6 (Block D), No.5 Shengfang Road, Daxing District
|
||||||
|
Beijing 102627
|
||||||
|
CN
|
||||||
|
|
||||||
|
FC-E4-98 (hex) GIGA Copper Networks GmbH
|
||||||
|
B00000-BFFFFF (base 16) GIGA Copper Networks GmbH
|
||||||
|
Rückerstraße 10
|
||||||
|
Düsseldorf 40470
|
||||||
|
DE
|
||||||
|
|
||||||
|
FC-E4-98 (hex) Shenzhen C & D Electronics Co., Ltd.
|
||||||
|
300000-3FFFFF (base 16) Shenzhen C & D Electronics Co., Ltd.
|
||||||
|
9th FIoor, Building 9, No.1 Qingxiang road, BaoNeng Science and TechnoIogy Industrial Park, Longhua New District
|
||||||
|
ShenZhen GuangDong 518000
|
||||||
|
CN
|
||||||
|
|
||||||
|
FC-E4-98 (hex) TScale Electronics Mfg. (Kunshan) Co., Ltd
|
||||||
|
400000-4FFFFF (base 16) TScale Electronics Mfg. (Kunshan) Co., Ltd
|
||||||
|
No. 99 Jingwei Road, Zhoushi
|
||||||
|
Kunshan 215300
|
||||||
|
CN
|
||||||
|
|
||||||
|
FC-E4-98 (hex) ART Finex Co.,Ltd.
|
||||||
|
200000-2FFFFF (base 16) ART Finex Co.,Ltd.
|
||||||
|
6-1-33,KAMIKOBATACHO,SABAE-SHI
|
||||||
|
Fukui-ken 916-0037
|
||||||
|
JP
|
||||||
|
|
||||||
|
FC-E4-98 (hex) NTCSOFT
|
||||||
|
000000-0FFFFF (base 16) NTCSOFT
|
||||||
|
A925, A926, Gwangmyeong G-Tower, 190, Soha-Ro
|
||||||
|
Gwangmyeong-Si, Gyeonggi-do 14322
|
||||||
|
KR
|
||||||
|
|
||||||
|
34-B5-F3 (hex) JENESIS(SHEN ZHEN)CO.,LTD.
|
||||||
|
600000-6FFFFF (base 16) JENESIS(SHEN ZHEN)CO.,LTD.
|
||||||
|
6th Floor, Building A, Tiange Science and Technology Park, No. 2 Luo Zu Industrial Avenue, Luo Zu Community, Shiyan Street, Bao'an District
|
||||||
|
Shenzhen Guangdong 518108
|
||||||
|
CN
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Kyokuto Solutions Inc.
|
||||||
|
500000-5FFFFF (base 16) Kyokuto Solutions Inc.
|
||||||
|
5-9-3 Nishitenma Kita-ku
|
||||||
|
Osaka-shi Osaka 530-0047
|
||||||
|
JP
|
||||||
|
|
||||||
|
00-6A-5E (hex) Shenzhen Lightx Technology Co., Ltd
|
||||||
|
600000-6FFFFF (base 16) Shenzhen Lightx Technology Co., Ltd
|
||||||
|
RM 1006, 10/F PO YIP BLDG, 23 HING YIP ST, Kwun Tong, Kowloon, Hong Kong
|
||||||
|
Hong Kong 000
|
||||||
|
HK
|
||||||
|
|
||||||
|
00-6A-5E (hex) CYBERTEL BRIDGE
|
||||||
|
C00000-CFFFFF (base 16) CYBERTEL BRIDGE
|
||||||
|
9th floor, Hansin IT Tower, 272, Digital-ro,Guro-gu
|
||||||
|
Seoul 08389
|
||||||
|
KR
|
||||||
|
|
||||||
|
00-6A-5E (hex) Annapurna labs
|
||||||
|
A00000-AFFFFF (base 16) Annapurna labs
|
||||||
|
Matam Scientific Industries Center, Building 8.2
|
||||||
|
Mail box 15123 Haifa 3508409
|
||||||
|
IL
|
||||||
|
|
||||||
|
00-6A-5E (hex) Beijing Lingji Innovations technology Co,LTD.
|
||||||
|
D00000-DFFFFF (base 16) Beijing Lingji Innovations technology Co,LTD.
|
||||||
|
Room 106, 1st Floor, A-1 Building, Zhongguancun Dongsheng Science and Technology Park, No. 66 Xixiaokou Road, Haidian District, Beijing
|
||||||
|
Beijing Beijing 100190
|
||||||
|
CN
|
||||||
|
|
||||||
B8-4C-87 (hex) Altronix , Corp
|
B8-4C-87 (hex) Altronix , Corp
|
||||||
A00000-AFFFFF (base 16) Altronix , Corp
|
A00000-AFFFFF (base 16) Altronix , Corp
|
||||||
140 58th St. Bldg A, Ste 2N
|
140 58th St. Bldg A, Ste 2N
|
||||||
@ -18512,12 +18740,6 @@ A4-58-0F (hex) Ksenia Security srl
|
|||||||
Mail box 15123 Haifa 3508409
|
Mail box 15123 Haifa 3508409
|
||||||
IL
|
IL
|
||||||
|
|
||||||
7C-CB-E2 (hex) Aplex Technology Inc.
|
|
||||||
E00000-EFFFFF (base 16) Aplex Technology Inc.
|
|
||||||
501-5B01,Xintianxia phase 2 building,Wankecheng community,Bantian township,Longgang district
|
|
||||||
Shenzhen City Guangdong 518129
|
|
||||||
CN
|
|
||||||
|
|
||||||
7C-CB-E2 (hex) Hangzhou Haohaokaiche Technology Co.,Ltd.
|
7C-CB-E2 (hex) Hangzhou Haohaokaiche Technology Co.,Ltd.
|
||||||
900000-9FFFFF (base 16) Hangzhou Haohaokaiche Technology Co.,Ltd.
|
900000-9FFFFF (base 16) Hangzhou Haohaokaiche Technology Co.,Ltd.
|
||||||
Building 7, Haichuang Park, No.998 Wenyi West Road, Yuhang District
|
Building 7, Haichuang Park, No.998 Wenyi West Road, Yuhang District
|
||||||
@ -20189,12 +20411,6 @@ C4-CC-37 (hex) KAIS Co.,Ltd.
|
|||||||
Farmingdale NY 11735
|
Farmingdale NY 11735
|
||||||
US
|
US
|
||||||
|
|
||||||
60-A4-34 (hex) Hangzhou Zhongxinhui lntelligent Technology Co.,Ltd.
|
|
||||||
200000-2FFFFF (base 16) Hangzhou Zhongxinhui lntelligent Technology Co.,Ltd.
|
|
||||||
Room 17337, No. 260 Jiangshu Road, Xixing Street, Binjiang District, Hangzhou City, Zhejiang Province
|
|
||||||
Hangzhou 310000
|
|
||||||
CN
|
|
||||||
|
|
||||||
C8-FF-BF (hex) Cognizant Mobility GmbH
|
C8-FF-BF (hex) Cognizant Mobility GmbH
|
||||||
200000-2FFFFF (base 16) Cognizant Mobility GmbH
|
200000-2FFFFF (base 16) Cognizant Mobility GmbH
|
||||||
Ingolstädter Str. 45
|
Ingolstädter Str. 45
|
||||||
@ -20843,12 +21059,6 @@ A00000-AFFFFF (base 16) TECHWIN SOLUTIONS PVT LTD
|
|||||||
NEW DELHI DELHI 110020
|
NEW DELHI DELHI 110020
|
||||||
IN
|
IN
|
||||||
|
|
||||||
F8-2B-E6 (hex) Maia Tech, Inc
|
|
||||||
C00000-CFFFFF (base 16) Maia Tech, Inc
|
|
||||||
77 S. Bedford Street
|
|
||||||
Burlington MA 01803
|
|
||||||
US
|
|
||||||
|
|
||||||
F8-2B-E6 (hex) Hitek Electronics Co.,Ltd
|
F8-2B-E6 (hex) Hitek Electronics Co.,Ltd
|
||||||
800000-8FFFFF (base 16) Hitek Electronics Co.,Ltd
|
800000-8FFFFF (base 16) Hitek Electronics Co.,Ltd
|
||||||
203-404,397 Seokcheon-ro,Ojeong-gu,Bucheon-si,Gyeonggi-do,14449,Republic of korea
|
203-404,397 Seokcheon-ro,Ojeong-gu,Bucheon-si,Gyeonggi-do,14449,Republic of korea
|
||||||
@ -20945,12 +21155,192 @@ B00000-BFFFFF (base 16) Arira Platforms, LLC
|
|||||||
San Jose CA 95110
|
San Jose CA 95110
|
||||||
US
|
US
|
||||||
|
|
||||||
|
FC-A2-DF (hex) shenzhen zovoton electronic co.,ltd
|
||||||
|
600000-6FFFFF (base 16) shenzhen zovoton electronic co.,ltd
|
||||||
|
1F 4 Blok, jinrui zhonghe industrial park, huarong road, tongsheng community, dalang street, longhua district, Shenzhen city, Guangdong province, china
|
||||||
|
shenzhen guangdong 518100
|
||||||
|
CN
|
||||||
|
|
||||||
FC-A2-DF (hex) Beijing KSL Electromechanical Technology Development Co.,Ltd
|
FC-A2-DF (hex) Beijing KSL Electromechanical Technology Development Co.,Ltd
|
||||||
900000-9FFFFF (base 16) Beijing KSL Electromechanical Technology Development Co.,Ltd
|
900000-9FFFFF (base 16) Beijing KSL Electromechanical Technology Development Co.,Ltd
|
||||||
Room 501-1, 5th Floor, Building 23, Courtyard 6, Haiying Road, Fengtai District, Beijing, China
|
Room 501-1, 5th Floor, Building 23, Courtyard 6, Haiying Road, Fengtai District, Beijing, China
|
||||||
Beijing 100071
|
Beijing 100071
|
||||||
CN
|
CN
|
||||||
|
|
||||||
|
60-A4-34 (hex) Hangzhou Zhongxinhui lntelligent Technology Co.,Ltd.
|
||||||
|
200000-2FFFFF (base 16) Hangzhou Zhongxinhui lntelligent Technology Co.,Ltd.
|
||||||
|
Room 809, Building B, No. 567 Yueming Road, Xixing Street,
|
||||||
|
Hangzhou Binjiang Distric 310000
|
||||||
|
CN
|
||||||
|
|
||||||
|
FC-A2-DF (hex) Orion Power Systems, Inc.
|
||||||
|
E00000-EFFFFF (base 16) Orion Power Systems, Inc.
|
||||||
|
2939 W. Beaver Street
|
||||||
|
Jacksonville FL 32254
|
||||||
|
US
|
||||||
|
|
||||||
|
04-58-5D (hex) VERTE Elektronik San. Ve Tic. A.Ş.
|
||||||
|
600000-6FFFFF (base 16) VERTE Elektronik San. Ve Tic. A.Ş.
|
||||||
|
Ankara Teknopark, Serhat Mahallesi, 2224. Cadde, No:1/43, (Z13) F Blok Zemin Kat Tax Office: İvedik Tax Number: 9250982676
|
||||||
|
Yenimahalle ANKARA 06374
|
||||||
|
TR
|
||||||
|
|
||||||
|
04-58-5D (hex) Rexon Technology
|
||||||
|
C00000-CFFFFF (base 16) Rexon Technology
|
||||||
|
No. 261, Renhua Rd., Dali Dist.
|
||||||
|
Taichung City 412037
|
||||||
|
TW
|
||||||
|
|
||||||
|
04-58-5D (hex) Research Laboratory of Design Automation, Ltd.
|
||||||
|
100000-1FFFFF (base 16) Research Laboratory of Design Automation, Ltd.
|
||||||
|
8 Birzhevoy Spusk
|
||||||
|
Taganrog 347900
|
||||||
|
RU
|
||||||
|
|
||||||
|
D4-A0-FB (hex) Skyfri Corp
|
||||||
|
700000-7FFFFF (base 16) Skyfri Corp
|
||||||
|
800 North State Street Suite 403
|
||||||
|
City of Dover DE 19901
|
||||||
|
US
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Watermark Systems (India) Private Limited
|
||||||
|
B00000-BFFFFF (base 16) Watermark Systems (India) Private Limited
|
||||||
|
1010, Maker Chambers 5, Nariman Point, Mumbai
|
||||||
|
Mumbai Maharashtra 400021
|
||||||
|
IN
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Gateview Technologies
|
||||||
|
300000-3FFFFF (base 16) Gateview Technologies
|
||||||
|
2616 Port Industrial Drive
|
||||||
|
JACKSONVILLE FL 32226
|
||||||
|
US
|
||||||
|
|
||||||
|
D4-A0-FB (hex) Snap-on Tools
|
||||||
|
C00000-CFFFFF (base 16) Snap-on Tools
|
||||||
|
19220 San Jose Ave.
|
||||||
|
City of Industry CA 91748
|
||||||
|
US
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Beijing Viazijing Technology Co., Ltd.
|
||||||
|
500000-5FFFFF (base 16) Beijing Viazijing Technology Co., Ltd.
|
||||||
|
9 Xue Qing Road, Hai Dian District
|
||||||
|
Beijing 100085
|
||||||
|
CN
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Xiaomi EV Technology Co., Ltd.
|
||||||
|
D00000-DFFFFF (base 16) Xiaomi EV Technology Co., Ltd.
|
||||||
|
Room 618, Floor 6, Building 5, Yard 15, Kechuang Tenth Street, Beijing Economic and Technological Development Zone, Beijing
|
||||||
|
Beijing Beijing 100176
|
||||||
|
CN
|
||||||
|
|
||||||
|
78-78-35 (hex) Ambient Life Inc.
|
||||||
|
700000-7FFFFF (base 16) Ambient Life Inc.
|
||||||
|
321 Walnut St, #325Newton MA 02460
|
||||||
|
Newton MA 02460
|
||||||
|
US
|
||||||
|
|
||||||
|
F8-2B-E6 (hex) MaiaEdge, Inc.
|
||||||
|
C00000-CFFFFF (base 16) MaiaEdge, Inc.
|
||||||
|
77 S. Bedford Street
|
||||||
|
Burlington MA 01803
|
||||||
|
US
|
||||||
|
|
||||||
|
FC-E4-98 (hex) Siretta Ltd
|
||||||
|
C00000-CFFFFF (base 16) Siretta Ltd
|
||||||
|
Basingstoke Rd, Spencers Wood, Reading
|
||||||
|
Reading RG7 1PW
|
||||||
|
GB
|
||||||
|
|
||||||
|
78-78-35 (hex) BLOOM VIEW LIMITED
|
||||||
|
900000-9FFFFF (base 16) BLOOM VIEW LIMITED
|
||||||
|
Room 1502 ,Easey Commercial Building
|
||||||
|
WANCHAI HONG KONG
|
||||||
|
HK
|
||||||
|
|
||||||
|
FC-E4-98 (hex) Changzhou Leading Weighing Technology Co., Ltd
|
||||||
|
800000-8FFFFF (base 16) Changzhou Leading Weighing Technology Co., Ltd
|
||||||
|
Builing 31, No.9 Caoxi Road, Changzhou,Jiangsu
|
||||||
|
Changzhou 213000
|
||||||
|
CN
|
||||||
|
|
||||||
|
7C-CB-E2 (hex) Aplex Technology Inc.
|
||||||
|
E00000-EFFFFF (base 16) Aplex Technology Inc.
|
||||||
|
15F-1, No.186, Jian Yi Road
|
||||||
|
Zhonghe District New Taipei City 235 -
|
||||||
|
TW
|
||||||
|
|
||||||
|
FC-E4-98 (hex) SM Instruments
|
||||||
|
500000-5FFFFF (base 16) SM Instruments
|
||||||
|
20, Yuseong-daero 1184beon-gil
|
||||||
|
Daejeon Yuseong-gu 34109
|
||||||
|
KR
|
||||||
|
|
||||||
|
34-B5-F3 (hex) WEAD GmbH
|
||||||
|
300000-3FFFFF (base 16) WEAD GmbH
|
||||||
|
Retzfeld 7
|
||||||
|
Sankt Georgen an der Gusen 4222
|
||||||
|
AT
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Shanghai Sigen New Energy Technology Co., Ltd
|
||||||
|
800000-8FFFFF (base 16) Shanghai Sigen New Energy Technology Co., Ltd
|
||||||
|
Room 514 The 5th Floor, No.175 Weizhan Road China (Shanghai) Plilot Free Trade Zone
|
||||||
|
Shanghai 201306
|
||||||
|
CN
|
||||||
|
|
||||||
|
00-6A-5E (hex) Rayneo (wuxi) ltd
|
||||||
|
500000-5FFFFF (base 16) Rayneo (wuxi) ltd
|
||||||
|
No. 6 Huaqing Innovation Park, Huishan District, Wuxi City
|
||||||
|
WUXI JiangSu 214100
|
||||||
|
CN
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Shenzhen Mifasuolla Smart Co.,Ltd
|
||||||
|
C00000-CFFFFF (base 16) Shenzhen Mifasuolla Smart Co.,Ltd
|
||||||
|
No. 15 Hongbu Road, Majialong Community, Nantou Subdistrict, Nanshan District
|
||||||
|
Shenzhen Guangdong 518052
|
||||||
|
CN
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Digicom
|
||||||
|
D00000-DFFFFF (base 16) Digicom
|
||||||
|
The 4th floor, Building No.4, Xiangshan South Road 105#, Shijingshan, Beijing, China
|
||||||
|
BEIJING 100144
|
||||||
|
CN
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Viettel Manufacturing Corporation One Member Limited Liability Company
|
||||||
|
E00000-EFFFFF (base 16) Viettel Manufacturing Corporation One Member Limited Liability Company
|
||||||
|
An Binh Hamlet, An Khanh Commune
|
||||||
|
Ha Noi Ha Noi 100000
|
||||||
|
VN
|
||||||
|
|
||||||
|
00-6A-5E (hex) Creative Communication
|
||||||
|
200000-2FFFFF (base 16) Creative Communication
|
||||||
|
113/1, Parahupur, Mughalsarai,
|
||||||
|
Mughalsarai Uttar Pradesh(UP) 232101
|
||||||
|
IN
|
||||||
|
|
||||||
|
00-6A-5E (hex) Shenzhen yeahmoo Technology Co., Ltd.
|
||||||
|
300000-3FFFFF (base 16) Shenzhen yeahmoo Technology Co., Ltd.
|
||||||
|
Room 103, 1st Floor, Building 4, Yunli Intelligent Park, No. 3 Changfa Middle Road,Yangmei Community, Bantian Street, Longgang District,
|
||||||
|
Shenzhen Guangdong Province 518100
|
||||||
|
CN
|
||||||
|
|
||||||
|
04-58-5D (hex) HDS Otomasyon Güvenlik ve Yazılım Teknolojileri Sanayi Ticaret Limited Şirketi
|
||||||
|
D00000-DFFFFF (base 16) HDS Otomasyon Güvenlik ve Yazılım Teknolojileri Sanayi Ticaret Limited Şirketi
|
||||||
|
Merkez Mahallesi Sadabad Cad. Kapı No:20
|
||||||
|
İstanbul Kağıthane 34406
|
||||||
|
TR
|
||||||
|
|
||||||
|
00-6A-5E (hex) Continental Brasil Indústria Automotiva Ltda.
|
||||||
|
B00000-BFFFFF (base 16) Continental Brasil Indústria Automotiva Ltda.
|
||||||
|
Av. Senador Adolf Schindling, 131
|
||||||
|
Guarulhos São Paulo 07042-020
|
||||||
|
BR
|
||||||
|
|
||||||
|
F4-97-9D (hex) LUXSHARE - ICT(NGHE AN) LIMITED
|
||||||
|
700000-7FFFFF (base 16) LUXSHARE - ICT(NGHE AN) LIMITED
|
||||||
|
No. 18, Road No. 03, VSIP Nghe An Industrial Park, Hung Nguyen Commune, Nghe An Province, Vietnam
|
||||||
|
Nghe An Nghe An 460000
|
||||||
|
VN
|
||||||
|
|
||||||
D0-14-11 (hex) P.B. Elettronica srl
|
D0-14-11 (hex) P.B. Elettronica srl
|
||||||
100000-1FFFFF (base 16) P.B. Elettronica srl
|
100000-1FFFFF (base 16) P.B. Elettronica srl
|
||||||
Via Santorelli, 8
|
Via Santorelli, 8
|
||||||
@ -27824,6 +28214,132 @@ FC-A2-DF (hex) SpacemiT
|
|||||||
zhuhai guangdong 519000
|
zhuhai guangdong 519000
|
||||||
CN
|
CN
|
||||||
|
|
||||||
|
D4-A0-FB (hex) Shenzhen Dijiean Technology Co., Ltd
|
||||||
|
400000-4FFFFF (base 16) Shenzhen Dijiean Technology Co., Ltd
|
||||||
|
Floor 6,Building B,Tongxie Industrial Zone,No.80 Shilong Road,Shiyan Street,Baoan District
|
||||||
|
Shenzhen City Guangdong 518000
|
||||||
|
CN
|
||||||
|
|
||||||
|
04-58-5D (hex) Wetatronics Limited
|
||||||
|
000000-0FFFFF (base 16) Wetatronics Limited
|
||||||
|
45 Bath StreetParnell
|
||||||
|
Auckland Auckland 1052
|
||||||
|
NZ
|
||||||
|
|
||||||
|
D4-A0-FB (hex) M2MD Technologies, Inc.
|
||||||
|
000000-0FFFFF (base 16) M2MD Technologies, Inc.
|
||||||
|
525 Chestnut Rose Ln
|
||||||
|
Atlanta GA 30327
|
||||||
|
US
|
||||||
|
|
||||||
|
D4-A0-FB (hex) Corelase Oy
|
||||||
|
500000-5FFFFF (base 16) Corelase Oy
|
||||||
|
Kauhakorvenkatu 52
|
||||||
|
Tampere Pirkanmaa 33720
|
||||||
|
FI
|
||||||
|
|
||||||
|
04-58-5D (hex) JRK VISION
|
||||||
|
800000-8FFFFF (base 16) JRK VISION
|
||||||
|
A-1107, 135, Gasan digital 2-ro, Geumcheon-gu
|
||||||
|
SEOUL 08504
|
||||||
|
KR
|
||||||
|
|
||||||
|
D4-A0-FB (hex) Spatial Hover Inc
|
||||||
|
B00000-BFFFFF (base 16) Spatial Hover Inc
|
||||||
|
10415 A Westpark Dr.
|
||||||
|
Houston TX 77042
|
||||||
|
US
|
||||||
|
|
||||||
|
D4-A0-FB (hex) NEXXUS NETWORKS INDIA PRIVATE LIMITED
|
||||||
|
300000-3FFFFF (base 16) NEXXUS NETWORKS INDIA PRIVATE LIMITED
|
||||||
|
HD-592, C-001/A2 MAX TOWER SECTOR-16B We Work Berger Delhi One Noida Gautam Buddha Nagar U.P
|
||||||
|
GAUTAM BUDDHA NAGAR UTTAR PRADESH 201301
|
||||||
|
IN
|
||||||
|
|
||||||
|
D4-A0-FB (hex) Huizhou Jiemeisi Technology Co.,Ltd.
|
||||||
|
600000-6FFFFF (base 16) Huizhou Jiemeisi Technology Co.,Ltd.
|
||||||
|
NO.63, HUMEI STREET, DASHULING, XIAOJINKOU HUICHENG
|
||||||
|
Huizhou Guangdong 516023
|
||||||
|
CN
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Agrisys A/S
|
||||||
|
100000-1FFFFF (base 16) Agrisys A/S
|
||||||
|
Cypresvej 3
|
||||||
|
Herning 7400
|
||||||
|
DK
|
||||||
|
|
||||||
|
78-78-35 (hex) Shandong Xintong Electronics Co., Ltd
|
||||||
|
800000-8FFFFF (base 16) Shandong Xintong Electronics Co., Ltd
|
||||||
|
No. 18 Liuyishan Road
|
||||||
|
Zibo High-tech Zone Shandong 255000
|
||||||
|
CN
|
||||||
|
|
||||||
|
78-78-35 (hex) IRISS Inc.
|
||||||
|
500000-5FFFFF (base 16) IRISS Inc.
|
||||||
|
10306 Technology Terrace
|
||||||
|
Bradenton FL 34211
|
||||||
|
US
|
||||||
|
|
||||||
|
78-78-35 (hex) ATsens
|
||||||
|
000000-0FFFFF (base 16) ATsens
|
||||||
|
TOWER GALLERY 6F,321 Hwangsaeul-ro, Bundang-gu, Seongnam-si, Gyeonggi-do
|
||||||
|
Seongnam 13590
|
||||||
|
KR
|
||||||
|
|
||||||
|
FC-E4-98 (hex) QuEL, Inc.
|
||||||
|
100000-1FFFFF (base 16) QuEL, Inc.
|
||||||
|
ON Build. 5F 4-7-14 Myojincho
|
||||||
|
Hachioji Tokyo 192-0046
|
||||||
|
JP
|
||||||
|
|
||||||
|
FC-E4-98 (hex) Infinity Electronics Ltd
|
||||||
|
D00000-DFFFFF (base 16) Infinity Electronics Ltd
|
||||||
|
167-169 Great Portland Street
|
||||||
|
London Surrey W1W 5PF
|
||||||
|
GB
|
||||||
|
|
||||||
|
D4-A0-FB (hex) Intersvyaz IT
|
||||||
|
100000-1FFFFF (base 16) Intersvyaz IT
|
||||||
|
Prospekt Pobedy, 288, room 7
|
||||||
|
Chelyabinsk 454112
|
||||||
|
RU
|
||||||
|
|
||||||
|
FC-E4-98 (hex) AVCON Information Technology Co.,Ltd.
|
||||||
|
900000-9FFFFF (base 16) AVCON Information Technology Co.,Ltd.
|
||||||
|
Building A6, Wangu Science and Technology Park, 1688 Guoquan North Road, Yangpu District
|
||||||
|
Shanghai Shanghai 021-55666588
|
||||||
|
CN
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Hyatta Digital Technology Co., Ltd.
|
||||||
|
700000-7FFFFF (base 16) Hyatta Digital Technology Co., Ltd.
|
||||||
|
1405, Building A, Huizhi R&D Center, No. 287 Guangshen Road, Xixiang Street, Bao'an District
|
||||||
|
Shenzhen Guangdong 518101
|
||||||
|
CN
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Aeterlink Corp.
|
||||||
|
B00000-BFFFFF (base 16) Aeterlink Corp.
|
||||||
|
13th Floor, Mitsubishi Building, 2-5-2 Marunouchi
|
||||||
|
Chiyoda-ku Tokyo 100-0005
|
||||||
|
JP
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Inspired Flight
|
||||||
|
200000-2FFFFF (base 16) Inspired Flight
|
||||||
|
225 SUBURBAN RD
|
||||||
|
SAN LUIS OBISPO CA 93401
|
||||||
|
US
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Shenzhen PeakVic Technology Co.,Ltd
|
||||||
|
900000-9FFFFF (base 16) Shenzhen PeakVic Technology Co.,Ltd
|
||||||
|
Room 310, 3rd Floor, Zhenhua Times Square, No. 21 Heping Road, Qinghua Community, Longhua Street, Longhua District
|
||||||
|
Shenzhen Guangdong 518000
|
||||||
|
CN
|
||||||
|
|
||||||
|
00-6A-5E (hex) Evercomm (Pty) Ltd
|
||||||
|
400000-4FFFFF (base 16) Evercomm (Pty) Ltd
|
||||||
|
363 Rivonia Boulevard, 1st Floor, Euro Centre Building, Edenburg
|
||||||
|
Johannesburg Gauteng 2128
|
||||||
|
ZA
|
||||||
|
|
||||||
C8-5C-E2 (hex) Fela Management AG
|
C8-5C-E2 (hex) Fela Management AG
|
||||||
000000-0FFFFF (base 16) Fela Management AG
|
000000-0FFFFF (base 16) Fela Management AG
|
||||||
Basadingerstrasse 18
|
Basadingerstrasse 18
|
||||||
@ -34823,8 +35339,170 @@ C00000-CFFFFF (base 16) Reonel Oy
|
|||||||
ji nan shi shandong 250031
|
ji nan shi shandong 250031
|
||||||
CN
|
CN
|
||||||
|
|
||||||
|
FC-A2-DF (hex) PDI COMMUNICATION SYSTEMS INC.
|
||||||
|
200000-2FFFFF (base 16) PDI COMMUNICATION SYSTEMS INC.
|
||||||
|
40 GREENWOOD LN
|
||||||
|
SPRINGBORO OH 45066
|
||||||
|
US
|
||||||
|
|
||||||
|
FC-A2-DF (hex) Annapurna labs
|
||||||
|
500000-5FFFFF (base 16) Annapurna labs
|
||||||
|
Matam Scientific Industries Center, Building 8.2
|
||||||
|
Mail box 15123 Haifa 3508409
|
||||||
|
IL
|
||||||
|
|
||||||
FC-A2-DF (hex) BPL MEDICAL TECHNOLOGIES PRIVATE LIMITED
|
FC-A2-DF (hex) BPL MEDICAL TECHNOLOGIES PRIVATE LIMITED
|
||||||
A00000-AFFFFF (base 16) BPL MEDICAL TECHNOLOGIES PRIVATE LIMITED
|
A00000-AFFFFF (base 16) BPL MEDICAL TECHNOLOGIES PRIVATE LIMITED
|
||||||
11KM BANNERGHATTA MAIN ROAD ARAKERE BANGALORE
|
11KM BANNERGHATTA MAIN ROAD ARAKERE BANGALORE
|
||||||
BANGALORE KARNATAKA 560076
|
BANGALORE KARNATAKA 560076
|
||||||
IN
|
IN
|
||||||
|
|
||||||
|
FC-A2-DF (hex) MBio Diagnostics, Inc.
|
||||||
|
D00000-DFFFFF (base 16) MBio Diagnostics, Inc.
|
||||||
|
4550 Byrd Dr
|
||||||
|
Loveland 80538
|
||||||
|
US
|
||||||
|
|
||||||
|
04-58-5D (hex) Foxconn Brasil Industria e Comercio Ltda
|
||||||
|
200000-2FFFFF (base 16) Foxconn Brasil Industria e Comercio Ltda
|
||||||
|
Av. Marginal da Rodovia dos Bandeirantes, 800 - Distrito Industrial
|
||||||
|
Jundiaí Sao Paulo 13213-008
|
||||||
|
BR
|
||||||
|
|
||||||
|
04-58-5D (hex) Dron Edge India Private Limited
|
||||||
|
900000-9FFFFF (base 16) Dron Edge India Private Limited
|
||||||
|
A 93 SECTOR 65 NOIDA 201301
|
||||||
|
201301 Uttar Pradesh 201301
|
||||||
|
IN
|
||||||
|
|
||||||
|
04-58-5D (hex) Integrated Technical Vision Ltd
|
||||||
|
400000-4FFFFF (base 16) Integrated Technical Vision Ltd
|
||||||
|
Mykoly Hrinchenka str. 2/1
|
||||||
|
Kyiv Kyiv 03038
|
||||||
|
UA
|
||||||
|
|
||||||
|
04-58-5D (hex) REXXON GmbH
|
||||||
|
300000-3FFFFF (base 16) REXXON GmbH
|
||||||
|
Mads-Clausen-Str. 7
|
||||||
|
Flensburg Schleswig-Holstein 24939
|
||||||
|
DE
|
||||||
|
|
||||||
|
04-58-5D (hex) Sercomm Japan Corporation
|
||||||
|
500000-5FFFFF (base 16) Sercomm Japan Corporation
|
||||||
|
8F, 3-1, YuanQu St., NanKang, Taipei 115, Taiwan
|
||||||
|
Taipei 115
|
||||||
|
TW
|
||||||
|
|
||||||
|
D4-A0-FB (hex) IMPULSE CCTV NETWORKS INDIA PVT. LTD.
|
||||||
|
A00000-AFFFFF (base 16) IMPULSE CCTV NETWORKS INDIA PVT. LTD.
|
||||||
|
H.O:- 4th Floor, Tower-A1,Flat No 402Eros Sampoornam, Sec-2,Greater Noida,Gautambuddha Nagar, Uttar Pradesh, 201306
|
||||||
|
GREATER NOIDA WEST UTTAR PRADESH 201306
|
||||||
|
IN
|
||||||
|
|
||||||
|
D4-A0-FB (hex) Beijing Lingji Innovations technology Co,LTD.
|
||||||
|
200000-2FFFFF (base 16) Beijing Lingji Innovations technology Co,LTD.
|
||||||
|
Room 106, 1st Floor, A-1 Building, Zhongguancun Dongsheng Science and Technology Park, No. 66 Xixiaokou Road, Haidian District, Beijing
|
||||||
|
Beijing Beijing 100190
|
||||||
|
CN
|
||||||
|
|
||||||
|
D4-A0-FB (hex) FASTWEL ELECTRONICS INDIA PRIVATE LIMITED
|
||||||
|
D00000-DFFFFF (base 16) FASTWEL ELECTRONICS INDIA PRIVATE LIMITED
|
||||||
|
DORASWANIPALYA , NO 3, ARKER MICOLAYOUT, ARKERE , BENGALURE(BANGLORE) URBAN
|
||||||
|
BENGALURU KARNATAKA 560076
|
||||||
|
IN
|
||||||
|
|
||||||
|
D4-A0-FB (hex) GTEK GLOBAL CO.,LTD
|
||||||
|
E00000-EFFFFF (base 16) GTEK GLOBAL CO.,LTD
|
||||||
|
No3/2/13 Ta Thanh Oai, Thanh Tri district
|
||||||
|
Hanoi Vietnam 10000
|
||||||
|
VN
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Shenzhen Dangs Science and Technology CO.,Ltd.
|
||||||
|
A00000-AFFFFF (base 16) Shenzhen Dangs Science and Technology CO.,Ltd.
|
||||||
|
9th Floor of GDC Building, Gaoxin Middle 3rd St.,Nanshan District
|
||||||
|
Shenzhen Guangdong 518063
|
||||||
|
CN
|
||||||
|
|
||||||
|
78-78-35 (hex) Suzhou Chena Information Technology Co., Ltd.
|
||||||
|
D00000-DFFFFF (base 16) Suzhou Chena Information Technology Co., Ltd.
|
||||||
|
3rd Floor, Building B6, No. 8 Yanghua Road, Suzhou Industrial Park
|
||||||
|
Suzhou Free Trade Zone Jiangsu Province 215000
|
||||||
|
CN
|
||||||
|
|
||||||
|
B0-CC-CE (hex) Taiv Inc
|
||||||
|
900000-9FFFFF (base 16) Taiv Inc
|
||||||
|
400-321 McDermot Ave
|
||||||
|
Winnipeg Manitoba R3A 0A3
|
||||||
|
CA
|
||||||
|
|
||||||
|
78-78-35 (hex) NEOARK Corporation
|
||||||
|
E00000-EFFFFF (base 16) NEOARK Corporation
|
||||||
|
Nakano-machi2073-1
|
||||||
|
Hachioji Tokyo 1920015
|
||||||
|
JP
|
||||||
|
|
||||||
|
78-78-35 (hex) SHENZHEN CHUANGWEI ELECTRONIC APPLIANCE TECH CO., LTD.
|
||||||
|
300000-3FFFFF (base 16) SHENZHEN CHUANGWEI ELECTRONIC APPLIANCE TECH CO., LTD.
|
||||||
|
6F Floor, Overseas Factory, Skyworth Technology Industrial Park, Tangtou Community, Shiyan Street, Bao'an District
|
||||||
|
Shenzhen Guangdong 518000
|
||||||
|
CN
|
||||||
|
|
||||||
|
78-78-35 (hex) ENQT GmbH
|
||||||
|
100000-1FFFFF (base 16) ENQT GmbH
|
||||||
|
Spaldingstrasse 210
|
||||||
|
Hamburg Hamburg 20097
|
||||||
|
DE
|
||||||
|
|
||||||
|
78-78-35 (hex) DBG Communications Technology Co.,Ltd.
|
||||||
|
C00000-CFFFFF (base 16) DBG Communications Technology Co.,Ltd.
|
||||||
|
Building A, No.5(DBG Factory), Yongda Road, Xiangshui River Industrial Area, Daya Bay, Huizhou
|
||||||
|
Huizhou Gangdong 516083
|
||||||
|
CN
|
||||||
|
|
||||||
|
78-78-35 (hex) Shanghai Intchains Technology Co., Ltd.
|
||||||
|
B00000-BFFFFF (base 16) Shanghai Intchains Technology Co., Ltd.
|
||||||
|
Building 1&2, No.333 Haiyang No.1 Road Lingang Science and Technology Park Pudon
|
||||||
|
shanghai shanghai 200120
|
||||||
|
CN
|
||||||
|
|
||||||
|
FC-E4-98 (hex) Videonetics Technology Private Limited
|
||||||
|
600000-6FFFFF (base 16) Videonetics Technology Private Limited
|
||||||
|
Videonetics Technology Private LimitedPlot No. AI/154/1, Action Area - 1A, 4th Floor, Utility Building
|
||||||
|
Kolkata West Bengal 700156
|
||||||
|
IN
|
||||||
|
|
||||||
|
FC-E4-98 (hex) E Haute Intelligent Technology Co., Ltd
|
||||||
|
700000-7FFFFF (base 16) E Haute Intelligent Technology Co., Ltd
|
||||||
|
Room 01-05, 40/F, Building C, Longhua Digital Innovation Center, Longhua District
|
||||||
|
Shenzhen Guangdong 518000
|
||||||
|
CN
|
||||||
|
|
||||||
|
00-6A-5E (hex) TRULY ELECTRONICS MFG.,LTD
|
||||||
|
000000-0FFFFF (base 16) TRULY ELECTRONICS MFG.,LTD
|
||||||
|
Truly industry city,shanwei guangdong,P.R.C
|
||||||
|
shanwei guangdong 516600
|
||||||
|
CN
|
||||||
|
|
||||||
|
00-6A-5E (hex) BroadMaster Biotech Corp
|
||||||
|
100000-1FFFFF (base 16) BroadMaster Biotech Corp
|
||||||
|
No. 91 Xiyuan RD. Zhongli City
|
||||||
|
Taoyuan Select State 32057
|
||||||
|
TW
|
||||||
|
|
||||||
|
00-6A-5E (hex) Annapurna labs
|
||||||
|
900000-9FFFFF (base 16) Annapurna labs
|
||||||
|
Matam Scientific Industries Center, Building 8.2
|
||||||
|
Mail box 15123 Haifa 3508409
|
||||||
|
IL
|
||||||
|
|
||||||
|
34-B5-F3 (hex) LAUMAS Elettronica s.r.l.
|
||||||
|
400000-4FFFFF (base 16) LAUMAS Elettronica s.r.l.
|
||||||
|
via I Maggio, 6 - IT01661140341
|
||||||
|
Montechiarugolo 43022
|
||||||
|
IT
|
||||||
|
|
||||||
|
34-B5-F3 (hex) Satco Europe GmbH
|
||||||
|
100000-1FFFFF (base 16) Satco Europe GmbH
|
||||||
|
Waidhauserstr. 3
|
||||||
|
Vohenstrauß 92546
|
||||||
|
DE
|
||||||
|
1270
hwdb.d/ma-small.txt
1270
hwdb.d/ma-small.txt
File diff suppressed because it is too large
Load Diff
@ -31,6 +31,7 @@ hwdb_files_test = files(
|
|||||||
'70-cameras.hwdb',
|
'70-cameras.hwdb',
|
||||||
'70-hardware-wallets.hwdb',
|
'70-hardware-wallets.hwdb',
|
||||||
'70-joystick.hwdb',
|
'70-joystick.hwdb',
|
||||||
|
'70-maker-tools.hwdb',
|
||||||
'70-mouse.hwdb',
|
'70-mouse.hwdb',
|
||||||
'70-pda.hwdb',
|
'70-pda.hwdb',
|
||||||
'70-pointingstick.hwdb',
|
'70-pointingstick.hwdb',
|
||||||
@ -41,7 +42,6 @@ hwdb_files_test = files(
|
|||||||
|
|
||||||
if conf.get('ENABLE_HWDB') == 1
|
if conf.get('ENABLE_HWDB') == 1
|
||||||
auto_suspend_rules = custom_target(
|
auto_suspend_rules = custom_target(
|
||||||
'60-autosuspend-chromiumos.hwdb',
|
|
||||||
output : '60-autosuspend-chromiumos.hwdb',
|
output : '60-autosuspend-chromiumos.hwdb',
|
||||||
command : make_autosuspend_rules_py,
|
command : make_autosuspend_rules_py,
|
||||||
capture : true,
|
capture : true,
|
||||||
|
1003
hwdb.d/pci.ids
1003
hwdb.d/pci.ids
File diff suppressed because it is too large
Load Diff
@ -9,8 +9,8 @@
|
|||||||
# The latest version can be obtained from
|
# The latest version can be obtained from
|
||||||
# http://www.linux-usb.org/usb.ids
|
# http://www.linux-usb.org/usb.ids
|
||||||
#
|
#
|
||||||
# Version: 2025.04.01
|
# Version: 2025.07.26
|
||||||
# Date: 2025-04-01 20:34:02
|
# Date: 2025-07-26 20:34:01
|
||||||
#
|
#
|
||||||
|
|
||||||
# Vendors, devices and interfaces. Please keep sorted.
|
# Vendors, devices and interfaces. Please keep sorted.
|
||||||
@ -59,6 +59,8 @@
|
|||||||
0112 Card Reader
|
0112 Card Reader
|
||||||
017c MLK
|
017c MLK
|
||||||
145f Trust Deskset
|
145f Trust Deskset
|
||||||
|
019c mek
|
||||||
|
0042 mek_42
|
||||||
0200 TP-Link
|
0200 TP-Link
|
||||||
0201 MA180 UMTS Modem
|
0201 MA180 UMTS Modem
|
||||||
0204 Chipsbank Microelectronics Co., Ltd
|
0204 Chipsbank Microelectronics Co., Ltd
|
||||||
@ -69,6 +71,9 @@
|
|||||||
0231 Sonuus Limited
|
0231 Sonuus Limited
|
||||||
02ad HUMAX Co., Ltd.
|
02ad HUMAX Co., Ltd.
|
||||||
138c PVR Mass Storage
|
138c PVR Mass Storage
|
||||||
|
0300 Ajazz
|
||||||
|
1010 Akp153E Desktop Controller
|
||||||
|
1020 AKP153R Desktop Controller
|
||||||
0303 Mini Automation Controller
|
0303 Mini Automation Controller
|
||||||
0324 OCZ Technology Inc
|
0324 OCZ Technology Inc
|
||||||
bc06 OCZ ATV USB 2.0 Flash Drive
|
bc06 OCZ ATV USB 2.0 Flash Drive
|
||||||
@ -95,7 +100,7 @@
|
|||||||
0015 ATAPI Enclosure
|
0015 ATAPI Enclosure
|
||||||
2123 SiPix StyleCam Deluxe
|
2123 SiPix StyleCam Deluxe
|
||||||
8004 Aox 99001
|
8004 Aox 99001
|
||||||
03e9 Thesys Microelectronics
|
03e9 Melexis (formerly Thesys Microelectronics)
|
||||||
03ea Data Broadcasting Corp.
|
03ea Data Broadcasting Corp.
|
||||||
03eb Atmel Corp.
|
03eb Atmel Corp.
|
||||||
0902 4-Port Hub
|
0902 4-Port Hub
|
||||||
@ -257,6 +262,8 @@
|
|||||||
0423 HS-COMBO Cardreader
|
0423 HS-COMBO Cardreader
|
||||||
042a LaserJet M1132 MFP
|
042a LaserJet M1132 MFP
|
||||||
0441 Prime [NW280AA, G8X92AA]
|
0441 Prime [NW280AA, G8X92AA]
|
||||||
|
046b Dock G5
|
||||||
|
0483 Engage Go 10 Tablet
|
||||||
0504 DeskJet 885c
|
0504 DeskJet 885c
|
||||||
0505 ScanJet 2100c
|
0505 ScanJet 2100c
|
||||||
0507 DVD+RW
|
0507 DVD+RW
|
||||||
@ -266,6 +273,7 @@
|
|||||||
0517 LaserJet 1000
|
0517 LaserJet 1000
|
||||||
051d Bluetooth Interface
|
051d Bluetooth Interface
|
||||||
052a LaserJet M1212nf MFP
|
052a LaserJet M1212nf MFP
|
||||||
|
0583 Engage Go 10 Tablet
|
||||||
0601 ScanJet 6300c
|
0601 ScanJet 6300c
|
||||||
0604 DeskJet 840c
|
0604 DeskJet 840c
|
||||||
0605 ScanJet 2200c
|
0605 ScanJet 2200c
|
||||||
@ -275,6 +283,7 @@
|
|||||||
0624 Bluetooth Dongle
|
0624 Bluetooth Dongle
|
||||||
0641 X1200 Optical Mouse
|
0641 X1200 Optical Mouse
|
||||||
0653 DeskJet 3700 series
|
0653 DeskJet 3700 series
|
||||||
|
0683 Engage Go 10 Tablet
|
||||||
0701 ScanJet 5300c/5370c
|
0701 ScanJet 5300c/5370c
|
||||||
0704 DeskJet 825c
|
0704 DeskJet 825c
|
||||||
0705 ScanJet 4400c
|
0705 ScanJet 4400c
|
||||||
@ -325,6 +334,7 @@
|
|||||||
1102 PhotoSmart 240 series
|
1102 PhotoSmart 240 series
|
||||||
1104 DeskJet 959c
|
1104 DeskJet 959c
|
||||||
1105 ScanJet 5470c/5490c
|
1105 ScanJet 5470c/5490c
|
||||||
|
110c Pocket Media Drive
|
||||||
1111 OfficeJet v60
|
1111 OfficeJet v60
|
||||||
1116 Jornada 568 Pocket PC
|
1116 Jornada 568 Pocket PC
|
||||||
1117 LaserJet 1300n
|
1117 LaserJet 1300n
|
||||||
@ -1013,6 +1023,7 @@
|
|||||||
3000 Optical dual-touch panel
|
3000 Optical dual-touch panel
|
||||||
3001 Optical Touch Screen
|
3001 Optical Touch Screen
|
||||||
3008 Optical Touch Screen
|
3008 Optical Touch Screen
|
||||||
|
4033 HD Webcam
|
||||||
a060 HD Webcam
|
a060 HD Webcam
|
||||||
0409 NEC Corp.
|
0409 NEC Corp.
|
||||||
0011 PC98 Series Layout Keyboard Mouse
|
0011 PC98 Series Layout Keyboard Mouse
|
||||||
@ -1029,6 +1040,7 @@
|
|||||||
004e SuperScript 1400 Series
|
004e SuperScript 1400 Series
|
||||||
004f Wireless Keyboard with One-touch start buttons
|
004f Wireless Keyboard with One-touch start buttons
|
||||||
0050 7-port hub
|
0050 7-port hub
|
||||||
|
0056 uPD720133 IDE bridge
|
||||||
0058 HighSpeed Hub
|
0058 HighSpeed Hub
|
||||||
0059 HighSpeed Hub
|
0059 HighSpeed Hub
|
||||||
005a HighSpeed Hub
|
005a HighSpeed Hub
|
||||||
@ -1486,6 +1498,7 @@
|
|||||||
4095 Live! Cam Sync HD [VF0770]
|
4095 Live! Cam Sync HD [VF0770]
|
||||||
4097 Live! Cam Chat HD [VF0700/VF0790]
|
4097 Live! Cam Chat HD [VF0700/VF0790]
|
||||||
4099 Creative VF0800 [RealSense Camera SR300]
|
4099 Creative VF0800 [RealSense Camera SR300]
|
||||||
|
40a3 Live! Cam V3 2K [VF-0900]
|
||||||
4100 Nomad Jukebox 2
|
4100 Nomad Jukebox 2
|
||||||
4101 Nomad Jukebox 3
|
4101 Nomad Jukebox 3
|
||||||
4102 NOMAD MuVo^2
|
4102 NOMAD MuVo^2
|
||||||
@ -1959,6 +1972,7 @@
|
|||||||
010d 3500-4500 series
|
010d 3500-4500 series
|
||||||
010f 6500 series
|
010f 6500 series
|
||||||
0142 X3650 (Printer, Scanner, Copier)
|
0142 X3650 (Printer, Scanner, Copier)
|
||||||
|
01bd S800 Series Scanner
|
||||||
01fa S310 series
|
01fa S310 series
|
||||||
020e RICOH Aficio SP 4410SF
|
020e RICOH Aficio SP 4410SF
|
||||||
4303 Xerox WorkCentre Pro 412
|
4303 Xerox WorkCentre Pro 412
|
||||||
@ -1982,6 +1996,7 @@
|
|||||||
9a10 34UC88-B
|
9a10 34UC88-B
|
||||||
9a11 34UC88-B
|
9a11 34UC88-B
|
||||||
9a39 27UP850 - WK.AEUDCSN - External Monitor 4K
|
9a39 27UP850 - WK.AEUDCSN - External Monitor 4K
|
||||||
|
9a57 UltraGear Monitor
|
||||||
9c01 LGE Sync
|
9c01 LGE Sync
|
||||||
043f RadiSys Corp.
|
043f RadiSys Corp.
|
||||||
0440 Eizo Nanao Corp.
|
0440 Eizo Nanao Corp.
|
||||||
@ -2007,6 +2022,7 @@
|
|||||||
044d Siemens Nixdorf AG
|
044d Siemens Nixdorf AG
|
||||||
044e Alps Electric Co., Ltd
|
044e Alps Electric Co., Ltd
|
||||||
1104 Japanese Keyboard
|
1104 Japanese Keyboard
|
||||||
|
1218 Electric Touchpad
|
||||||
2002 MD-5500 Printer
|
2002 MD-5500 Printer
|
||||||
2014 Bluetooth Device
|
2014 Bluetooth Device
|
||||||
3001 UGTZ4 Bluetooth
|
3001 UGTZ4 Bluetooth
|
||||||
@ -2737,6 +2753,8 @@
|
|||||||
0180 Strait 3.0
|
0180 Strait 3.0
|
||||||
01a4 MC 2.1 Mouse
|
01a4 MC 2.1 Mouse
|
||||||
01a6 MX BOARD 2.0S FL RGB DE Keyboard
|
01a6 MX BOARD 2.0S FL RGB DE Keyboard
|
||||||
|
0201 Smart Board 1150
|
||||||
|
0202 Smart Terminal 1150
|
||||||
b090 Keyboard
|
b090 Keyboard
|
||||||
b091 Mouse
|
b091 Mouse
|
||||||
c099 Stream Keyboard TKL
|
c099 Stream Keyboard TKL
|
||||||
@ -2851,6 +2869,7 @@
|
|||||||
08dd QuickCam for Notebooks
|
08dd QuickCam for Notebooks
|
||||||
08e0 QuickCam Express
|
08e0 QuickCam Express
|
||||||
08e1 Labtec Webcam
|
08e1 Labtec Webcam
|
||||||
|
08e4 C505e HD Webcam
|
||||||
08e5 C920 PRO HD Webcam
|
08e5 C920 PRO HD Webcam
|
||||||
08f0 QuickCam Messenger
|
08f0 QuickCam Messenger
|
||||||
08f1 QuickCam Express
|
08f1 QuickCam Express
|
||||||
@ -3002,6 +3021,7 @@
|
|||||||
c08e G MX518 Gaming Mouse (MU0053)
|
c08e G MX518 Gaming Mouse (MU0053)
|
||||||
c092 G102/G203 LIGHTSYNC Gaming Mouse
|
c092 G102/G203 LIGHTSYNC Gaming Mouse
|
||||||
c093 M500s Optical Mouse
|
c093 M500s Optical Mouse
|
||||||
|
c09d G102 LIGHTSYNC Gaming Mouse
|
||||||
c101 UltraX Media Remote
|
c101 UltraX Media Remote
|
||||||
c110 Harmony 785/880/885 Remote
|
c110 Harmony 785/880/885 Remote
|
||||||
c111 Harmony 525 Remote
|
c111 Harmony 525 Remote
|
||||||
@ -3060,6 +3080,7 @@
|
|||||||
c24d G710 Gaming Keyboard
|
c24d G710 Gaming Keyboard
|
||||||
c24e G500s Laser Gaming Mouse
|
c24e G500s Laser Gaming Mouse
|
||||||
c24f G29 Driving Force Racing Wheel [PS3]
|
c24f G29 Driving Force Racing Wheel [PS3]
|
||||||
|
c251 GamePanel for Dell XPS M1730
|
||||||
c260 G29 Driving Force Racing Wheel [PS4]
|
c260 G29 Driving Force Racing Wheel [PS4]
|
||||||
c262 G920 Driving Force Racing Wheel
|
c262 G920 Driving Force Racing Wheel
|
||||||
c281 WingMan Force
|
c281 WingMan Force
|
||||||
@ -3073,6 +3094,7 @@
|
|||||||
c295 Momo Force Steering Wheel
|
c295 Momo Force Steering Wheel
|
||||||
c298 Driving Force Pro
|
c298 Driving Force Pro
|
||||||
c299 G25 Racing Wheel
|
c299 G25 Racing Wheel
|
||||||
|
c29a Driving Force GT
|
||||||
c29b G27 Racing Wheel
|
c29b G27 Racing Wheel
|
||||||
c29c Speed Force Wireless Wheel for Wii
|
c29c Speed Force Wireless Wheel for Wii
|
||||||
c2a0 Wingman Force Feedback Mouse
|
c2a0 Wingman Force Feedback Mouse
|
||||||
@ -3110,6 +3132,7 @@
|
|||||||
c335 G910 Orion Spectrum Mechanical Keyboard
|
c335 G910 Orion Spectrum Mechanical Keyboard
|
||||||
c336 G213 Prodigy Gaming Keyboard
|
c336 G213 Prodigy Gaming Keyboard
|
||||||
c33a G413 Gaming Keyboard
|
c33a G413 Gaming Keyboard
|
||||||
|
c33e G915 Mechanical Keyboard
|
||||||
c33f G815 Mechanical Keyboard
|
c33f G815 Mechanical Keyboard
|
||||||
c401 TrackMan Marble Wheel
|
c401 TrackMan Marble Wheel
|
||||||
c402 Marble Mouse (2-button)
|
c402 Marble Mouse (2-button)
|
||||||
@ -3359,6 +3382,7 @@
|
|||||||
047c Dell Computer Corp.
|
047c Dell Computer Corp.
|
||||||
ffff UPS Tower 500W LV
|
ffff UPS Tower 500W LV
|
||||||
047d Kensington
|
047d Kensington
|
||||||
|
00f2 VeriMark Desktop
|
||||||
1001 Mouse*in*a*Box
|
1001 Mouse*in*a*Box
|
||||||
1002 Expert Mouse Pro
|
1002 Expert Mouse Pro
|
||||||
1003 Orbit TrackBall
|
1003 Orbit TrackBall
|
||||||
@ -3558,6 +3582,7 @@
|
|||||||
0485 Nokia Monitors
|
0485 Nokia Monitors
|
||||||
0486 ASUS Computers, Inc.
|
0486 ASUS Computers, Inc.
|
||||||
0185 EeePC T91MT HID Touch Panel
|
0185 EeePC T91MT HID Touch Panel
|
||||||
|
573c Xreal Light Microcontroller
|
||||||
0487 Stewart Connector
|
0487 Stewart Connector
|
||||||
0488 Cirque Corp.
|
0488 Cirque Corp.
|
||||||
0489 Foxconn / Hon Hai
|
0489 Foxconn / Hon Hai
|
||||||
@ -3663,6 +3688,7 @@
|
|||||||
1033 DGX-505
|
1033 DGX-505
|
||||||
1037 PSR-E403
|
1037 PSR-E403
|
||||||
103c MOTIF-RACK ES
|
103c MOTIF-RACK ES
|
||||||
|
1045 MM6
|
||||||
1054 S90XS Keyboard/Music Synthesizer
|
1054 S90XS Keyboard/Music Synthesizer
|
||||||
160f P-105
|
160f P-105
|
||||||
1613 Clavinova CLP535
|
1613 Clavinova CLP535
|
||||||
@ -3892,9 +3918,11 @@
|
|||||||
106d S750 Printer
|
106d S750 Printer
|
||||||
106e S820D
|
106e S820D
|
||||||
1070 S530D
|
1070 S530D
|
||||||
|
1071 Sony MPR-501
|
||||||
1072 I850 Printer
|
1072 I850 Printer
|
||||||
1073 I550 Printer
|
1073 I550 Printer
|
||||||
1074 S330 Printer
|
1074 S330 Printer
|
||||||
|
1075 Sony MPR-505
|
||||||
1076 i70
|
1076 i70
|
||||||
1077 i950
|
1077 i950
|
||||||
107a S830D
|
107a S830D
|
||||||
@ -4053,6 +4081,7 @@
|
|||||||
178a PIXMA MG3600 Series
|
178a PIXMA MG3600 Series
|
||||||
178d PIXMA MG6853
|
178d PIXMA MG6853
|
||||||
180b PIXMA MG3000 series
|
180b PIXMA MG3000 series
|
||||||
|
183b PIXMA MG3110 Series
|
||||||
1856 PIXMA TS6250
|
1856 PIXMA TS6250
|
||||||
1900 CanoScan LiDE 90
|
1900 CanoScan LiDE 90
|
||||||
1901 CanoScan 8800F
|
1901 CanoScan 8800F
|
||||||
@ -4060,6 +4089,7 @@
|
|||||||
1905 CanoScan LiDE 200
|
1905 CanoScan LiDE 200
|
||||||
1906 CanoScan 5600F
|
1906 CanoScan 5600F
|
||||||
1907 CanoScan LiDE 700F
|
1907 CanoScan LiDE 700F
|
||||||
|
1908 CanoScan 9000F
|
||||||
1909 CanoScan LiDE 110
|
1909 CanoScan LiDE 110
|
||||||
190a CanoScan LiDE 210
|
190a CanoScan LiDE 210
|
||||||
190d CanoScan 9000F Mark II
|
190d CanoScan 9000F Mark II
|
||||||
@ -4621,6 +4651,7 @@
|
|||||||
0434 D610
|
0434 D610
|
||||||
0436 D810
|
0436 D810
|
||||||
043f D5600
|
043f D5600
|
||||||
|
0455 Z50II
|
||||||
0f03 PD-10 Wireless Printer Adapter
|
0f03 PD-10 Wireless Printer Adapter
|
||||||
4000 Coolscan LS 40 ED
|
4000 Coolscan LS 40 ED
|
||||||
4001 LS 50 ED/Coolscan V ED
|
4001 LS 50 ED/Coolscan V ED
|
||||||
@ -4907,11 +4938,19 @@
|
|||||||
0891 Stylus Office BX535WD
|
0891 Stylus Office BX535WD
|
||||||
0892 Stylus Office BX935FWD
|
0892 Stylus Office BX935FWD
|
||||||
0893 EP-774A
|
0893 EP-774A
|
||||||
|
08d1 L220/L360 Series
|
||||||
0e03 Thermal Receipt Printer [TM-T20]
|
0e03 Thermal Receipt Printer [TM-T20]
|
||||||
|
0e31 Thermal Receipt Printer [TM-L100]
|
||||||
1114 XP-440 [Expression Home Small-in-One Printer]
|
1114 XP-440 [Expression Home Small-in-One Printer]
|
||||||
1115 ES-0133 [Expression Home XP-342]
|
1115 ES-0133 [Expression Home XP-342]
|
||||||
1129 ET-4750 [WorkForce ET-4750 EcoTank All-in-One]
|
1129 ET-4750 [WorkForce ET-4750 EcoTank All-in-One]
|
||||||
1168 Workforce WF-7820/7840 Series
|
1168 Workforce WF-7820/7840 Series
|
||||||
|
1186 ET-2820 Series [ET-2820 EcoTank All-in-One]
|
||||||
|
118a ET-2810/L3250 Series [EcoTank ET-2810/L3250]
|
||||||
|
118b ET-2850/L4260 Series [EcoTank ET-2850/L4260]
|
||||||
|
11b0 XP-4200 Series [Expression Home XP-4200]
|
||||||
|
11b9 ET-2830/L3550 Series [EcoTank ET-2830/L3550]
|
||||||
|
11c8 ET-2860/L3270 Series [EcoTank ET-2860/L3270]
|
||||||
04b9 Rainbow Technologies, Inc.
|
04b9 Rainbow Technologies, Inc.
|
||||||
0300 SafeNet USB SuperPro/UltraPro
|
0300 SafeNet USB SuperPro/UltraPro
|
||||||
1000 iKey 1000 Token
|
1000 iKey 1000 Token
|
||||||
@ -4996,6 +5035,9 @@
|
|||||||
1303 i3 Micro Module
|
1303 i3 Micro Module
|
||||||
1304 i3 Module
|
1304 i3 Module
|
||||||
1305 i3 Multi Sensing Module
|
1305 i3 Multi Sensing Module
|
||||||
|
1400 Javelin Module Recovery
|
||||||
|
1401 Javelin Module
|
||||||
|
1500 Gas sensor demo board
|
||||||
04c1 U.S. Robotics (3Com)
|
04c1 U.S. Robotics (3Com)
|
||||||
0020 56K Voice Pro
|
0020 56K Voice Pro
|
||||||
0022 56K Voice Pro
|
0022 56K Voice Pro
|
||||||
@ -5034,7 +5076,9 @@
|
|||||||
11f3 fi-6130Z
|
11f3 fi-6130Z
|
||||||
125a PalmSecure Sensor Device - MP
|
125a PalmSecure Sensor Device - MP
|
||||||
132e fi-7160
|
132e fi-7160
|
||||||
|
1526 PalmSecure-F Pro
|
||||||
159f ScanSnap iX1500
|
159f ScanSnap iX1500
|
||||||
|
15ff Fi-8170 Document Scanner [Ricoh fi-8170: High Performance Desktop Scanner - PFU]
|
||||||
200f Sigma DP2 (Mass Storage)
|
200f Sigma DP2 (Mass Storage)
|
||||||
2010 Sigma DP2 (PictBridge)
|
2010 Sigma DP2 (PictBridge)
|
||||||
201d SATA 3.0 6Gbit/s Adaptor [GROOVY]
|
201d SATA 3.0 6Gbit/s Adaptor [GROOVY]
|
||||||
@ -5067,6 +5111,7 @@
|
|||||||
300f Atheros AR3012 Bluetooth
|
300f Atheros AR3012 Bluetooth
|
||||||
3014 Qualcomm Atheros Bluetooth
|
3014 Qualcomm Atheros Bluetooth
|
||||||
3015 Qualcomm Atheros QCA9377 Bluetooth
|
3015 Qualcomm Atheros QCA9377 Bluetooth
|
||||||
|
3802 MediaTek Bluetooth MT7921
|
||||||
7022 HP HD Webcam
|
7022 HP HD Webcam
|
||||||
7025 HP HD Webcam
|
7025 HP HD Webcam
|
||||||
7046 TOSHIBA Web Camera - HD
|
7046 TOSHIBA Web Camera - HD
|
||||||
@ -15333,6 +15378,12 @@
|
|||||||
0e23 Liou Yuane Enterprise Co., Ltd
|
0e23 Liou Yuane Enterprise Co., Ltd
|
||||||
0e25 VinChip Systems, Inc.
|
0e25 VinChip Systems, Inc.
|
||||||
0e26 J-Phone East Co., Ltd
|
0e26 J-Phone East Co., Ltd
|
||||||
|
0e2c Materialise Motion NV
|
||||||
|
0012 footscan pressure plate (0.5m)
|
||||||
|
0013 footscan pressure plate (1.0m)
|
||||||
|
0018 footscan 2D interface box
|
||||||
|
0020 footscan pressure plate (1.5m)
|
||||||
|
002d footscan heavy duty pressure plate (1.0m)
|
||||||
0e2e Brady Worldwide, Inc.
|
0e2e Brady Worldwide, Inc.
|
||||||
000b BMP 51
|
000b BMP 51
|
||||||
000c BMP 61
|
000c BMP 61
|
||||||
|
11
man/html.in
11
man/html.in
@ -1,5 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
if [ -z "$1" ]; then
|
||||||
@ -8,21 +9,21 @@ if [ -z "$1" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# make sure the rules have been regenerated (in case update-man-rules was just run)
|
# make sure the rules have been regenerated (in case update-man-rules was just run)
|
||||||
ninja -C "@BUILD_ROOT@" version.h
|
ninja -C @BUILD_ROOT@ version.h
|
||||||
|
|
||||||
target="man/$1.html"
|
target="man/$1.html"
|
||||||
ninja -C "@BUILD_ROOT@" "$target"
|
ninja -C @BUILD_ROOT@ "$target"
|
||||||
|
|
||||||
fullname="@BUILD_ROOT@/$target"
|
fullname=@BUILD_ROOT@/"$target"
|
||||||
if [ -f "$fullname" ]; then
|
if [ -f "$fullname" ]; then
|
||||||
redirect="$(readlink "$fullname" || :)"
|
redirect="$(readlink "$fullname" || :)"
|
||||||
else
|
else
|
||||||
redirect=""
|
redirect=""
|
||||||
fi
|
fi
|
||||||
if [ -n "$redirect" ]; then
|
if [ -n "$redirect" ]; then
|
||||||
ninja -C "@BUILD_ROOT@" "man/$redirect"
|
ninja -C @BUILD_ROOT@ "man/$redirect"
|
||||||
|
|
||||||
fullname="@BUILD_ROOT@/man/$redirect"
|
fullname=@BUILD_ROOT@"/man/$redirect"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
set -x
|
set -x
|
||||||
|
@ -21,47 +21,50 @@
|
|||||||
</refnamediv>
|
</refnamediv>
|
||||||
|
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<para><filename><replaceable>ESP</replaceable>/loader/loader.conf</filename>,
|
<para><filename><replaceable>ESP</replaceable>/loader/loader.conf</filename></para>
|
||||||
<filename><replaceable>ESP</replaceable>/loader/entries/*.conf</filename>
|
|
||||||
<filename><replaceable>XBOOTLDR</replaceable>/loader/entries/*.conf</filename>
|
|
||||||
</para>
|
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Description</title>
|
<title>Description</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry> will
|
<citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry> reads
|
||||||
read <filename><replaceable>ESP</replaceable>/loader/loader.conf</filename>, and any files with the
|
<filename><replaceable>ESP</replaceable>/loader/loader.conf</filename>. This file configures whether the
|
||||||
<literal>.conf</literal> extension under
|
menu is shown and for how long, the font, audible beep, types of menu entries to show, the default
|
||||||
<filename><replaceable>ESP</replaceable>/loader/entries/</filename> on the EFI system partition (ESP),
|
choice, and some aspects of Secure Boot enrollment and firmware handling. See the list of available
|
||||||
and <filename><replaceable>XBOOTLDR</replaceable>/loader/entries/</filename> on the extended boot loader
|
options below.</para>
|
||||||
partition (XBOOTLDR) as defined by <ulink url="https://uapi-group.org/specifications/specs/boot_loader_specification">Boot Loader
|
|
||||||
Specification</ulink>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>Each of these configuration files must consist of series of newline (i.e. ASCII code 10) separated
|
<para>The file uses UTF-8 encoding and consists of series of lines separated by "line feed" (i.e. ASCII
|
||||||
lines, each consisting of an option name, followed by whitespace, and the option
|
code 10). Lines that are empty or start with the comment sign (<literal>#</literal>) are ignored. Other
|
||||||
value. <literal>#</literal> may be used to start a comment line. Empty and comment lines are ignored. The
|
lines consist of an option name, followed by whitespace, and the option value.
|
||||||
files use UTF-8 encoding.</para>
|
</para>
|
||||||
|
|
||||||
<para>Boolean arguments may be written as
|
<para>Boolean arguments may be written as
|
||||||
<literal>yes</literal>/<literal>y</literal>/<literal>true</literal>/<literal>t</literal>/<literal>on</literal>/<literal>1</literal> or
|
<literal>yes</literal>/<literal>y</literal>/<literal>true</literal>/<literal>t</literal>/<literal>on</literal>/<literal>1</literal>
|
||||||
|
or
|
||||||
<literal>no</literal>/<literal>n</literal>/<literal>false</literal>/<literal>f</literal>/<literal>off</literal>/<literal>0</literal>.
|
<literal>no</literal>/<literal>n</literal>/<literal>false</literal>/<literal>f</literal>/<literal>off</literal>/<literal>0</literal>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>Note: <command>systemd-boot</command> will also read boot loader entry files,
|
||||||
|
type #1 (<filename><replaceable>ESP</replaceable>/loader/entries/*.conf</filename> and
|
||||||
|
<filename><replaceable>XBOOTLDR</replaceable>/loader/entries/*.conf</filename>)
|
||||||
|
and type #2 (<filename><replaceable>ESP</replaceable>/EFI/Linux/*.uki</filename>
|
||||||
|
and <filename><replaceable>XBOOTLDR</replaceable>/EFI/Linux/*.uki</filename>).
|
||||||
|
Those files are described by the
|
||||||
|
<ulink url="https://uapi-group.org/specifications/specs/boot_loader_specification">Boot Loader
|
||||||
|
Specification</ulink>.</para>
|
||||||
|
|
||||||
|
<para>Note: the behaviour of <command>systemd-boot</command> is also influenced by EFI variables. Some of
|
||||||
|
the settings specified in this file can be overridden by those, for example the default boot menu entry
|
||||||
|
or the menu timeouts. See
|
||||||
|
<citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry> for
|
||||||
|
details.</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Options</title>
|
<title>Options</title>
|
||||||
|
|
||||||
<para>The configuration options supported by
|
<para>The following configuration are supported in <filename>loader.conf</filename>:</para>
|
||||||
<filename><replaceable>ESP</replaceable>/loader/entries/*.conf</filename> and
|
|
||||||
<filename><replaceable>XBOOTLDR</replaceable>/loader/entries/*.conf</filename> files are defined as part
|
|
||||||
of the <ulink url="https://uapi-group.org/specifications/specs/boot_loader_specification">Boot Loader
|
|
||||||
Specification</ulink>.</para>
|
|
||||||
|
|
||||||
<para>The following configuration are supported by the <filename>loader.conf</filename> configuration
|
|
||||||
file:</para>
|
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
@ -254,8 +257,9 @@
|
|||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>beep</term>
|
<term>beep</term>
|
||||||
|
|
||||||
<listitem><para>Takes a boolean argument. If timeout enabled beep every second, otherwise beep n times when n-th entry in boot menu is selected (default disabled).
|
<listitem><para>Takes a boolean argument. If timeout enabled beep every second, otherwise beep n
|
||||||
Currently, only x86 is supported, where it uses the PC speaker.</para>
|
times when n-th entry in boot menu is selected (default disabled). Currently, only x86 is supported,
|
||||||
|
where it uses the PC speaker.</para>
|
||||||
|
|
||||||
<xi:include href="version-info.xml" xpointer="v251"/></listitem>
|
<xi:include href="version-info.xml" xpointer="v251"/></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -379,8 +383,8 @@ sbvarsign --attr "${attr}" --key KEK.key --cert KEK.pem --output db.auth db db.e
|
|||||||
<listitem><para>Caveat: This feature is experimental, and is likely to be changed (or removed in its
|
<listitem><para>Caveat: This feature is experimental, and is likely to be changed (or removed in its
|
||||||
current form) in a future version of systemd.</para>
|
current form) in a future version of systemd.</para>
|
||||||
|
|
||||||
<para>Work around BitLocker requiring a recovery key when the boot loader was
|
<para>Work around BitLocker requiring a recovery key when the boot loader was updated (disabled by
|
||||||
updated (disabled by default).</para>
|
default).</para>
|
||||||
|
|
||||||
<para>Try to detect BitLocker encrypted drives along with an active TPM. If both are found and
|
<para>Try to detect BitLocker encrypted drives along with an active TPM. If both are found and
|
||||||
Windows Boot Manager is selected in the boot menu, set the <literal>BootNext</literal> EFI variable
|
Windows Boot Manager is selected in the boot menu, set the <literal>BootNext</literal> EFI variable
|
||||||
|
12
man/man.in
12
man/man.in
@ -9,22 +9,22 @@ if [ -z "$1" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# make sure the rules have been regenerated (in case update-man-rules was just run)
|
# make sure the rules have been regenerated (in case update-man-rules was just run)
|
||||||
ninja -C "@BUILD_ROOT@" version.h
|
ninja -C @BUILD_ROOT@ version.h
|
||||||
|
|
||||||
page="$(echo "$1" | sed 's/\./\\./')"
|
page="$(echo "$1" | sed 's/\./\\./')"
|
||||||
target=$(ninja -C "@BUILD_ROOT@" -t query man/man | grep -E -m1 "man/$page\.[0-9]$" | awk '{print $2}')
|
target=$(ninja -C @BUILD_ROOT@ -t query man/man | grep -E -m1 "man/$page\.[0-9]$" | awk '{print $2}')
|
||||||
if [ -z "$target" ]; then
|
if [ -z "$target" ]; then
|
||||||
echo "Cannot find page $1"
|
echo "Cannot find page $1"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
ninja -C "@BUILD_ROOT@" "$target"
|
ninja -C @BUILD_ROOT@ "$target"
|
||||||
|
|
||||||
fullname="@BUILD_ROOT@/$target"
|
fullname=@BUILD_ROOT@/"$target"
|
||||||
redirect="$(sed -n -r '1 s|^\.so man[0-9]/(.*)|\1|p' "$fullname")"
|
redirect="$(sed -n -r '1 s|^\.so man[0-9]/(.*)|\1|p' "$fullname")"
|
||||||
if [ -n "$redirect" ]; then
|
if [ -n "$redirect" ]; then
|
||||||
ninja -C "@BUILD_ROOT@" "man/$redirect"
|
ninja -C @BUILD_ROOT@ "man/$redirect"
|
||||||
|
|
||||||
fullname="@BUILD_ROOT@/man/$redirect"
|
fullname=@BUILD_ROOT@"/man/$redirect"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec man "$fullname"
|
exec man "$fullname"
|
||||||
|
@ -29,7 +29,6 @@ custom_html_xsl = files('custom-html.xsl')
|
|||||||
xslt_cmd = [xsltproc, '-o', '@OUTPUT0@'] + xsltproc_flags
|
xslt_cmd = [xsltproc, '-o', '@OUTPUT0@'] + xsltproc_flags
|
||||||
|
|
||||||
custom_entities_ent = custom_target(
|
custom_entities_ent = custom_target(
|
||||||
'custom-entities.ent',
|
|
||||||
input : 'custom-entities.ent.in',
|
input : 'custom-entities.ent.in',
|
||||||
output : 'custom-entities.ent',
|
output : 'custom-entities.ent',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'])
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'])
|
||||||
@ -76,7 +75,6 @@ foreach tuple : manpages
|
|||||||
|
|
||||||
if xsltproc.found()
|
if xsltproc.found()
|
||||||
p1 = custom_target(
|
p1 = custom_target(
|
||||||
man,
|
|
||||||
input : xml,
|
input : xml,
|
||||||
output : [man] + manaliases,
|
output : [man] + manaliases,
|
||||||
command : xslt_cmd + [custom_man_xsl, '@INPUT@'],
|
command : xslt_cmd + [custom_man_xsl, '@INPUT@'],
|
||||||
@ -88,7 +86,6 @@ foreach tuple : manpages
|
|||||||
p2 = []
|
p2 = []
|
||||||
foreach htmlalias : htmlaliases
|
foreach htmlalias : htmlaliases
|
||||||
link = custom_target(
|
link = custom_target(
|
||||||
htmlalias,
|
|
||||||
output : htmlalias,
|
output : htmlalias,
|
||||||
command : [ln, '-fs', html, '@OUTPUT@'])
|
command : [ln, '-fs', html, '@OUTPUT@'])
|
||||||
if want_html
|
if want_html
|
||||||
@ -99,7 +96,6 @@ foreach tuple : manpages
|
|||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
p3 = custom_target(
|
p3 = custom_target(
|
||||||
html,
|
|
||||||
input : xml,
|
input : xml,
|
||||||
output : html,
|
output : html,
|
||||||
command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
|
command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
|
||||||
@ -121,7 +117,6 @@ if not have_lxml
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
systemd_directives_xml = custom_target(
|
systemd_directives_xml = custom_target(
|
||||||
'systemd.directives.xml',
|
|
||||||
input : ['directives-template.xml', source_xml_files],
|
input : ['directives-template.xml', source_xml_files],
|
||||||
output : 'systemd.directives.xml',
|
output : 'systemd.directives.xml',
|
||||||
depends : man_page_depends,
|
depends : man_page_depends,
|
||||||
@ -129,7 +124,6 @@ systemd_directives_xml = custom_target(
|
|||||||
|
|
||||||
nonindex_xml_files = source_xml_files + [systemd_directives_xml]
|
nonindex_xml_files = source_xml_files + [systemd_directives_xml]
|
||||||
systemd_index_xml = custom_target(
|
systemd_index_xml = custom_target(
|
||||||
'systemd.index.xml',
|
|
||||||
input : nonindex_xml_files,
|
input : nonindex_xml_files,
|
||||||
output : 'systemd.index.xml',
|
output : 'systemd.index.xml',
|
||||||
command : [make_man_index_py, '@OUTPUT@'] + nonindex_xml_files)
|
command : [make_man_index_py, '@OUTPUT@'] + nonindex_xml_files)
|
||||||
@ -146,7 +140,6 @@ foreach tuple : xsltproc.found() ? [['systemd.directives', '7', systemd_directiv
|
|||||||
mandirn = get_option('mandir') / ('man' + section)
|
mandirn = get_option('mandir') / ('man' + section)
|
||||||
|
|
||||||
p1 = custom_target(
|
p1 = custom_target(
|
||||||
man,
|
|
||||||
input : xml,
|
input : xml,
|
||||||
output : man,
|
output : man,
|
||||||
command : xslt_cmd + [custom_man_xsl, '@INPUT@'],
|
command : xslt_cmd + [custom_man_xsl, '@INPUT@'],
|
||||||
@ -158,7 +151,6 @@ foreach tuple : xsltproc.found() ? [['systemd.directives', '7', systemd_directiv
|
|||||||
if html == 'systemd.index.html'
|
if html == 'systemd.index.html'
|
||||||
htmlalias = 'index.html'
|
htmlalias = 'index.html'
|
||||||
link = custom_target(
|
link = custom_target(
|
||||||
htmlalias,
|
|
||||||
input : p2,
|
input : p2,
|
||||||
output : htmlalias,
|
output : htmlalias,
|
||||||
command : [ln, '-fs', html, '@OUTPUT@'])
|
command : [ln, '-fs', html, '@OUTPUT@'])
|
||||||
@ -170,7 +162,6 @@ foreach tuple : xsltproc.found() ? [['systemd.directives', '7', systemd_directiv
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
p3 = custom_target(
|
p3 = custom_target(
|
||||||
html,
|
|
||||||
input : xml,
|
input : xml,
|
||||||
output : html,
|
output : html,
|
||||||
command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
|
command : xslt_cmd + [custom_html_xsl, '@INPUT@'],
|
||||||
@ -183,13 +174,11 @@ endforeach
|
|||||||
# Cannot use run_target because those targets are used in depends
|
# Cannot use run_target because those targets are used in depends
|
||||||
# Also see https://github.com/mesonbuild/meson/issues/368.
|
# Also see https://github.com/mesonbuild/meson/issues/368.
|
||||||
man = custom_target(
|
man = custom_target(
|
||||||
'man',
|
|
||||||
output : 'man',
|
output : 'man',
|
||||||
depends : man_pages,
|
depends : man_pages,
|
||||||
command : [echo])
|
command : [echo])
|
||||||
|
|
||||||
html = custom_target(
|
html = custom_target(
|
||||||
'html',
|
|
||||||
output : 'html',
|
output : 'html',
|
||||||
depends : html_pages,
|
depends : html_pages,
|
||||||
command : [echo])
|
command : [echo])
|
||||||
|
@ -2552,9 +2552,9 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
|||||||
|
|
||||||
<para><varname>SubState</varname> encodes states of the same state machine that
|
<para><varname>SubState</varname> encodes states of the same state machine that
|
||||||
<varname>ActiveState</varname> covers, but knows more fine-grained states that are
|
<varname>ActiveState</varname> covers, but knows more fine-grained states that are
|
||||||
unit-type-specific. Where <varname>ActiveState</varname> only covers six high-level states,
|
unit-type-specific. Where <varname>ActiveState</varname> only covers eight high-level states,
|
||||||
<varname>SubState</varname> covers possibly many more low-level unit-type-specific states that are
|
<varname>SubState</varname> covers possibly many more low-level unit-type-specific states that are
|
||||||
mapped to the six high-level states. Note that multiple low-level states might map to the same
|
mapped to the eight high-level states. Note that multiple low-level states might map to the same
|
||||||
high-level state, but not vice versa. Not all high-level states have low-level counterparts on all unit
|
high-level state, but not vice versa. Not all high-level states have low-level counterparts on all unit
|
||||||
types. At this point the low-level states are not documented here, and are more likely to be extended
|
types. At this point the low-level states are not documented here, and are more likely to be extended
|
||||||
later on than the common high-level states explained above.</para>
|
later on than the common high-level states explained above.</para>
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
</funcprototype>
|
</funcprototype>
|
||||||
|
|
||||||
<funcprototype>
|
<funcprototype>
|
||||||
<funcdef>char *<function>sd_id128_uuid_string</function></funcdef>
|
<funcdef>char *<function>sd_id128_to_uuid_string</function></funcdef>
|
||||||
<paramdef>sd_id128_t <parameter>id</parameter>, char <parameter>s</parameter>[static SD_ID128_UUID_STRING_MAX]</paramdef>
|
<paramdef>sd_id128_t <parameter>id</parameter>, char <parameter>s</parameter>[static SD_ID128_UUID_STRING_MAX]</paramdef>
|
||||||
</funcprototype>
|
</funcprototype>
|
||||||
|
|
||||||
@ -113,7 +113,7 @@
|
|||||||
<title>History</title>
|
<title>History</title>
|
||||||
<para><function>sd_id128_to_string()</function> and
|
<para><function>sd_id128_to_string()</function> and
|
||||||
<function>sd_id128_from_string()</function> were added in version 187.</para>
|
<function>sd_id128_from_string()</function> were added in version 187.</para>
|
||||||
<para><function>sd_id128_uuid_string()</function> was added in version 251.</para>
|
<para><function>sd_id128_to_uuid_string()</function> was added in version 251.</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
|
@ -149,6 +149,8 @@
|
|||||||
<term><keycap>d</keycap></term>
|
<term><keycap>d</keycap></term>
|
||||||
<listitem><para>Make selected entry the default</para>
|
<listitem><para>Make selected entry the default</para>
|
||||||
|
|
||||||
|
<para>An EFI variable is set to allow this setting to persist.</para>
|
||||||
|
|
||||||
<xi:include href="version-info.xml" xpointer="v239"/></listitem>
|
<xi:include href="version-info.xml" xpointer="v239"/></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -164,6 +166,8 @@
|
|||||||
<term><keycap>t</keycap></term>
|
<term><keycap>t</keycap></term>
|
||||||
<listitem><para>Increase the timeout before default entry is booted</para>
|
<listitem><para>Increase the timeout before default entry is booted</para>
|
||||||
|
|
||||||
|
<para>An EFI variable is set to allow this setting to persist.</para>
|
||||||
|
|
||||||
<xi:include href="version-info.xml" xpointer="v239"/></listitem>
|
<xi:include href="version-info.xml" xpointer="v239"/></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -172,6 +176,8 @@
|
|||||||
<term><keycap>T</keycap></term>
|
<term><keycap>T</keycap></term>
|
||||||
<listitem><para>Decrease the timeout</para>
|
<listitem><para>Decrease the timeout</para>
|
||||||
|
|
||||||
|
<para>An EFI variable is set to allow this setting to persist.</para>
|
||||||
|
|
||||||
<xi:include href="version-info.xml" xpointer="v239"/></listitem>
|
<xi:include href="version-info.xml" xpointer="v239"/></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -179,6 +185,8 @@
|
|||||||
<term><keycap>r</keycap></term>
|
<term><keycap>r</keycap></term>
|
||||||
<listitem><para>Change screen resolution, skipping any unsupported modes.</para>
|
<listitem><para>Change screen resolution, skipping any unsupported modes.</para>
|
||||||
|
|
||||||
|
<para>An EFI variable is set to allow this setting to persist.</para>
|
||||||
|
|
||||||
<xi:include href="version-info.xml" xpointer="v250"/></listitem>
|
<xi:include href="version-info.xml" xpointer="v250"/></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -186,6 +194,8 @@
|
|||||||
<term><keycap>R</keycap></term>
|
<term><keycap>R</keycap></term>
|
||||||
<listitem><para>Reset screen resolution to firmware or configuration file default.</para>
|
<listitem><para>Reset screen resolution to firmware or configuration file default.</para>
|
||||||
|
|
||||||
|
<para>An EFI variable is set to allow this setting to persist.</para>
|
||||||
|
|
||||||
<xi:include href="version-info.xml" xpointer="v250"/></listitem>
|
<xi:include href="version-info.xml" xpointer="v250"/></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -280,15 +290,15 @@
|
|||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<para>The boot menu is shown when a non-zero menu timeout has been configured. If the menu timeout has
|
<para>The boot menu is shown when a non-zero menu timeout has been configured. If the menu timeout has
|
||||||
been set to zero, it is sufficient to press any key — before the boot loader initializes — to bring up
|
been set to zero, hold down a key (<keycap>space</keycap> is recommended) before the boot loader
|
||||||
the boot menu, except for the keys listed immediately above as they directly boot into the selected boot
|
initializes to bring up the boot menu. Note that depending on the firmware implementation the time window
|
||||||
menu item. Note that depending on the firmware implementation the time window where key presses are
|
where key presses are accepted before the boot loader initializes might be short. If the window is
|
||||||
accepted before the boot loader initializes might be short. If the window is missed, reboot and try
|
missed, reboot and try again, possibly repeatedly pressing a suitable key; on most systems it should be
|
||||||
again, possibly pressing a suitable key (e.g. the space bar) continuously; on most systems it should be
|
possible to hit the time window after a few attempts. Keys other than the space bar may be used, except
|
||||||
possible to hit the time window after a few attempts. To avoid this problem, consider setting a non-zero
|
for the keys listed above. If showing the menu on demand doesn't work well, consider setting a non-zero
|
||||||
timeout, thus showing the boot menu unconditionally. Some desktop environments might offer an option to
|
timeout to show the boot menu unconditionally. Some desktop environments might offer an option to boot
|
||||||
directly boot into the boot menu, to avoid the problem altogether. Alternatively, use the command line
|
directly into the boot menu, which also avoids the problem altogether. Alternatively, use the command
|
||||||
<command>systemctl reboot --boot-loader-menu=0</command> from the shell.</para>
|
line <command>systemctl reboot --boot-loader-menu=</command> with a non-zero value from the shell.</para>
|
||||||
|
|
||||||
<para>In the editor, most keys simply insert themselves, but the following keys
|
<para>In the editor, most keys simply insert themselves, but the following keys
|
||||||
may be used to perform additional actions:</para>
|
may be used to perform additional actions:</para>
|
||||||
@ -389,16 +399,16 @@
|
|||||||
<refsect1>
|
<refsect1>
|
||||||
<title>EFI Variables</title>
|
<title>EFI Variables</title>
|
||||||
|
|
||||||
<para>The following EFI variables are defined, set and read by <command>systemd-boot</command>, under the
|
<para>The following EFI variables are defined, and may be set or read by <command>systemd-boot</command>
|
||||||
vendor UUID <literal>4a67b082-0a4c-41cf-b6c7-440b29bb8c4f</literal>, for communication between the boot
|
for communication between the boot loader and the OS. The vendor UUID
|
||||||
loader and the OS:</para>
|
<literal>4a67b082-0a4c-41cf-b6c7-440b29bb8c4f</literal> is used in all cases.</para>
|
||||||
|
|
||||||
<variablelist class='efi-variables'>
|
<variablelist class='efi-variables'>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><varname>LoaderBootCountPath</varname></term>
|
<term><varname>LoaderBootCountPath</varname></term>
|
||||||
<listitem><para>If boot counting is enabled, contains the path to the file in whose name the boot counters are
|
<listitem><para>If boot counting is enabled, contains the path to the file in whose name the boot
|
||||||
encoded. Set by the boot
|
counters are encoded. Set by the boot loader.
|
||||||
loader. <citerefentry><refentrytitle>systemd-bless-boot.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
<citerefentry><refentrytitle>systemd-bless-boot.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||||
uses this information to mark a boot as successful as determined by the successful activation of the
|
uses this information to mark a boot as successful as determined by the successful activation of the
|
||||||
<filename>boot-complete.target</filename> target unit.</para>
|
<filename>boot-complete.target</filename> target unit.</para>
|
||||||
|
|
||||||
@ -454,13 +464,13 @@
|
|||||||
<term><varname>LoaderEntryDefault</varname></term>
|
<term><varname>LoaderEntryDefault</varname></term>
|
||||||
<term><varname>LoaderEntryOneShot</varname></term>
|
<term><varname>LoaderEntryOneShot</varname></term>
|
||||||
|
|
||||||
<listitem><para>The identifier of the default boot loader entry. Set primarily by the OS and read by the boot
|
<listitem><para>The identifier of the default boot loader entry. Can be set in the OS and the boot
|
||||||
loader. <varname>LoaderEntryOneShot</varname> sets the default entry for the next boot only, while
|
loader. <varname>LoaderEntryOneShot</varname> sets the default entry for the next boot only, while
|
||||||
<varname>LoaderEntryDefault</varname> sets it persistently for all future
|
<varname>LoaderEntryDefault</varname> sets it persistently for all future boots.
|
||||||
boots. <citerefentry><refentrytitle>bootctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
|
<citerefentry><refentrytitle>bootctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
|
||||||
<option>set-default</option> and <option>set-oneshot</option> commands make use of these variables. The boot
|
<option>set-default</option> and <option>set-oneshot</option> commands make use of these variables.
|
||||||
loader modifies <varname>LoaderEntryDefault</varname> on request, when the <keycap>d</keycap> key is used, see
|
The boot loader modifies <varname>LoaderEntryDefault</varname> on request, when the
|
||||||
above.</para>
|
<keycap>d</keycap> key is used, see above.</para>
|
||||||
|
|
||||||
<xi:include href="version-info.xml" xpointer="v240"/></listitem>
|
<xi:include href="version-info.xml" xpointer="v240"/></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -413,7 +413,7 @@
|
|||||||
<term><varname>UnsetProperty=</varname></term>
|
<term><varname>UnsetProperty=</varname></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Unset specified udev properties. This takes space separated list of
|
<para>Unset specified udev properties. This takes space separated list of
|
||||||
property names. Example: <programlisting>ImportProperty=HOGE BAR</programlisting>
|
property names. Example: <programlisting>UnsetProperty=HOGE BAR</programlisting>
|
||||||
This option supports simple specifier expansion, see the Specifiers section below.
|
This option supports simple specifier expansion, see the Specifiers section below.
|
||||||
This option can be specified multiple times. If an empty string is assigned, then the all previous
|
This option can be specified multiple times. If an empty string is assigned, then the all previous
|
||||||
assignments are cleared.</para>
|
assignments are cleared.</para>
|
||||||
|
@ -357,15 +357,17 @@
|
|||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><varname>PIDFile=</varname></term>
|
<term><varname>PIDFile=</varname></term>
|
||||||
|
|
||||||
<listitem><para>Takes a path referring to the PID file of the service. Usage of this option is recommended for
|
<listitem><para>Takes a path referring to the PID file of the service. Usage of this option is
|
||||||
services where <varname>Type=</varname> is set to <option>forking</option>. The path specified typically points
|
recommended for services where <varname>Type=</varname> is set to <option>forking</option>. The path
|
||||||
to a file below <filename>/run/</filename>. If a relative path is specified it is hence prefixed with
|
specified typically points to a file below <filename>/run/</filename>. If a relative path is
|
||||||
<filename>/run/</filename>. The service manager will read the PID of the main process of the service from this
|
specified for system service, then it is hence prefixed with <filename>/run/</filename>, and prefixed
|
||||||
file after start-up of the service. The service manager will not write to the file configured here, although it
|
with <filename>$XDG_RUNTIME_DIR</filename> if specified in a user service. The service manager will
|
||||||
will remove the file after the service has shut down if it still exists. The PID file does not need to be owned
|
read the PID of the main process of the service from this file after start-up of the service. The
|
||||||
by a privileged user, but if it is owned by an unprivileged user additional safety restrictions are enforced:
|
service manager will not write to the file configured here, although it will remove the file after
|
||||||
the file may not be a symlink to a file owned by a different user (neither directly nor indirectly), and the
|
the service has shut down if it still exists. The PID file does not need to be owned by a privileged
|
||||||
PID file must refer to a process already belonging to the service.</para>
|
user, but if it is owned by an unprivileged user additional safety restrictions are enforced: the
|
||||||
|
file may not be a symlink to a file owned by a different user (neither directly nor indirectly), and
|
||||||
|
the PID file must refer to a process already belonging to the service.</para>
|
||||||
|
|
||||||
<para>Note that PID files should be avoided in modern projects. Use <option>Type=notify</option>,
|
<para>Note that PID files should be avoided in modern projects. Use <option>Type=notify</option>,
|
||||||
<option>Type=notify-reload</option> or <option>Type=simple</option> where possible, which does not
|
<option>Type=notify-reload</option> or <option>Type=simple</option> where possible, which does not
|
||||||
@ -1686,7 +1688,7 @@ WantedBy=multi-user.target</programlisting>
|
|||||||
just starts one process in the background:</para>
|
just starts one process in the background:</para>
|
||||||
|
|
||||||
<programlisting>[Unit]
|
<programlisting>[Unit]
|
||||||
Description=Some simple daemon
|
Description=My Simple Daemon
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=forking
|
Type=forking
|
||||||
@ -1712,7 +1714,7 @@ WantedBy=multi-user.target</programlisting>
|
|||||||
The following example shows a typical DBus service:</para>
|
The following example shows a typical DBus service:</para>
|
||||||
|
|
||||||
<programlisting>[Unit]
|
<programlisting>[Unit]
|
||||||
Description=Simple DBus service
|
Description=Simple DBus Service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=dbus
|
Type=dbus
|
||||||
@ -1751,7 +1753,7 @@ SystemdService=simple-dbus-service.service</programlisting>
|
|||||||
daemon would look like this:</para>
|
daemon would look like this:</para>
|
||||||
|
|
||||||
<programlisting>[Unit]
|
<programlisting>[Unit]
|
||||||
Description=Simple notifying service
|
Description=Simple Notifying Service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=notify-reload
|
Type=notify-reload
|
||||||
|
@ -247,7 +247,7 @@ tomorrow Pacific/Auckland → Thu 2012-11-23 19:00:00
|
|||||||
decimal places.</para>
|
decimal places.</para>
|
||||||
|
|
||||||
<para>Either time or date specification may be omitted, in which
|
<para>Either time or date specification may be omitted, in which
|
||||||
case *-*-* and 00:00:00 is implied, respectively. If the
|
case 00:00:00 and *-*-* is implied, respectively. If the
|
||||||
seconds component is not specified, <literal>:00</literal> is
|
seconds component is not specified, <literal>:00</literal> is
|
||||||
assumed.</para>
|
assumed.</para>
|
||||||
|
|
||||||
|
57
meson.build
57
meson.build
@ -1814,9 +1814,21 @@ if conf.get('BPF_FRAMEWORK') == 1
|
|||||||
#
|
#
|
||||||
# C.f. https://mesonbuild.com/Reference-tables.html#cpu-families
|
# C.f. https://mesonbuild.com/Reference-tables.html#cpu-families
|
||||||
# and src/basic/missing_syscall_def.h.
|
# and src/basic/missing_syscall_def.h.
|
||||||
|
|
||||||
|
# Start with older ABI. When define is missing, we're likely targeting that.
|
||||||
|
ppc64_elf_version = '1'
|
||||||
|
|
||||||
|
if host_machine.cpu_family() == 'ppc64'
|
||||||
|
# cc doesn't have to be bpf_compiler, but they should be targeting the same ABI
|
||||||
|
call_elf_value = cc.get_define('_CALL_ELF')
|
||||||
|
if call_elf_value != ''
|
||||||
|
ppc64_elf_version = call_elf_value
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
cpu_arch_defines = {
|
cpu_arch_defines = {
|
||||||
'ppc' : ['-D__powerpc__', '-D__TARGET_ARCH_powerpc'],
|
'ppc' : ['-D__powerpc__', '-D__TARGET_ARCH_powerpc'],
|
||||||
'ppc64' : ['-D__powerpc64__', '-D__TARGET_ARCH_powerpc', '-D_CALL_ELF=2'],
|
'ppc64' : ['-D__powerpc64__', '-D__TARGET_ARCH_powerpc', '-D_CALL_ELF=' + ppc64_elf_version],
|
||||||
'riscv32' : ['-D__riscv', '-D__riscv_xlen=32', '-D__TARGET_ARCH_riscv'],
|
'riscv32' : ['-D__riscv', '-D__riscv_xlen=32', '-D__TARGET_ARCH_riscv'],
|
||||||
'riscv64' : ['-D__riscv', '-D__riscv_xlen=64', '-D__TARGET_ARCH_riscv'],
|
'riscv64' : ['-D__riscv', '-D__riscv_xlen=64', '-D__TARGET_ARCH_riscv'],
|
||||||
'x86' : ['-D__i386__', '-D__TARGET_ARCH_x86'],
|
'x86' : ['-D__i386__', '-D__TARGET_ARCH_x86'],
|
||||||
@ -1863,11 +1875,21 @@ if conf.get('BPF_FRAMEWORK') == 1
|
|||||||
target_triplet_cmd = run_command('gcc', '-print-multiarch', check: false)
|
target_triplet_cmd = run_command('gcc', '-print-multiarch', check: false)
|
||||||
endif
|
endif
|
||||||
if target_triplet_cmd.returncode() == 0
|
if target_triplet_cmd.returncode() == 0
|
||||||
|
sysroot = meson.get_external_property('sys_root', '/')
|
||||||
target_triplet = target_triplet_cmd.stdout().strip()
|
target_triplet = target_triplet_cmd.stdout().strip()
|
||||||
bpf_o_unstripped_cmd += [
|
target_include_dir = sysroot / 'usr' / 'include'
|
||||||
'-isystem',
|
target_triple_include_dir = target_include_dir / target_triplet
|
||||||
'/usr/include/@0@'.format(target_triplet)
|
isystem_dir = ''
|
||||||
]
|
if fs.is_dir(target_triple_include_dir)
|
||||||
|
isystem_dir = target_triple_include_dir
|
||||||
|
elif fs.is_dir(target_include_dir)
|
||||||
|
isystem_dir = target_include_dir
|
||||||
|
endif
|
||||||
|
if isystem_dir != ''
|
||||||
|
bpf_o_unstripped_cmd += [
|
||||||
|
'-isystem', isystem_dir
|
||||||
|
]
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
bpf_o_unstripped_cmd += [
|
bpf_o_unstripped_cmd += [
|
||||||
@ -2004,7 +2026,6 @@ if use_provided_vmlinux_h
|
|||||||
message('Using provided @0@'.format(provided_vmlinux_h_path))
|
message('Using provided @0@'.format(provided_vmlinux_h_path))
|
||||||
elif use_generated_vmlinux_h
|
elif use_generated_vmlinux_h
|
||||||
vmlinux_h_dependency = custom_target(
|
vmlinux_h_dependency = custom_target(
|
||||||
'vmlinux.h',
|
|
||||||
output: 'vmlinux.h',
|
output: 'vmlinux.h',
|
||||||
command : [ bpftool, 'btf', 'dump', 'file', '/sys/kernel/btf/vmlinux', 'format', 'c' ],
|
command : [ bpftool, 'btf', 'dump', 'file', '/sys/kernel/btf/vmlinux', 'format', 'c' ],
|
||||||
capture : true)
|
capture : true)
|
||||||
@ -2227,12 +2248,12 @@ endif
|
|||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
runtest_env = custom_target(
|
runtest_env = custom_target(
|
||||||
'systemd-runtest.env',
|
|
||||||
output : 'systemd-runtest.env',
|
output : 'systemd-runtest.env',
|
||||||
command : [sh, '-c',
|
command : ['printf',
|
||||||
'{ echo SYSTEMD_TEST_DATA=@0@; echo SYSTEMD_CATALOG_DIR=@1@; } >@OUTPUT@'.format(
|
'SYSTEMD_TEST_DATA=%q\nSYSTEMD_CATALOG_DIR=%q\n',
|
||||||
meson.project_source_root() / 'test',
|
meson.project_source_root() / 'test',
|
||||||
meson.project_build_root() / 'catalog')],
|
meson.project_build_root() / 'catalog'],
|
||||||
|
capture: true,
|
||||||
depends : catalogs,
|
depends : catalogs,
|
||||||
build_by_default : true)
|
build_by_default : true)
|
||||||
|
|
||||||
@ -2697,7 +2718,6 @@ foreach executable : ['systemd-measure', 'systemd-sbsign', 'systemd-keyutil']
|
|||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
ukify = custom_target(
|
ukify = custom_target(
|
||||||
'ukify',
|
|
||||||
input : 'src/ukify/ukify.py',
|
input : 'src/ukify/ukify.py',
|
||||||
output : 'ukify',
|
output : 'ukify',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
@ -2848,7 +2868,6 @@ if git.found()
|
|||||||
all_files = files(all_files.stdout().split())
|
all_files = files(all_files.stdout().split())
|
||||||
|
|
||||||
custom_target(
|
custom_target(
|
||||||
'tags',
|
|
||||||
output : 'tags',
|
output : 'tags',
|
||||||
command : [env, 'etags', '-o', '@0@/TAGS'.format(meson.project_source_root())] + all_files)
|
command : [env, 'etags', '-o', '@0@/TAGS'.format(meson.project_source_root())] + all_files)
|
||||||
run_target(
|
run_target(
|
||||||
@ -2914,12 +2933,12 @@ if not meson.is_cross_build()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
meson_extract_unit_files = find_program('tools/meson-extract-unit-files.py')
|
meson_extract_unit_files = find_program('tools/meson-extract-unit-files.py')
|
||||||
custom_target('installed-unit-files.txt',
|
custom_target(
|
||||||
output : 'installed-unit-files.txt',
|
output : 'installed-unit-files.txt',
|
||||||
capture : true,
|
capture : true,
|
||||||
install : want_tests != 'no' and install_tests,
|
install : want_tests != 'no' and install_tests,
|
||||||
install_dir : testdata_dir,
|
install_dir : testdata_dir,
|
||||||
command : [meson_extract_unit_files, meson.project_build_root()])
|
command : [meson_extract_unit_files, meson.project_build_root()])
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
[Config]
|
[Config]
|
||||||
MinimumVersion=commit:5e739ef1ed02a4f3b6ae64e50a8ee186cbcb21c2
|
MinimumVersion=commit:655baf24474a6f0732ec1b82a71c2f6fe4eeeb49
|
||||||
Dependencies=
|
Dependencies=
|
||||||
exitrd
|
exitrd
|
||||||
initrd
|
initrd
|
||||||
@ -38,6 +38,8 @@ Incremental=yes
|
|||||||
|
|
||||||
[Validation]
|
[Validation]
|
||||||
SignExpectedPcr=yes
|
SignExpectedPcr=yes
|
||||||
|
SecureBoot=yes
|
||||||
|
SecureBootAutoEnroll=yes
|
||||||
|
|
||||||
[Content]
|
[Content]
|
||||||
ExtraTrees=
|
ExtraTrees=
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
[Match]
|
|
||||||
Distribution=arch
|
|
||||||
|
|
||||||
[Build]
|
[Build]
|
||||||
Environment=
|
Environment=
|
||||||
GIT_URL=https://gitlab.archlinux.org/archlinux/packaging/packages/systemd.git
|
GIT_URL=https://gitlab.archlinux.org/archlinux/packaging/packages/systemd.git
|
||||||
|
@ -8,7 +8,6 @@ Distribution=|fedora
|
|||||||
PrepareScripts=systemd.prepare
|
PrepareScripts=systemd.prepare
|
||||||
VolatilePackages=
|
VolatilePackages=
|
||||||
systemd
|
systemd
|
||||||
systemd-boot
|
|
||||||
systemd-container
|
systemd-container
|
||||||
systemd-devel
|
systemd-devel
|
||||||
systemd-journal-remote
|
systemd-journal-remote
|
||||||
@ -28,6 +27,8 @@ Packages=
|
|||||||
cryptsetup
|
cryptsetup
|
||||||
device-mapper-event
|
device-mapper-event
|
||||||
device-mapper-multipath
|
device-mapper-multipath
|
||||||
|
dfuzzer
|
||||||
|
erofs-utils
|
||||||
git-core
|
git-core
|
||||||
glibc-langpack-de
|
glibc-langpack-de
|
||||||
glibc-langpack-en
|
glibc-langpack-en
|
||||||
@ -39,6 +40,7 @@ Packages=
|
|||||||
iputils
|
iputils
|
||||||
iscsi-initiator-utils
|
iscsi-initiator-utils
|
||||||
kernel-core
|
kernel-core
|
||||||
|
knot
|
||||||
libcap-ng-utils
|
libcap-ng-utils
|
||||||
man-db
|
man-db
|
||||||
nmap-ncat
|
nmap-ncat
|
||||||
@ -51,6 +53,9 @@ Packages=
|
|||||||
polkit
|
polkit
|
||||||
procps-ng
|
procps-ng
|
||||||
python3-pexpect
|
python3-pexpect
|
||||||
|
# needed to upgrade and downgrade systemd-ukify in tests
|
||||||
|
python3-zstd
|
||||||
|
qrencode
|
||||||
quota
|
quota
|
||||||
rpm
|
rpm
|
||||||
softhsm
|
softhsm
|
||||||
|
11
mkosi/mkosi.conf.d/centos-fedora/mkosi.conf.d/efi.conf
Normal file
11
mkosi/mkosi.conf.d/centos-fedora/mkosi.conf.d/efi.conf
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
|
[Match]
|
||||||
|
Architecture=uefi
|
||||||
|
|
||||||
|
[Content]
|
||||||
|
Packages=
|
||||||
|
sbsigntools
|
||||||
|
|
||||||
|
VolatilePackages=
|
||||||
|
systemd-boot
|
@ -1,9 +1,5 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
[Match]
|
|
||||||
Distribution=|centos
|
|
||||||
Distribution=|fedora
|
|
||||||
|
|
||||||
[Build]
|
[Build]
|
||||||
Environment=
|
Environment=
|
||||||
GIT_URL=https://src.fedoraproject.org/rpms/systemd.git
|
GIT_URL=https://src.fedoraproject.org/rpms/systemd.git
|
||||||
|
@ -5,6 +5,7 @@ Distribution=centos
|
|||||||
|
|
||||||
[Distribution]
|
[Distribution]
|
||||||
Release=10
|
Release=10
|
||||||
|
Repositories=epel
|
||||||
|
|
||||||
[Build]
|
[Build]
|
||||||
Environment=
|
Environment=
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
||||||
|
|
||||||
[Match]
|
|
||||||
Release=9
|
|
||||||
|
|
||||||
[Distribution]
|
|
||||||
Repositories=
|
|
||||||
epel
|
|
||||||
epel-next
|
|
@ -1,13 +0,0 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
||||||
|
|
||||||
[Match]
|
|
||||||
Repositories=epel
|
|
||||||
|
|
||||||
[Content]
|
|
||||||
Packages=
|
|
||||||
dfuzzer
|
|
||||||
dhcp-server
|
|
||||||
erofs-utils
|
|
||||||
knot
|
|
||||||
qrencode
|
|
||||||
sbsigntools
|
|
@ -13,7 +13,6 @@ VolatilePackages=
|
|||||||
libsystemd-shared-dbgsym
|
libsystemd-shared-dbgsym
|
||||||
libsystemd0-dbgsym
|
libsystemd0-dbgsym
|
||||||
libudev1-dbgsym
|
libudev1-dbgsym
|
||||||
systemd-boot-dbgsym
|
|
||||||
systemd-container-dbgsym
|
systemd-container-dbgsym
|
||||||
systemd-coredump-dbgsym
|
systemd-coredump-dbgsym
|
||||||
systemd-cryptsetup-dbgsym
|
systemd-cryptsetup-dbgsym
|
||||||
|
11
mkosi/mkosi.conf.d/debian-ubuntu/mkosi.conf.d/efi-debug.conf
Normal file
11
mkosi/mkosi.conf.d/debian-ubuntu/mkosi.conf.d/efi-debug.conf
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
|
[Match]
|
||||||
|
Environment=WITH_DEBUG=1
|
||||||
|
|
||||||
|
[Match]
|
||||||
|
Architecture=uefi
|
||||||
|
|
||||||
|
[Content]
|
||||||
|
VolatilePackages=
|
||||||
|
systemd-boot-dbgsym
|
@ -2,13 +2,7 @@
|
|||||||
# sbsigntool exists only on UEFI architectures
|
# sbsigntool exists only on UEFI architectures
|
||||||
|
|
||||||
[Match]
|
[Match]
|
||||||
Architecture=|x86
|
Architecture=uefi
|
||||||
Architecture=|x86-64
|
|
||||||
Architecture=|arm
|
|
||||||
Architecture=|arm64
|
|
||||||
Architecture=|riscv32
|
|
||||||
Architecture=|riscv64
|
|
||||||
Architecture=|loongarch64
|
|
||||||
|
|
||||||
[Content]
|
[Content]
|
||||||
Packages=
|
Packages=
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
[Match]
|
|
||||||
Distribution=|debian
|
|
||||||
Distribution=|ubuntu
|
|
||||||
|
|
||||||
[Build]
|
[Build]
|
||||||
Environment=
|
Environment=
|
||||||
GIT_URL=https://salsa.debian.org/systemd-team/systemd.git
|
GIT_URL=https://salsa.debian.org/systemd-team/systemd.git
|
||||||
|
@ -10,16 +10,11 @@ Release=rawhide
|
|||||||
Packages=
|
Packages=
|
||||||
btrfs-progs
|
btrfs-progs
|
||||||
compsize
|
compsize
|
||||||
dfuzzer
|
|
||||||
dhcp-server
|
dhcp-server
|
||||||
dnf5
|
dnf5
|
||||||
erofs-utils
|
|
||||||
f2fs-tools
|
f2fs-tools
|
||||||
# Required for systemd-networkd-tests.py (netdevsim and sch_xxx modules)
|
# Required for systemd-networkd-tests.py (netdevsim and sch_xxx modules)
|
||||||
kernel-modules-extra
|
kernel-modules-extra
|
||||||
kernel-modules-internal
|
kernel-modules-internal
|
||||||
knot
|
|
||||||
qrencode
|
|
||||||
rpmautospec
|
rpmautospec
|
||||||
sbsigntools
|
|
||||||
scsi-target-utils
|
scsi-target-utils
|
||||||
|
@ -16,7 +16,6 @@ VolatilePackages=
|
|||||||
libsystemd0
|
libsystemd0
|
||||||
libudev1
|
libudev1
|
||||||
systemd
|
systemd
|
||||||
systemd-boot
|
|
||||||
systemd-container
|
systemd-container
|
||||||
systemd-devel
|
systemd-devel
|
||||||
systemd-doc
|
systemd-doc
|
||||||
@ -69,7 +68,6 @@ Packages=
|
|||||||
qrencode
|
qrencode
|
||||||
quota
|
quota
|
||||||
rsync
|
rsync
|
||||||
sbsigntools
|
|
||||||
sed
|
sed
|
||||||
shadow
|
shadow
|
||||||
softhsm
|
softhsm
|
||||||
|
@ -7,7 +7,6 @@ Environment=WITH_DEBUG=1
|
|||||||
VolatilePackages=
|
VolatilePackages=
|
||||||
libsystemd0-debuginfo
|
libsystemd0-debuginfo
|
||||||
libudev1-debuginfo
|
libudev1-debuginfo
|
||||||
systemd-boot-debuginfo
|
|
||||||
systemd-container-debuginfo
|
systemd-container-debuginfo
|
||||||
systemd-debuginfo
|
systemd-debuginfo
|
||||||
systemd-debugsource
|
systemd-debugsource
|
||||||
|
11
mkosi/mkosi.conf.d/opensuse/mkosi.conf.d/efi-debug.conf
Normal file
11
mkosi/mkosi.conf.d/opensuse/mkosi.conf.d/efi-debug.conf
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
|
[Match]
|
||||||
|
Environment=WITH_DEBUG=1
|
||||||
|
|
||||||
|
[Match]
|
||||||
|
Architecture=uefi
|
||||||
|
|
||||||
|
[Content]
|
||||||
|
VolatilePackages=
|
||||||
|
systemd-boot-debuginfo
|
11
mkosi/mkosi.conf.d/opensuse/mkosi.conf.d/efi.conf
Normal file
11
mkosi/mkosi.conf.d/opensuse/mkosi.conf.d/efi.conf
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
|
[Match]
|
||||||
|
Architecture=uefi
|
||||||
|
|
||||||
|
[Content]
|
||||||
|
VolatilePackages=
|
||||||
|
systemd-boot
|
||||||
|
|
||||||
|
Packages=
|
||||||
|
sbsigntools
|
@ -1,8 +1,5 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
[Match]
|
|
||||||
Distribution=opensuse
|
|
||||||
|
|
||||||
[Build]
|
[Build]
|
||||||
Environment=
|
Environment=
|
||||||
GIT_URL=https://github.com/bmwiedemann/openSUSE
|
GIT_URL=https://github.com/bmwiedemann/openSUSE
|
||||||
|
@ -29,8 +29,8 @@ disable dnf-makecache.*
|
|||||||
# We have journald to receive audit data so let's make sure we're not running auditd as well
|
# We have journald to receive audit data so let's make sure we're not running auditd as well
|
||||||
disable auditd.service
|
disable auditd.service
|
||||||
|
|
||||||
# systemd-timesyncd is not enabled by default in the default systemd preset so enable it here instead.
|
# systemd-timesyncd causes quite a bit of debug log noise so let's disable it by default.
|
||||||
enable systemd-timesyncd.service
|
disable systemd-timesyncd.service
|
||||||
|
|
||||||
# Enabled by default on OpenSUSE and not conditioned out in containers, so let's disable these here instead.
|
# Enabled by default on OpenSUSE and not conditioned out in containers, so let's disable these here instead.
|
||||||
disable iscsi.service
|
disable iscsi.service
|
||||||
|
@ -3,3 +3,13 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
touch -r "$BUILDROOT/usr" "$BUILDROOT/etc/.updated" "$BUILDROOT/var/.updated"
|
touch -r "$BUILDROOT/usr" "$BUILDROOT/etc/.updated" "$BUILDROOT/var/.updated"
|
||||||
|
|
||||||
|
if [ -n "$EFI_ARCHITECTURE" ]; then
|
||||||
|
mkdir -p "$BUILDROOT/boot/loader/addons"
|
||||||
|
ukify build \
|
||||||
|
--stub "$BUILDROOT/usr/lib/systemd/boot/efi/addon${EFI_ARCHITECTURE}.efi.stub" \
|
||||||
|
--cmdline="addonfoobar" \
|
||||||
|
--output "$BUILDROOT/boot/loader/addons/test.addon.efi" \
|
||||||
|
--secureboot-certificate "$SRCDIR/mkosi/mkosi.crt" \
|
||||||
|
--secureboot-private-key "$SRCDIR/mkosi/mkosi.key"
|
||||||
|
fi
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
|
[TriggerMatch]
|
||||||
|
Repositories=epel
|
||||||
|
Release=9
|
||||||
|
|
||||||
|
[TriggerMatch]
|
||||||
|
Release=10
|
||||||
|
|
||||||
|
[Content]
|
||||||
|
Packages=erofs-utils
|
@ -2,8 +2,7 @@
|
|||||||
|
|
||||||
[Match]
|
[Match]
|
||||||
Repositories=epel
|
Repositories=epel
|
||||||
|
Release=9
|
||||||
|
|
||||||
[Content]
|
[Content]
|
||||||
Packages=
|
Packages=rpmautospec-rpm-macros
|
||||||
erofs-utils
|
|
||||||
rpmautospec-rpm-macros
|
|
@ -13,5 +13,5 @@ Packages=
|
|||||||
clangd
|
clangd
|
||||||
erofs-utils
|
erofs-utils
|
||||||
git-core
|
git-core
|
||||||
libclang-rt-dev
|
?exact-name(libclang-rt-dev)
|
||||||
dpkg-dev
|
dpkg-dev
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
target-version = "py39"
|
target-version = "py37"
|
||||||
line-length = 109
|
line-length = 109
|
||||||
lint.select = ["E", "F", "I", "UP"]
|
lint.select = ["E", "F", "I", "UP"]
|
||||||
|
|
||||||
[format]
|
[format]
|
||||||
quote-style = "single"
|
quote-style = "single"
|
||||||
|
|
||||||
|
[per-file-target-version]
|
||||||
|
"src/ukify/*.py" = "py39"
|
||||||
|
"test/**/integration-test-wrapper.py" = "py39"
|
||||||
|
"test/test-udev.py" = "py39"
|
||||||
|
@ -70,7 +70,6 @@ foreach tuple : rules_in
|
|||||||
want = tuple.length() == 1 or tuple[1]
|
want = tuple.length() == 1 or tuple[1]
|
||||||
|
|
||||||
rule = custom_target(
|
rule = custom_target(
|
||||||
tuple[0],
|
|
||||||
input : tuple[0] + '.in',
|
input : tuple[0] + '.in',
|
||||||
output: tuple[0],
|
output: tuple[0],
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
|
@ -11,7 +11,6 @@ if bashcompletiondir == ''
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
custom_target(
|
custom_target(
|
||||||
'systemctl',
|
|
||||||
input : 'systemctl.in',
|
input : 'systemctl.in',
|
||||||
output : 'systemctl',
|
output : 'systemctl',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
|
@ -6,7 +6,6 @@ if zshcompletiondir == ''
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
custom_target(
|
custom_target(
|
||||||
'_systemctl',
|
|
||||||
input : '_systemctl.in',
|
input : '_systemctl.in',
|
||||||
output : '_systemctl',
|
output : '_systemctl',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
|
@ -99,6 +99,9 @@ int cg_read_pid(FILE *f, pid_t *ret, CGroupFlags flags) {
|
|||||||
assert(f);
|
assert(f);
|
||||||
assert(ret);
|
assert(ret);
|
||||||
|
|
||||||
|
/* NB: The kernel returns ENODEV if we tried to read from cgroup.procs of a cgroup that has been
|
||||||
|
* removed already. Callers should handle that! */
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
errno = 0;
|
errno = 0;
|
||||||
if (fscanf(f, "%lu", &ul) != 1) {
|
if (fscanf(f, "%lu", &ul) != 1) {
|
||||||
@ -334,6 +337,13 @@ static int cg_kill_items(
|
|||||||
_cleanup_(pidref_done) PidRef pidref = PIDREF_NULL;
|
_cleanup_(pidref_done) PidRef pidref = PIDREF_NULL;
|
||||||
|
|
||||||
r = cg_read_pidref(f, &pidref, flags);
|
r = cg_read_pidref(f, &pidref, flags);
|
||||||
|
if (r == -ENODEV) {
|
||||||
|
/* reading from cgroup.pids will result in ENODEV if the cgroup is
|
||||||
|
* concurrently removed. Just leave in that case, because a removed cgroup
|
||||||
|
* contains no processes anymore. */
|
||||||
|
done = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return RET_GATHER(ret, log_debug_errno(r, "Failed to read pidref from cgroup '%s': %m", path));
|
return RET_GATHER(ret, log_debug_errno(r, "Failed to read pidref from cgroup '%s': %m", path));
|
||||||
if (r == 0)
|
if (r == 0)
|
||||||
|
@ -348,15 +348,14 @@ int decompress_blob_xz(
|
|||||||
size_t used;
|
size_t used;
|
||||||
|
|
||||||
ret = sym_lzma_code(&s, LZMA_FINISH);
|
ret = sym_lzma_code(&s, LZMA_FINISH);
|
||||||
|
|
||||||
if (ret == LZMA_STREAM_END)
|
if (ret == LZMA_STREAM_END)
|
||||||
break;
|
break;
|
||||||
else if (ret != LZMA_OK)
|
if (ret != LZMA_OK)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
if (dst_max > 0 && (space - s.avail_out) >= dst_max)
|
if (dst_max > 0 && (space - s.avail_out) >= dst_max)
|
||||||
break;
|
break;
|
||||||
else if (dst_max > 0 && space == dst_max)
|
if (dst_max > 0 && space == dst_max)
|
||||||
return -ENOBUFS;
|
return -ENOBUFS;
|
||||||
|
|
||||||
used = space - s.avail_out;
|
used = space - s.avail_out;
|
||||||
@ -483,20 +482,22 @@ int decompress_blob(
|
|||||||
size_t* dst_size,
|
size_t* dst_size,
|
||||||
size_t dst_max) {
|
size_t dst_max) {
|
||||||
|
|
||||||
if (compression == COMPRESSION_XZ)
|
switch (compression) {
|
||||||
|
case COMPRESSION_XZ:
|
||||||
return decompress_blob_xz(
|
return decompress_blob_xz(
|
||||||
src, src_size,
|
src, src_size,
|
||||||
dst, dst_size, dst_max);
|
dst, dst_size, dst_max);
|
||||||
else if (compression == COMPRESSION_LZ4)
|
case COMPRESSION_LZ4:
|
||||||
return decompress_blob_lz4(
|
return decompress_blob_lz4(
|
||||||
src, src_size,
|
src, src_size,
|
||||||
dst, dst_size, dst_max);
|
dst, dst_size, dst_max);
|
||||||
else if (compression == COMPRESSION_ZSTD)
|
case COMPRESSION_ZSTD:
|
||||||
return decompress_blob_zstd(
|
return decompress_blob_zstd(
|
||||||
src, src_size,
|
src, src_size,
|
||||||
dst, dst_size, dst_max);
|
dst, dst_size, dst_max);
|
||||||
else
|
default:
|
||||||
return -EPROTONOSUPPORT;
|
return -EPROTONOSUPPORT;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int decompress_startswith_xz(
|
int decompress_startswith_xz(
|
||||||
@ -707,27 +708,30 @@ int decompress_startswith(
|
|||||||
size_t prefix_len,
|
size_t prefix_len,
|
||||||
uint8_t extra) {
|
uint8_t extra) {
|
||||||
|
|
||||||
if (compression == COMPRESSION_XZ)
|
switch (compression) {
|
||||||
|
|
||||||
|
case COMPRESSION_XZ:
|
||||||
return decompress_startswith_xz(
|
return decompress_startswith_xz(
|
||||||
src, src_size,
|
src, src_size,
|
||||||
buffer,
|
buffer,
|
||||||
prefix, prefix_len,
|
prefix, prefix_len,
|
||||||
extra);
|
extra);
|
||||||
|
|
||||||
else if (compression == COMPRESSION_LZ4)
|
case COMPRESSION_LZ4:
|
||||||
return decompress_startswith_lz4(
|
return decompress_startswith_lz4(
|
||||||
src, src_size,
|
src, src_size,
|
||||||
buffer,
|
buffer,
|
||||||
prefix, prefix_len,
|
prefix, prefix_len,
|
||||||
extra);
|
extra);
|
||||||
else if (compression == COMPRESSION_ZSTD)
|
case COMPRESSION_ZSTD:
|
||||||
return decompress_startswith_zstd(
|
return decompress_startswith_zstd(
|
||||||
src, src_size,
|
src, src_size,
|
||||||
buffer,
|
buffer,
|
||||||
prefix, prefix_len,
|
prefix, prefix_len,
|
||||||
extra);
|
extra);
|
||||||
else
|
default:
|
||||||
return -EBADMSG;
|
return -EBADMSG;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int compress_stream_xz(int fdf, int fdt, uint64_t max_bytes, uint64_t *ret_uncompressed_size) {
|
int compress_stream_xz(int fdf, int fdt, uint64_t max_bytes, uint64_t *ret_uncompressed_size) {
|
||||||
@ -1291,10 +1295,10 @@ int decompress_stream(const char *filename, int fdf, int fdt, uint64_t max_bytes
|
|||||||
|
|
||||||
if (endswith(filename, ".lz4"))
|
if (endswith(filename, ".lz4"))
|
||||||
return decompress_stream_lz4(fdf, fdt, max_bytes);
|
return decompress_stream_lz4(fdf, fdt, max_bytes);
|
||||||
else if (endswith(filename, ".xz"))
|
if (endswith(filename, ".xz"))
|
||||||
return decompress_stream_xz(fdf, fdt, max_bytes);
|
return decompress_stream_xz(fdf, fdt, max_bytes);
|
||||||
else if (endswith(filename, ".zst"))
|
if (endswith(filename, ".zst"))
|
||||||
return decompress_stream_zstd(fdf, fdt, max_bytes);
|
return decompress_stream_zstd(fdf, fdt, max_bytes);
|
||||||
else
|
|
||||||
return -EPROTONOSUPPORT;
|
return -EPROTONOSUPPORT;
|
||||||
}
|
}
|
||||||
|
@ -121,28 +121,24 @@ basic_sources += missing_syscall_def_h
|
|||||||
|
|
||||||
generate_af_list = find_program('generate-af-list.sh')
|
generate_af_list = find_program('generate-af-list.sh')
|
||||||
af_list_txt = custom_target(
|
af_list_txt = custom_target(
|
||||||
'af-list.txt',
|
|
||||||
output : 'af-list.txt',
|
output : 'af-list.txt',
|
||||||
command : [generate_af_list, cpp, config_h, missing_socket_h],
|
command : [generate_af_list, cpp, config_h, missing_socket_h],
|
||||||
capture : true)
|
capture : true)
|
||||||
|
|
||||||
generate_arphrd_list = find_program('generate-arphrd-list.sh')
|
generate_arphrd_list = find_program('generate-arphrd-list.sh')
|
||||||
arphrd_list_txt = custom_target(
|
arphrd_list_txt = custom_target(
|
||||||
'arphrd-list.txt',
|
|
||||||
output : 'arphrd-list.txt',
|
output : 'arphrd-list.txt',
|
||||||
command : [generate_arphrd_list, cpp, files('linux/if_arp.h'), config_h],
|
command : [generate_arphrd_list, cpp, files('linux/if_arp.h'), config_h],
|
||||||
capture : true)
|
capture : true)
|
||||||
|
|
||||||
generate_cap_list = find_program('generate-cap-list.sh')
|
generate_cap_list = find_program('generate-cap-list.sh')
|
||||||
cap_list_txt = custom_target(
|
cap_list_txt = custom_target(
|
||||||
'cap-list.txt',
|
|
||||||
output : 'cap-list.txt',
|
output : 'cap-list.txt',
|
||||||
command : [generate_cap_list, cpp, config_h, missing_capability_h],
|
command : [generate_cap_list, cpp, config_h, missing_capability_h],
|
||||||
capture : true)
|
capture : true)
|
||||||
|
|
||||||
generate_errno_list = find_program('generate-errno-list.sh')
|
generate_errno_list = find_program('generate-errno-list.sh')
|
||||||
errno_list_txt = custom_target(
|
errno_list_txt = custom_target(
|
||||||
'errno-list.txt',
|
|
||||||
output : 'errno-list.txt',
|
output : 'errno-list.txt',
|
||||||
command : [generate_errno_list, cpp],
|
command : [generate_errno_list, cpp],
|
||||||
capture : true)
|
capture : true)
|
||||||
@ -155,7 +151,6 @@ foreach item : [['af', af_list_txt, 'af', ''],
|
|||||||
|
|
||||||
fname = '@0@-from-name.gperf'.format(item[0])
|
fname = '@0@-from-name.gperf'.format(item[0])
|
||||||
gperf_file = custom_target(
|
gperf_file = custom_target(
|
||||||
fname,
|
|
||||||
input : item[1],
|
input : item[1],
|
||||||
output : fname,
|
output : fname,
|
||||||
command : [generate_gperfs, item[2], item[3], '@INPUT@'],
|
command : [generate_gperfs, item[2], item[3], '@INPUT@'],
|
||||||
@ -163,7 +158,6 @@ foreach item : [['af', af_list_txt, 'af', ''],
|
|||||||
|
|
||||||
fname = '@0@-from-name.h'.format(item[0])
|
fname = '@0@-from-name.h'.format(item[0])
|
||||||
target1 = custom_target(
|
target1 = custom_target(
|
||||||
fname,
|
|
||||||
input : gperf_file,
|
input : gperf_file,
|
||||||
output : fname,
|
output : fname,
|
||||||
command : [gperf,
|
command : [gperf,
|
||||||
@ -177,7 +171,6 @@ foreach item : [['af', af_list_txt, 'af', ''],
|
|||||||
fname = '@0@-to-name.h'.format(item[0])
|
fname = '@0@-to-name.h'.format(item[0])
|
||||||
awkscript = '@0@-to-name.awk'.format(item[0])
|
awkscript = '@0@-to-name.awk'.format(item[0])
|
||||||
target2 = custom_target(
|
target2 = custom_target(
|
||||||
fname,
|
|
||||||
input : [awkscript, item[1]],
|
input : [awkscript, item[1]],
|
||||||
output : fname,
|
output : fname,
|
||||||
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
|
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
|
||||||
@ -246,7 +239,6 @@ if r.returncode() != 0
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
filesystems_gperf_h = custom_target(
|
filesystems_gperf_h = custom_target(
|
||||||
'filesystems-gperf.h',
|
|
||||||
input : 'filesystems-gperf.gperf',
|
input : 'filesystems-gperf.gperf',
|
||||||
output : 'filesystems-gperf.h',
|
output : 'filesystems-gperf.h',
|
||||||
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
|
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
|
||||||
@ -254,7 +246,6 @@ filesystems_gperf_h = custom_target(
|
|||||||
generate_filesystem_list = find_program('generate-filesystem-list.py')
|
generate_filesystem_list = find_program('generate-filesystem-list.py')
|
||||||
fname = 'filesystem-list.h'
|
fname = 'filesystem-list.h'
|
||||||
filesystem_list_h = custom_target(
|
filesystem_list_h = custom_target(
|
||||||
fname,
|
|
||||||
input : 'filesystems-gperf.gperf',
|
input : 'filesystems-gperf.gperf',
|
||||||
output : fname,
|
output : fname,
|
||||||
command : [generate_filesystem_list,
|
command : [generate_filesystem_list,
|
||||||
@ -264,7 +255,6 @@ filesystem_list_h = custom_target(
|
|||||||
generate_filesystem_switch_case_h = find_program('generate-filesystem-switch-case.py')
|
generate_filesystem_switch_case_h = find_program('generate-filesystem-switch-case.py')
|
||||||
fname = 'filesystem-switch-case.h'
|
fname = 'filesystem-switch-case.h'
|
||||||
filesystem_switch_case_h = custom_target(
|
filesystem_switch_case_h = custom_target(
|
||||||
fname,
|
|
||||||
input : 'filesystems-gperf.gperf',
|
input : 'filesystems-gperf.gperf',
|
||||||
output : 'filesystem-switch-case.h',
|
output : 'filesystem-switch-case.h',
|
||||||
command : [generate_filesystem_switch_case_h,
|
command : [generate_filesystem_switch_case_h,
|
||||||
|
@ -321,27 +321,14 @@ static inline int getsockopt_int(int fd, int level, int optname, int *ret) {
|
|||||||
int socket_bind_to_ifname(int fd, const char *ifname);
|
int socket_bind_to_ifname(int fd, const char *ifname);
|
||||||
int socket_bind_to_ifindex(int fd, int ifindex);
|
int socket_bind_to_ifindex(int fd, int ifindex);
|
||||||
|
|
||||||
/* Define a 64-bit version of timeval/timespec in any case, even on 32-bit userspace. */
|
|
||||||
struct timeval_large {
|
|
||||||
uint64_t tvl_sec, tvl_usec;
|
|
||||||
};
|
|
||||||
struct timespec_large {
|
|
||||||
uint64_t tvl_sec, tvl_nsec;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* glibc duplicates timespec/timeval on certain 32-bit arches, once in 32-bit and once in 64-bit.
|
/* glibc duplicates timespec/timeval on certain 32-bit arches, once in 32-bit and once in 64-bit.
|
||||||
* See __convert_scm_timestamps() in glibc source code. Hence, we need additional buffer space for them
|
* See __convert_scm_timestamps() in glibc source code. Hence, we need additional buffer space for them
|
||||||
* to prevent truncating control msg (recvmsg() MSG_CTRUNC). */
|
* to prevent truncating control msg (recvmsg() MSG_CTRUNC). */
|
||||||
#define CMSG_SPACE_TIMEVAL \
|
#define CMSG_SPACE_TIMEVAL \
|
||||||
((sizeof(struct timeval) == sizeof(struct timeval_large)) ? \
|
(CMSG_SPACE(sizeof(struct timeval)) + CMSG_SPACE(2 * sizeof(uint64_t)))
|
||||||
CMSG_SPACE(sizeof(struct timeval)) : \
|
|
||||||
CMSG_SPACE(sizeof(struct timeval)) + \
|
|
||||||
CMSG_SPACE(sizeof(struct timeval_large)))
|
|
||||||
#define CMSG_SPACE_TIMESPEC \
|
#define CMSG_SPACE_TIMESPEC \
|
||||||
((sizeof(struct timespec) == sizeof(struct timespec_large)) ? \
|
(CMSG_SPACE(sizeof(struct timespec)) + CMSG_SPACE(2 * sizeof(uint64_t)))
|
||||||
CMSG_SPACE(sizeof(struct timespec)) : \
|
|
||||||
CMSG_SPACE(sizeof(struct timespec)) + \
|
|
||||||
CMSG_SPACE(sizeof(struct timespec_large)))
|
|
||||||
|
|
||||||
ssize_t recvmsg_safe(int sockfd, struct msghdr *msg, int flags);
|
ssize_t recvmsg_safe(int sockfd, struct msghdr *msg, int flags);
|
||||||
|
|
||||||
|
@ -122,18 +122,18 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) {
|
|||||||
new_termios.c_cc[VMIN] = 1;
|
new_termios.c_cc[VMIN] = 1;
|
||||||
new_termios.c_cc[VTIME] = 0;
|
new_termios.c_cc[VTIME] = 0;
|
||||||
|
|
||||||
if (tcsetattr(fd, TCSADRAIN, &new_termios) >= 0) {
|
if (tcsetattr(fd, TCSANOW, &new_termios) >= 0) {
|
||||||
char c;
|
char c;
|
||||||
|
|
||||||
if (t != USEC_INFINITY) {
|
if (t != USEC_INFINITY) {
|
||||||
if (fd_wait_for_event(fd, POLLIN, t) <= 0) {
|
if (fd_wait_for_event(fd, POLLIN, t) <= 0) {
|
||||||
(void) tcsetattr(fd, TCSADRAIN, &old_termios);
|
(void) tcsetattr(fd, TCSANOW, &old_termios);
|
||||||
return -ETIMEDOUT;
|
return -ETIMEDOUT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
r = safe_fgetc(f, &c);
|
r = safe_fgetc(f, &c);
|
||||||
(void) tcsetattr(fd, TCSADRAIN, &old_termios);
|
(void) tcsetattr(fd, TCSANOW, &old_termios);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
if (r == 0)
|
if (r == 0)
|
||||||
@ -1915,7 +1915,7 @@ int get_default_background_color(double *ret_red, double *ret_green, double *ret
|
|||||||
struct termios new_termios = old_termios;
|
struct termios new_termios = old_termios;
|
||||||
termios_disable_echo(&new_termios);
|
termios_disable_echo(&new_termios);
|
||||||
|
|
||||||
if (tcsetattr(STDIN_FILENO, TCSADRAIN, &new_termios) < 0)
|
if (tcsetattr(STDIN_FILENO, TCSANOW, &new_termios) < 0)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
|
||||||
r = loop_write(STDOUT_FILENO, ANSI_OSC "11;?" ANSI_ST, SIZE_MAX);
|
r = loop_write(STDOUT_FILENO, ANSI_OSC "11;?" ANSI_ST, SIZE_MAX);
|
||||||
@ -1979,7 +1979,7 @@ int get_default_background_color(double *ret_red, double *ret_green, double *ret
|
|||||||
}
|
}
|
||||||
|
|
||||||
finish:
|
finish:
|
||||||
RET_GATHER(r, RET_NERRNO(tcsetattr(STDIN_FILENO, TCSADRAIN, &old_termios)));
|
RET_GATHER(r, RET_NERRNO(tcsetattr(STDIN_FILENO, TCSANOW, &old_termios)));
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2106,7 +2106,7 @@ int terminal_get_size_by_dsr(
|
|||||||
struct termios new_termios = old_termios;
|
struct termios new_termios = old_termios;
|
||||||
termios_disable_echo(&new_termios);
|
termios_disable_echo(&new_termios);
|
||||||
|
|
||||||
if (tcsetattr(input_fd, TCSADRAIN, &new_termios) < 0)
|
if (tcsetattr(input_fd, TCSANOW, &new_termios) < 0)
|
||||||
return log_debug_errno(errno, "Failed to set new terminal settings: %m");
|
return log_debug_errno(errno, "Failed to set new terminal settings: %m");
|
||||||
|
|
||||||
unsigned saved_row = 0, saved_column = 0;
|
unsigned saved_row = 0, saved_column = 0;
|
||||||
@ -2209,7 +2209,7 @@ finish:
|
|||||||
if (saved_row > 0 && saved_column > 0)
|
if (saved_row > 0 && saved_column > 0)
|
||||||
RET_GATHER(r, terminal_set_cursor_position(output_fd, saved_row, saved_column));
|
RET_GATHER(r, terminal_set_cursor_position(output_fd, saved_row, saved_column));
|
||||||
|
|
||||||
RET_GATHER(r, RET_NERRNO(tcsetattr(input_fd, TCSADRAIN, &old_termios)));
|
RET_GATHER(r, RET_NERRNO(tcsetattr(input_fd, TCSANOW, &old_termios)));
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,7 +250,7 @@ static int detect_vm_smbios(void) {
|
|||||||
#endif /* defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__loongarch_lp64) */
|
#endif /* defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__loongarch_lp64) */
|
||||||
|
|
||||||
static Virtualization detect_vm_dmi(void) {
|
static Virtualization detect_vm_dmi(void) {
|
||||||
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__loongarch_lp64)
|
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__) || defined(__loongarch_lp64) || defined(__riscv)
|
||||||
|
|
||||||
int r;
|
int r;
|
||||||
r = detect_vm_dmi_vendor();
|
r = detect_vm_dmi_vendor();
|
||||||
@ -471,8 +471,7 @@ Virtualization detect_vm(void) {
|
|||||||
VIRTUALIZATION_ORACLE,
|
VIRTUALIZATION_ORACLE,
|
||||||
VIRTUALIZATION_XEN,
|
VIRTUALIZATION_XEN,
|
||||||
VIRTUALIZATION_AMAZON,
|
VIRTUALIZATION_AMAZON,
|
||||||
VIRTUALIZATION_PARALLELS,
|
VIRTUALIZATION_PARALLELS)) {
|
||||||
VIRTUALIZATION_GOOGLE)) {
|
|
||||||
v = dmi;
|
v = dmi;
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
@ -511,6 +510,10 @@ Virtualization detect_vm(void) {
|
|||||||
hyperv = true;
|
hyperv = true;
|
||||||
else if (v == VIRTUALIZATION_VM_OTHER)
|
else if (v == VIRTUALIZATION_VM_OTHER)
|
||||||
other = true;
|
other = true;
|
||||||
|
else if (v == VIRTUALIZATION_KVM && dmi == VIRTUALIZATION_GOOGLE)
|
||||||
|
/* The DMI vendor tables in /sys/class/dmi/id don't help us distinguish between GCE
|
||||||
|
* virtual machines and bare-metal instances, so we need to look at hypervisor. */
|
||||||
|
return VIRTUALIZATION_GOOGLE;
|
||||||
else if (v != VIRTUALIZATION_NONE)
|
else if (v != VIRTUALIZATION_NONE)
|
||||||
goto finish;
|
goto finish;
|
||||||
|
|
||||||
@ -523,7 +526,9 @@ Virtualization detect_vm(void) {
|
|||||||
return dmi;
|
return dmi;
|
||||||
if (dmi == VIRTUALIZATION_VM_OTHER)
|
if (dmi == VIRTUALIZATION_VM_OTHER)
|
||||||
other = true;
|
other = true;
|
||||||
else if (dmi != VIRTUALIZATION_NONE) {
|
else if (!IN_SET(dmi, VIRTUALIZATION_NONE, VIRTUALIZATION_GOOGLE)) {
|
||||||
|
/* At this point if GCE has been detected in dmi, do not report as a VM. It should
|
||||||
|
* be a bare-metal machine */
|
||||||
v = dmi;
|
v = dmi;
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
@ -1612,7 +1612,7 @@ static void config_load_defaults(Config *config, EFI_FILE *root_dir) {
|
|||||||
if (err == EFI_SUCCESS)
|
if (err == EFI_SUCCESS)
|
||||||
config->timeout_sec = config->timeout_sec_efivar;
|
config->timeout_sec = config->timeout_sec_efivar;
|
||||||
else if (err != EFI_NOT_FOUND)
|
else if (err != EFI_NOT_FOUND)
|
||||||
log_error_status(err, "Error reading LoaderConfigTimeout EFI variable: %m");
|
log_warning_status(err, "Error reading LoaderConfigTimeout EFI variable, ignoring: %m");
|
||||||
|
|
||||||
err = efivar_get_timeout(u"LoaderConfigTimeoutOneShot", &config->timeout_sec);
|
err = efivar_get_timeout(u"LoaderConfigTimeoutOneShot", &config->timeout_sec);
|
||||||
if (err == EFI_SUCCESS) {
|
if (err == EFI_SUCCESS) {
|
||||||
@ -1621,7 +1621,7 @@ static void config_load_defaults(Config *config, EFI_FILE *root_dir) {
|
|||||||
|
|
||||||
config->force_menu = true; /* force the menu when this is set */
|
config->force_menu = true; /* force the menu when this is set */
|
||||||
} else if (err != EFI_NOT_FOUND)
|
} else if (err != EFI_NOT_FOUND)
|
||||||
log_error_status(err, "Error reading LoaderConfigTimeoutOneShot EFI variable: %m");
|
log_warning_status(err, "Error reading LoaderConfigTimeoutOneShot EFI variable, ignoring: %m");
|
||||||
|
|
||||||
uint64_t value;
|
uint64_t value;
|
||||||
err = efivar_get_uint64_str16(MAKE_GUID_PTR(LOADER), u"LoaderConfigConsoleMode", &value);
|
err = efivar_get_uint64_str16(MAKE_GUID_PTR(LOADER), u"LoaderConfigConsoleMode", &value);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
efi_config_h_dir = meson.current_build_dir()
|
efi_config_h_dir = meson.current_build_dir()
|
||||||
efi_addon = ''
|
efi_addon = []
|
||||||
|
|
||||||
libefitest = static_library(
|
libefitest = static_library(
|
||||||
'efitest',
|
'efitest',
|
||||||
@ -393,7 +393,6 @@ foreach efi_elf_binary : efi_elf_binaries
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
exe = custom_target(
|
exe = custom_target(
|
||||||
name,
|
|
||||||
output : name,
|
output : name,
|
||||||
input : efi_elf_binary,
|
input : efi_elf_binary,
|
||||||
install : true,
|
install : true,
|
||||||
@ -418,12 +417,12 @@ foreach efi_elf_binary : efi_elf_binaries
|
|||||||
|
|
||||||
# This is supposed to match exactly one time
|
# This is supposed to match exactly one time
|
||||||
if name == 'addon@0@.efi.stub'.format(efi_arch)
|
if name == 'addon@0@.efi.stub'.format(efi_arch)
|
||||||
efi_addon = exe.full_path()
|
efi_addon = [exe]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
test('check-alignment-@0@'.format(name),
|
test('check-alignment-@0@'.format(name),
|
||||||
check_efi_alignment_py,
|
check_efi_alignment_py,
|
||||||
args : exe.full_path(),
|
args : exe,
|
||||||
suite : 'boot')
|
suite : 'boot')
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
|
@ -329,6 +329,9 @@ static int update_efi_boot_binaries(const char *esp_path, const char *source_pat
|
|||||||
_cleanup_free_ char *p = NULL;
|
_cleanup_free_ char *p = NULL;
|
||||||
int r, ret = 0;
|
int r, ret = 0;
|
||||||
|
|
||||||
|
assert(esp_path);
|
||||||
|
assert(source_path);
|
||||||
|
|
||||||
r = chase_and_opendir("/EFI/BOOT", esp_path, CHASE_PREFIX_ROOT|CHASE_PROHIBIT_SYMLINKS, &p, &d);
|
r = chase_and_opendir("/EFI/BOOT", esp_path, CHASE_PREFIX_ROOT|CHASE_PROHIBIT_SYMLINKS, &p, &d);
|
||||||
if (r == -ENOENT)
|
if (r == -ENOENT)
|
||||||
return 0;
|
return 0;
|
||||||
@ -337,7 +340,6 @@ static int update_efi_boot_binaries(const char *esp_path, const char *source_pat
|
|||||||
|
|
||||||
FOREACH_DIRENT(de, d, break) {
|
FOREACH_DIRENT(de, d, break) {
|
||||||
_cleanup_close_ int fd = -EBADF;
|
_cleanup_close_ int fd = -EBADF;
|
||||||
_cleanup_free_ char *v = NULL;
|
|
||||||
|
|
||||||
if (!endswith_no_case(de->d_name, ".efi"))
|
if (!endswith_no_case(de->d_name, ".efi"))
|
||||||
continue;
|
continue;
|
||||||
@ -354,19 +356,14 @@ static int update_efi_boot_binaries(const char *esp_path, const char *source_pat
|
|||||||
if (r == 0)
|
if (r == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
r = get_file_version(fd, &v);
|
|
||||||
if (r == -ESRCH)
|
|
||||||
continue; /* No version information */
|
|
||||||
if (r < 0)
|
|
||||||
return r;
|
|
||||||
if (!startswith(v, "systemd-boot "))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
_cleanup_free_ char *dest_path = path_join(p, de->d_name);
|
_cleanup_free_ char *dest_path = path_join(p, de->d_name);
|
||||||
if (!dest_path)
|
if (!dest_path)
|
||||||
return log_oom();
|
return log_oom();
|
||||||
|
|
||||||
RET_GATHER(ret, copy_file_with_version_check(source_path, dest_path, /* force = */ false));
|
r = copy_file_with_version_check(source_path, dest_path, /* force = */ false);
|
||||||
|
if (IN_SET(r, -ESTALE, -ESRCH))
|
||||||
|
continue;
|
||||||
|
RET_GATHER(ret, r);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -5,19 +5,16 @@ if conf.get('BPF_FRAMEWORK') != 1
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
restrict_fs_bpf_o_unstripped = custom_target(
|
restrict_fs_bpf_o_unstripped = custom_target(
|
||||||
'restrict-fs.bpf.unstripped.o',
|
|
||||||
input : 'restrict-fs.bpf.c',
|
input : 'restrict-fs.bpf.c',
|
||||||
output : 'restrict-fs.bpf.unstripped.o',
|
output : 'restrict-fs.bpf.unstripped.o',
|
||||||
command : bpf_o_unstripped_cmd)
|
command : bpf_o_unstripped_cmd)
|
||||||
|
|
||||||
restrict_fs_bpf_o = custom_target(
|
restrict_fs_bpf_o = custom_target(
|
||||||
'restrict-fs.bpf.o',
|
|
||||||
input : restrict_fs_bpf_o_unstripped,
|
input : restrict_fs_bpf_o_unstripped,
|
||||||
output : 'restrict-fs.bpf.o',
|
output : 'restrict-fs.bpf.o',
|
||||||
command : bpf_o_cmd)
|
command : bpf_o_cmd)
|
||||||
|
|
||||||
restrict_fs_skel_h = custom_target(
|
restrict_fs_skel_h = custom_target(
|
||||||
'restrict-fs.skel.h',
|
|
||||||
input : restrict_fs_bpf_o,
|
input : restrict_fs_bpf_o,
|
||||||
output : 'restrict-fs.skel.h',
|
output : 'restrict-fs.skel.h',
|
||||||
command : skel_h_cmd,
|
command : skel_h_cmd,
|
||||||
|
@ -5,19 +5,16 @@ if conf.get('BPF_FRAMEWORK') != 1
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
restrict_ifaces_bpf_o_unstripped = custom_target(
|
restrict_ifaces_bpf_o_unstripped = custom_target(
|
||||||
'restrict-ifaces.bpf.unstripped.o',
|
|
||||||
input : 'restrict-ifaces.bpf.c',
|
input : 'restrict-ifaces.bpf.c',
|
||||||
output : 'restrict-ifaces.bpf.unstripped.o',
|
output : 'restrict-ifaces.bpf.unstripped.o',
|
||||||
command : bpf_o_unstripped_cmd)
|
command : bpf_o_unstripped_cmd)
|
||||||
|
|
||||||
restrict_ifaces_bpf_o = custom_target(
|
restrict_ifaces_bpf_o = custom_target(
|
||||||
'restrict-ifaces.bpf.o',
|
|
||||||
input : restrict_ifaces_bpf_o_unstripped,
|
input : restrict_ifaces_bpf_o_unstripped,
|
||||||
output : 'restrict-ifaces.bpf.o',
|
output : 'restrict-ifaces.bpf.o',
|
||||||
command : bpf_o_cmd)
|
command : bpf_o_cmd)
|
||||||
|
|
||||||
restrict_ifaces_skel_h = custom_target(
|
restrict_ifaces_skel_h = custom_target(
|
||||||
'restrict-ifaces.skel.h',
|
|
||||||
input : restrict_ifaces_bpf_o,
|
input : restrict_ifaces_bpf_o,
|
||||||
output : 'restrict-ifaces.skel.h',
|
output : 'restrict-ifaces.skel.h',
|
||||||
command : skel_h_cmd,
|
command : skel_h_cmd,
|
||||||
|
@ -5,19 +5,16 @@ if conf.get('BPF_FRAMEWORK') != 1
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
socket_bind_bpf_o_unstripped = custom_target(
|
socket_bind_bpf_o_unstripped = custom_target(
|
||||||
'socket-bind.bpf.unstripped.o',
|
|
||||||
input : 'socket-bind.bpf.c',
|
input : 'socket-bind.bpf.c',
|
||||||
output : 'socket-bind.bpf.unstripped.o',
|
output : 'socket-bind.bpf.unstripped.o',
|
||||||
command : bpf_o_unstripped_cmd)
|
command : bpf_o_unstripped_cmd)
|
||||||
|
|
||||||
socket_bind_bpf_o = custom_target(
|
socket_bind_bpf_o = custom_target(
|
||||||
'socket-bind.bpf.o',
|
|
||||||
input : socket_bind_bpf_o_unstripped,
|
input : socket_bind_bpf_o_unstripped,
|
||||||
output : 'socket-bind.bpf.o',
|
output : 'socket-bind.bpf.o',
|
||||||
command : bpf_o_cmd)
|
command : bpf_o_cmd)
|
||||||
|
|
||||||
socket_bind_skel_h = custom_target(
|
socket_bind_skel_h = custom_target(
|
||||||
'socket-bind.skel.h',
|
|
||||||
input : socket_bind_bpf_o,
|
input : socket_bind_bpf_o,
|
||||||
output : 'socket-bind.skel.h',
|
output : 'socket-bind.skel.h',
|
||||||
command : skel_h_cmd,
|
command : skel_h_cmd,
|
||||||
|
@ -763,6 +763,7 @@ static int method_generic_unit_operation(
|
|||||||
sd_bus_message *message,
|
sd_bus_message *message,
|
||||||
Manager *m,
|
Manager *m,
|
||||||
sd_bus_error *error,
|
sd_bus_error *error,
|
||||||
|
UnitType type,
|
||||||
sd_bus_message_handler_t handler,
|
sd_bus_message_handler_t handler,
|
||||||
GenericUnitOperationFlags flags) {
|
GenericUnitOperationFlags flags) {
|
||||||
|
|
||||||
@ -788,6 +789,11 @@ static int method_generic_unit_operation(
|
|||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
if (type != _UNIT_TYPE_INVALID && u->type != type)
|
||||||
|
return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
|
||||||
|
"%s operation is not supported for unit type '%s'",
|
||||||
|
sd_bus_message_get_member(message), unit_type_to_string(u->type));
|
||||||
|
|
||||||
if (FLAGS_SET(flags, GENERIC_UNIT_VALIDATE_LOADED)) {
|
if (FLAGS_SET(flags, GENERIC_UNIT_VALIDATE_LOADED)) {
|
||||||
r = bus_unit_validate_load_state(u, error);
|
r = bus_unit_validate_load_state(u, error);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
@ -799,7 +805,7 @@ static int method_generic_unit_operation(
|
|||||||
|
|
||||||
static int method_enqueue_unit_job(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_enqueue_unit_job(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* We don't bother with GENERIC_UNIT_VALIDATE_LOADED here, as the job logic validates that anyway */
|
/* We don't bother with GENERIC_UNIT_VALIDATE_LOADED here, as the job logic validates that anyway */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_enqueue_job, GENERIC_UNIT_LOAD);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_enqueue_job, GENERIC_UNIT_LOAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_start_unit_replace(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_start_unit_replace(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
@ -824,57 +830,57 @@ static int method_start_unit_replace(sd_bus_message *message, void *userdata, sd
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int method_kill_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_kill_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* We don't bother with GENERIC_UNIT_LOAD nor GENERIC_UNIT_VALIDATE_LOADED here, as it shouldn't
|
/* We don't bother with GENERIC_UNIT_LOAD or GENERIC_UNIT_VALIDATE_LOADED here, as it shouldn't
|
||||||
* matter whether a unit is loaded for killing any processes possibly in the unit's cgroup. */
|
* matter whether a unit is loaded for killing any processes in the unit's cgroup. */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_kill, 0);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_kill, /* flags = */ 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_clean_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_clean_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* Load the unit if necessary, in order to load it, and insist on the unit being loaded to be
|
/* Load the unit if necessary, in order to load it, and insist on the unit being loaded to be
|
||||||
* cleaned */
|
* cleaned */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_clean, GENERIC_UNIT_LOAD|GENERIC_UNIT_VALIDATE_LOADED);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_clean, GENERIC_UNIT_LOAD|GENERIC_UNIT_VALIDATE_LOADED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_freeze_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_freeze_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* Only active units can be frozen, which must be properly loaded already */
|
/* Only active units can be frozen, which must be properly loaded already */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_freeze, GENERIC_UNIT_VALIDATE_LOADED);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_freeze, GENERIC_UNIT_VALIDATE_LOADED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_thaw_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_thaw_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* Same as freeze above */
|
/* Same as freeze above */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_thaw, GENERIC_UNIT_VALIDATE_LOADED);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_thaw, GENERIC_UNIT_VALIDATE_LOADED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_reset_failed_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_reset_failed_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* Don't load the unit (because unloaded units can't be in failed state), and don't insist on the
|
/* Don't load the unit (because unloaded units can't be in failed state), and don't insist on the
|
||||||
* unit to be loaded properly (since a failed unit might have its unit file disappeared) */
|
* unit to be loaded properly (since a failed unit might have its unit file disappeared) */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_reset_failed, 0);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_reset_failed, /* flags = */ 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_set_unit_properties(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_set_unit_properties(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* Only change properties on fully loaded units, and load them in order to set properties */
|
/* Only change properties on fully loaded units, and load them in order to set properties */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_set_properties, GENERIC_UNIT_LOAD|GENERIC_UNIT_VALIDATE_LOADED);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_set_properties, GENERIC_UNIT_LOAD|GENERIC_UNIT_VALIDATE_LOADED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_bind_mount_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_bind_mount_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* Only add mounts on fully loaded units */
|
/* Only add mounts on fully loaded units */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_service_method_bind_mount, GENERIC_UNIT_VALIDATE_LOADED);
|
return method_generic_unit_operation(message, userdata, error, UNIT_SERVICE, bus_service_method_bind_mount, GENERIC_UNIT_VALIDATE_LOADED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_mount_image_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_mount_image_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* Only add mounts on fully loaded units */
|
/* Only add mounts on fully loaded units */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_service_method_mount_image, GENERIC_UNIT_VALIDATE_LOADED);
|
return method_generic_unit_operation(message, userdata, error, UNIT_SERVICE, bus_service_method_mount_image, GENERIC_UNIT_VALIDATE_LOADED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_ref_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_ref_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* Only allow reffing of fully loaded units, and make sure reffing a unit loads it. */
|
/* Only allow reffing of fully loaded units, and make sure reffing a unit loads it. */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_ref, GENERIC_UNIT_LOAD|GENERIC_UNIT_VALIDATE_LOADED);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_ref, GENERIC_UNIT_LOAD|GENERIC_UNIT_VALIDATE_LOADED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_unref_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_unref_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* Dropping a ref OTOH should not require the unit to still be loaded. And since a reffed unit is a
|
/* Dropping a ref OTOH should not require the unit to still be loaded. And since a reffed unit is a
|
||||||
* loaded unit there's no need to load the unit for unreffing it. */
|
* loaded unit there's no need to load the unit for unreffing it. */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_unref, 0);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_unref, /* flags = */ 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int reply_unit_info(sd_bus_message *reply, Unit *u) {
|
static int reply_unit_info(sd_bus_message *reply, Unit *u) {
|
||||||
@ -953,14 +959,14 @@ static int method_get_unit_processes(sd_bus_message *message, void *userdata, sd
|
|||||||
/* Don't load a unit actively (since it won't have any processes if it's not loaded), but don't
|
/* Don't load a unit actively (since it won't have any processes if it's not loaded), but don't
|
||||||
* insist on the unit being loaded either (because even improperly loaded units might still have
|
* insist on the unit being loaded either (because even improperly loaded units might still have
|
||||||
* processes around). */
|
* processes around). */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_get_processes, /* flags = */ 0);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_get_processes, /* flags = */ 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int method_attach_processes_to_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_attach_processes_to_unit(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
/* Don't allow attaching new processes to units that aren't loaded. Don't bother with loading a unit
|
/* Don't allow attaching new processes to units that aren't loaded. Don't bother with loading a unit
|
||||||
* for this purpose though, as an unloaded unit is a stopped unit, and we don't allow attaching
|
* for this purpose though, as an unloaded unit is a stopped unit, and we don't allow attaching
|
||||||
* processes to stopped units anyway. */
|
* processes to stopped units anyway. */
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_unit_method_attach_processes, GENERIC_UNIT_VALIDATE_LOADED);
|
return method_generic_unit_operation(message, userdata, error, _UNIT_TYPE_INVALID, bus_unit_method_attach_processes, GENERIC_UNIT_VALIDATE_LOADED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int transient_unit_from_message(
|
static int transient_unit_from_message(
|
||||||
@ -2890,7 +2896,7 @@ static int method_set_show_status(sd_bus_message *message, void *userdata, sd_bu
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int method_dump_unit_descriptor_store(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
static int method_dump_unit_descriptor_store(sd_bus_message *message, void *userdata, sd_bus_error *error) {
|
||||||
return method_generic_unit_operation(message, userdata, error, bus_service_method_dump_file_descriptor_store, 0);
|
return method_generic_unit_operation(message, userdata, error, UNIT_SERVICE, bus_service_method_dump_file_descriptor_store, GENERIC_UNIT_VALIDATE_LOADED);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int aux_scope_from_message(Manager *m, sd_bus_message *message, Unit **ret_scope, sd_bus_error *error) {
|
static int aux_scope_from_message(Manager *m, sd_bus_message *message, Unit **ret_scope, sd_bus_error *error) {
|
||||||
|
@ -1315,10 +1315,13 @@ static int append_cgroup(sd_bus_message *reply, const char *p, Set *pids) {
|
|||||||
/* libvirt / qemu uses threaded mode and cgroup.procs cannot be read at the lower levels.
|
/* libvirt / qemu uses threaded mode and cgroup.procs cannot be read at the lower levels.
|
||||||
* From https://docs.kernel.org/admin-guide/cgroup-v2.html#threads, “cgroup.procs” in a
|
* From https://docs.kernel.org/admin-guide/cgroup-v2.html#threads, “cgroup.procs” in a
|
||||||
* threaded domain cgroup contains the PIDs of all processes in the subtree and is not
|
* threaded domain cgroup contains the PIDs of all processes in the subtree and is not
|
||||||
* readable in the subtree proper. */
|
* readable in the subtree proper.
|
||||||
|
*
|
||||||
|
* We'll see ENODEV when trying to enumerate processes and the cgroup is removed at the same
|
||||||
|
* time. Handle this gracefully. */
|
||||||
|
|
||||||
r = cg_read_pidref(f, &pidref, /* flags = */ 0);
|
r = cg_read_pidref(f, &pidref, /* flags = */ 0);
|
||||||
if (IN_SET(r, 0, -EOPNOTSUPP))
|
if (IN_SET(r, 0, -EOPNOTSUPP, -ENODEV))
|
||||||
break;
|
break;
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
@ -84,20 +84,17 @@ if conf.get('BPF_FRAMEWORK') == 1
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
load_fragment_gperf_gperf = custom_target(
|
load_fragment_gperf_gperf = custom_target(
|
||||||
'load-fragment-gperf.gperf',
|
|
||||||
input : 'load-fragment-gperf.gperf.in',
|
input : 'load-fragment-gperf.gperf.in',
|
||||||
output: 'load-fragment-gperf.gperf',
|
output: 'load-fragment-gperf.gperf',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'])
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'])
|
||||||
|
|
||||||
load_fragment_gperf_c = custom_target(
|
load_fragment_gperf_c = custom_target(
|
||||||
'load-fragment-gperf.c',
|
|
||||||
input : load_fragment_gperf_gperf,
|
input : load_fragment_gperf_gperf,
|
||||||
output : 'load-fragment-gperf.c',
|
output : 'load-fragment-gperf.c',
|
||||||
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
|
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
|
||||||
|
|
||||||
awkscript = 'load-fragment-gperf-nulstr.awk'
|
awkscript = 'load-fragment-gperf-nulstr.awk'
|
||||||
load_fragment_gperf_nulstr_c = custom_target(
|
load_fragment_gperf_nulstr_c = custom_target(
|
||||||
'load-fragment-gperf-nulstr.c',
|
|
||||||
input : [awkscript, load_fragment_gperf_gperf],
|
input : [awkscript, load_fragment_gperf_gperf],
|
||||||
output : 'load-fragment-gperf-nulstr.c',
|
output : 'load-fragment-gperf-nulstr.c',
|
||||||
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
|
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
|
||||||
@ -230,7 +227,6 @@ foreach item : in_files
|
|||||||
dir = item[1]
|
dir = item[1]
|
||||||
|
|
||||||
custom_target(
|
custom_target(
|
||||||
file,
|
|
||||||
input : file + '.in',
|
input : file + '.in',
|
||||||
output: file,
|
output: file,
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
@ -239,7 +235,6 @@ foreach item : in_files
|
|||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
systemd_pc = custom_target(
|
systemd_pc = custom_target(
|
||||||
'systemd.pc',
|
|
||||||
input : 'systemd.pc.in',
|
input : 'systemd.pc.in',
|
||||||
output : 'systemd.pc',
|
output : 'systemd.pc',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
|
@ -1215,11 +1215,13 @@ static int service_load_pid_file(Service *s, bool may_warn) {
|
|||||||
if (fstat(fileno(f), &st) < 0)
|
if (fstat(fileno(f), &st) < 0)
|
||||||
return log_unit_error_errno(UNIT(s), errno, "Failed to fstat() PID file '%s': %m", s->pid_file);
|
return log_unit_error_errno(UNIT(s), errno, "Failed to fstat() PID file '%s': %m", s->pid_file);
|
||||||
|
|
||||||
if (st.st_uid != 0)
|
if (st.st_uid != getuid())
|
||||||
return log_unit_error_errno(UNIT(s), SYNTHETIC_ERRNO(EPERM),
|
return log_unit_error_errno(UNIT(s), SYNTHETIC_ERRNO(EPERM),
|
||||||
"New main PID "PID_FMT" from PID file does not belong to service, and PID file is not owned by root. Refusing.", pidref.pid);
|
"New main PID "PID_FMT" from PID file does not belong to service, and PID file is owned by "UID_FMT" (must be owned by "UID_FMT"). Refusing.",
|
||||||
|
pidref.pid, st.st_uid, getuid());
|
||||||
|
|
||||||
log_unit_debug(UNIT(s), "New main PID "PID_FMT" does not belong to service, accepting anyway since PID file is owned by root.", pidref.pid);
|
log_unit_debug(UNIT(s), "New main PID "PID_FMT" does not belong to service, accepting anyway since PID file is owned by "UID_FMT".",
|
||||||
|
pidref.pid, st.st_uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s->main_pid_known) {
|
if (s->main_pid_known) {
|
||||||
|
@ -476,7 +476,8 @@ static void timer_enter_waiting(Timer *t, bool time_change) {
|
|||||||
assert_not_reached();
|
assert_not_reached();
|
||||||
}
|
}
|
||||||
|
|
||||||
v->next_elapse = usec_add(usec_shift_clock(base, CLOCK_MONOTONIC, TIMER_MONOTONIC_CLOCK(t)), v->value);
|
if (!time_change)
|
||||||
|
v->next_elapse = usec_add(usec_shift_clock(base, CLOCK_MONOTONIC, TIMER_MONOTONIC_CLOCK(t)), v->value);
|
||||||
|
|
||||||
if (dual_timestamp_is_set(&t->last_trigger) &&
|
if (dual_timestamp_is_set(&t->last_trigger) &&
|
||||||
!time_change &&
|
!time_change &&
|
||||||
|
@ -4755,7 +4755,7 @@ static int operation_to_signal(
|
|||||||
|
|
||||||
case KILL_TERMINATE:
|
case KILL_TERMINATE:
|
||||||
case KILL_TERMINATE_AND_LOG:
|
case KILL_TERMINATE_AND_LOG:
|
||||||
*ret_noteworthy = false;
|
*ret_noteworthy = k == KILL_TERMINATE_AND_LOG;
|
||||||
return c->kill_signal;
|
return c->kill_signal;
|
||||||
|
|
||||||
case KILL_RESTART:
|
case KILL_RESTART:
|
||||||
|
@ -42,7 +42,6 @@ systemd_homed_sources = files(
|
|||||||
)
|
)
|
||||||
|
|
||||||
homed_gperf_c = custom_target(
|
homed_gperf_c = custom_target(
|
||||||
'homed_gperf.c',
|
|
||||||
input : 'homed-gperf.gperf',
|
input : 'homed-gperf.gperf',
|
||||||
output : 'homed-gperf.c',
|
output : 'homed-gperf.c',
|
||||||
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
|
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
|
||||||
|
@ -97,7 +97,6 @@ in_files = [
|
|||||||
foreach tuple : in_files
|
foreach tuple : in_files
|
||||||
file = tuple[0]
|
file = tuple[0]
|
||||||
custom_target(
|
custom_target(
|
||||||
file,
|
|
||||||
input : file + '.in',
|
input : file + '.in',
|
||||||
output: file,
|
output: file,
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
|
@ -20,6 +20,7 @@ typedef struct Context {
|
|||||||
bool has_cursor;
|
bool has_cursor;
|
||||||
bool need_seek;
|
bool need_seek;
|
||||||
bool since_seeked;
|
bool since_seeked;
|
||||||
|
bool until_safe;
|
||||||
bool ellipsized;
|
bool ellipsized;
|
||||||
bool previous_boot_id_valid;
|
bool previous_boot_id_valid;
|
||||||
sd_id128_t previous_boot_id;
|
sd_id128_t previous_boot_id;
|
||||||
@ -104,10 +105,15 @@ static int seek_journal(Context *c) {
|
|||||||
return log_error_errno(r, "Failed to seek to tail: %m");
|
return log_error_errno(r, "Failed to seek to tail: %m");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arg_reverse)
|
if (arg_reverse) {
|
||||||
r = sd_journal_previous(j);
|
r = sd_journal_previous(j);
|
||||||
else /* arg_lines_needs_seek_end */
|
c->until_safe = true; /* can't possibly go beyond --until= if --reverse */
|
||||||
|
|
||||||
|
} else { /* arg_lines_needs_seek_end() */
|
||||||
r = sd_journal_previous_skip(j, arg_lines);
|
r = sd_journal_previous_skip(j, arg_lines);
|
||||||
|
c->until_safe = r >= arg_lines; /* We have enough lines to output before --until= is hit.
|
||||||
|
No need to check timestamp of each journal entry */
|
||||||
|
}
|
||||||
|
|
||||||
} else if (arg_since_set) {
|
} else if (arg_since_set) {
|
||||||
/* This is placed after arg_reverse and arg_lines. If --since is used without
|
/* This is placed after arg_reverse and arg_lines. If --since is used without
|
||||||
@ -161,11 +167,10 @@ static int show(Context *c) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arg_until_set && !arg_reverse && (arg_lines < 0 || arg_since_set || c->has_cursor)) {
|
if (arg_until_set && !c->until_safe) {
|
||||||
/* If --lines= is set, we usually rely on the n_shown to tell us when to stop.
|
/* If --lines= is set, we usually rely on the n_shown to tell us when to stop.
|
||||||
* However, if --since= or one of the cursor argument is set too, we may end up
|
* However, in the case where we may have less than --lines= to output let's check
|
||||||
* having less than --lines= to output. In this case let's also check if the entry
|
* whether the individual entries are in range. */
|
||||||
* is in range. */
|
|
||||||
|
|
||||||
usec_t usec;
|
usec_t usec;
|
||||||
|
|
||||||
@ -194,6 +199,11 @@ static int show(Context *c) {
|
|||||||
return log_error_errno(r, "Failed to seek to date: %m");
|
return log_error_errno(r, "Failed to seek to date: %m");
|
||||||
c->since_seeked = true;
|
c->since_seeked = true;
|
||||||
|
|
||||||
|
/* We just jumped forward, meaning there might suddenly be less than
|
||||||
|
* --lines= to show within the --until= range, hence keep a close eye on
|
||||||
|
* timestamps from now on. */
|
||||||
|
c->until_safe = false;
|
||||||
|
|
||||||
c->need_seek = true;
|
c->need_seek = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -222,6 +232,12 @@ static int show(Context *c) {
|
|||||||
r = sd_journal_get_data(j, "MESSAGE", &message, &len);
|
r = sd_journal_get_data(j, "MESSAGE", &message, &len);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
if (r == -ENOENT) {
|
if (r == -ENOENT) {
|
||||||
|
/* We will skip some entries forward, meaning there might suddenly
|
||||||
|
* be less than --lines= to show within the --until= range, hence
|
||||||
|
* keep a close eye on timestamps from now on. */
|
||||||
|
if (!arg_reverse)
|
||||||
|
c->until_safe = false;
|
||||||
|
|
||||||
c->need_seek = true;
|
c->need_seek = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -236,6 +252,12 @@ static int show(Context *c) {
|
|||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
if (r == 0) {
|
if (r == 0) {
|
||||||
|
/* We will skip some entries forward, meaning there might suddenly
|
||||||
|
* be less than --lines= to show within the --until= range, hence
|
||||||
|
* keep a close eye on timestamps from now on. */
|
||||||
|
if (!arg_reverse)
|
||||||
|
c->until_safe = false;
|
||||||
|
|
||||||
c->need_seek = true;
|
c->need_seek = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -554,11 +554,14 @@ static int server_do_rotate(
|
|||||||
JournalFileFlags file_flags;
|
JournalFileFlags file_flags;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
|
assert(f);
|
||||||
assert(s);
|
assert(s);
|
||||||
|
|
||||||
if (!*f)
|
if (!*f)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
log_debug("Rotating journal file %s.", (*f)->path);
|
||||||
|
|
||||||
file_flags =
|
file_flags =
|
||||||
(s->compress.enabled ? JOURNAL_COMPRESS : 0)|
|
(s->compress.enabled ? JOURNAL_COMPRESS : 0)|
|
||||||
(seal ? JOURNAL_SEAL : 0) |
|
(seal ? JOURNAL_SEAL : 0) |
|
||||||
@ -2201,6 +2204,8 @@ static int synchronize_second_half(sd_event_source *event_source, void *userdata
|
|||||||
* messages are processed. */
|
* messages are processed. */
|
||||||
server_full_sync(s, /* wait = */ true);
|
server_full_sync(s, /* wait = */ true);
|
||||||
|
|
||||||
|
log_debug("Client request to sync journal completed.");
|
||||||
|
|
||||||
/* Let's get rid of the event source now, by marking it as non-floating again. It then has no ref
|
/* Let's get rid of the event source now, by marking it as non-floating again. It then has no ref
|
||||||
* anymore and is immediately destroyed after we return from this function, i.e. from this event
|
* anymore and is immediately destroyed after we return from this function, i.e. from this event
|
||||||
* source handler at the end. */
|
* source handler at the end. */
|
||||||
@ -2266,6 +2271,7 @@ static int vl_method_rotate(sd_varlink *link, sd_json_variant *parameters, sd_va
|
|||||||
|
|
||||||
log_info("Received client request to rotate journal, rotating.");
|
log_info("Received client request to rotate journal, rotating.");
|
||||||
server_full_rotate(s);
|
server_full_rotate(s);
|
||||||
|
log_debug("Client request to rotate journal completed.");
|
||||||
|
|
||||||
return sd_varlink_reply(link, NULL);
|
return sd_varlink_reply(link, NULL);
|
||||||
}
|
}
|
||||||
@ -2282,6 +2288,7 @@ static int vl_method_flush_to_var(sd_varlink *link, sd_json_variant *parameters,
|
|||||||
|
|
||||||
log_info("Received client request to flush runtime journal.");
|
log_info("Received client request to flush runtime journal.");
|
||||||
server_full_flush(s);
|
server_full_flush(s);
|
||||||
|
log_debug("Client request to flush runtime journal completed.");
|
||||||
|
|
||||||
return sd_varlink_reply(link, NULL);
|
return sd_varlink_reply(link, NULL);
|
||||||
}
|
}
|
||||||
@ -2298,6 +2305,7 @@ static int vl_method_relinquish_var(sd_varlink *link, sd_json_variant *parameter
|
|||||||
|
|
||||||
log_info("Received client request to relinquish %s access.", s->system_storage.path);
|
log_info("Received client request to relinquish %s access.", s->system_storage.path);
|
||||||
server_relinquish_var(s);
|
server_relinquish_var(s);
|
||||||
|
log_debug("Client request to relinquish %s access completed.", s->system_storage.path);
|
||||||
|
|
||||||
return sd_varlink_reply(link, NULL);
|
return sd_varlink_reply(link, NULL);
|
||||||
}
|
}
|
||||||
|
@ -374,9 +374,6 @@ void server_process_syslog_message(
|
|||||||
if (!client_context_test_priority(context, priority))
|
if (!client_context_test_priority(context, priority))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (client_context_check_keep_log(context, msg, strlen(msg)) <= 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
syslog_ts = msg;
|
syslog_ts = msg;
|
||||||
syslog_ts_len = syslog_skip_timestamp(&msg);
|
syslog_ts_len = syslog_skip_timestamp(&msg);
|
||||||
if (syslog_ts_len == 0)
|
if (syslog_ts_len == 0)
|
||||||
@ -385,6 +382,9 @@ void server_process_syslog_message(
|
|||||||
|
|
||||||
syslog_parse_identifier(&msg, &identifier, &pid);
|
syslog_parse_identifier(&msg, &identifier, &pid);
|
||||||
|
|
||||||
|
if (client_context_check_keep_log(context, msg, strlen(msg)) <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
if (s->forward_to_syslog)
|
if (s->forward_to_syslog)
|
||||||
forward_syslog_raw(s, priority, buf, raw_len, ucred, tv);
|
forward_syslog_raw(s, priority, buf, raw_len, ucred, tv);
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ sources = files(
|
|||||||
)
|
)
|
||||||
|
|
||||||
sources += custom_target(
|
sources += custom_target(
|
||||||
'journald-gperf.c',
|
|
||||||
input : 'journald-gperf.gperf',
|
input : 'journald-gperf.gperf',
|
||||||
output : 'journald-gperf.c',
|
output : 'journald-gperf.c',
|
||||||
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
|
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
|
||||||
|
@ -12,7 +12,6 @@ executables += [
|
|||||||
]
|
]
|
||||||
|
|
||||||
ukify_install = custom_target(
|
ukify_install = custom_target(
|
||||||
'60-ukify.install',
|
|
||||||
input : '60-ukify.install.in',
|
input : '60-ukify.install.in',
|
||||||
output : '60-ukify.install',
|
output : '60-ukify.install',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
@ -21,7 +20,6 @@ ukify_install = custom_target(
|
|||||||
install_dir : kernelinstalldir)
|
install_dir : kernelinstalldir)
|
||||||
|
|
||||||
loaderentry_install = custom_target(
|
loaderentry_install = custom_target(
|
||||||
'90-loaderentry.install',
|
|
||||||
input : '90-loaderentry.install.in',
|
input : '90-loaderentry.install.in',
|
||||||
output : '90-loaderentry.install',
|
output : '90-loaderentry.install',
|
||||||
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
|
||||||
@ -42,9 +40,11 @@ if want_kernel_install
|
|||||||
|
|
||||||
install_data('install.conf',
|
install_data('install.conf',
|
||||||
install_dir : kerneldir)
|
install_dir : kerneldir)
|
||||||
|
|
||||||
install_data('uki.conf',
|
if want_ukify
|
||||||
install_dir : kerneldir)
|
install_data('uki.conf',
|
||||||
|
install_dir : kerneldir)
|
||||||
|
endif
|
||||||
|
|
||||||
if install_sysconfdir
|
if install_sysconfdir
|
||||||
install_emptydir(sysconfdir / 'kernel/install.d')
|
install_emptydir(sysconfdir / 'kernel/install.d')
|
||||||
|
@ -112,7 +112,7 @@ static void dhcp6_lease_set_lifetime(sd_dhcp6_lease *lease) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
DEFINE_GET_TIME_FUNCTIONS(t1, lifetime_t1);
|
DEFINE_GET_TIME_FUNCTIONS(t1, lifetime_t1);
|
||||||
DEFINE_GET_TIME_FUNCTIONS(t2, lifetime_t1);
|
DEFINE_GET_TIME_FUNCTIONS(t2, lifetime_t2);
|
||||||
DEFINE_GET_TIME_FUNCTIONS(valid_lifetime, lifetime_valid);
|
DEFINE_GET_TIME_FUNCTIONS(valid_lifetime, lifetime_valid);
|
||||||
|
|
||||||
static void dhcp6_lease_set_server_address(sd_dhcp6_lease *lease, const struct in6_addr *server_address) {
|
static void dhcp6_lease_set_server_address(sd_dhcp6_lease *lease, const struct in6_addr *server_address) {
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user