tce-load -i compiletc meson coreutils gperf libcap-dev glibc_apps rsync acl-dev util-linux-dev bash

wget https://github.com/systemd/systemd/archive/v254/systemd-254.tar.gz

cd systemd-254

sed -i -e 's/GROUP="render"/GROUP="video"/' -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in
sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in



mkdir build
cd build

CC="gcc -flto -mtune=generic -Os -pipe" CXX="g++ -flto -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" meson --prefix=/usr/local --localstatedir=/var --buildtype=plain -Ddev-kvm-mode=0660 -Dlink-udev-shared=false -Dman=false -Dmode=release

ninja udevadm systemd-hwdb $(grep -o -E "^build (src/libudev|src/udev|rules.d|hwdb.d)[^:]*" build.ninja | awk '{ print $2 }') $(realpath libudev.so --relative-to .) [0m 59.39s]

sudo install -vm755 -d /tmp/pkg/usr/local/lib/udev
sudo install -vm755 -d /tmp/pkg/usr/local/etc/udev
sudo install -vm755 -d /tmp/pkg/etc/udev/rules.d
sudo install -vm755 -d /tmp/pkg/etc/udev/hwdb.d
sudo install -vm755 -d /tmp/pkg/usr/local/lib/include
sudo install -vm755 -d /tmp/pkg/usr/local/lib/pkgconfig
sudo install -vm755 -d /tmp/pkg/usr/local/share/pkgconfig
sudo install -vm755 -d /tmp/pkg/sbin
sudo install -vm755 udevadm /tmp/pkg/sbin
sudo install -vm755 -d /tmp/pkg/usr/local/bin
sudo install -vm755 systemd-hwdb /tmp/pkg/usr/local/bin/udev-hwdb
sudo ln -svfn  /tmp/pkg/sbin/udevadm /tmp/pkg/sbin/udevd
sudo cp -av libudev.so.1.7.7 /tmp/pkg/usr/local/lib/
cd /tmp/pkg/usr/local/lib/
sudo ln -s libudev.so.1.7.7 libudev.so.1
sudo ln -s libudev.so.1.7.7 libudev.so
sudo install -vm644 ../src/libudev/libudev.h    /tmp/pkg/usr/local/include/
sudo install -vm644 src/libudev/*.pc            /tmp/pkg/usr/local/lib/pkgconfig/
sudo install -vm644 src/udev/*.pc               /tmp/pkg/usr/local/share/pkgconfig/
sudo install -vm644 ../src/udev/udev.conf       /tmp/pkg/usr/local/etc/udev/
sudo install -vm644 rules.d/* ../rules.d/*.rules /tmp/pkg/usr/local/lib/udev/rules.d/
sudo install -vm644 hwdb.d/*  ../hwdb.d/*.hwdb /tmp/pkg/usr/local/lib/udev/hwdb.d/
sudo install -vm755 $(find src/udev -type f | grep -F -v ".") /tmp/pkg/usr/local/lib/udev

Information about hardware devices is maintained in the /etc/udev/hwdb.d and /usr/local/lib/udev/hwdb.d directories. Udev needs that information to be compiled into a binary database /etc/udev/hwdb.bin. Create the initial database:

udev-hwdb update

systemd 254

    build mode                     : release
    split /usr                     : True
    split bin-sbin                 : True
    prefix directory               : /usr/local
    rootprefix directory           : /
    sysconf directory              : /etc
    include directory              : /usr/local/include
    lib directory                  : /usr/local/lib
    rootlib directory              : /lib
    SysV init scripts              : /etc/init.d
    SysV rc?.d directories         : /etc/rc.d
    PAM modules directory          : /lib/security
    PAM configuration directory    : /usr/local/lib/pam.d
    libcryptsetup plugins directory: /lib/cryptsetup
    RPM macros directory           : /usr/local/lib/rpm/macros.d
    modprobe.d directory           : /lib/modprobe.d
    D-Bus policy directory         : /usr/local/share/dbus-1/system.d
    D-Bus session directory        : /usr/local/share/dbus-1/services
    D-Bus system directory         : /usr/local/share/dbus-1/system-services
    D-Bus interfaces directory     : /usr/local/share/dbus-1/interfaces
    bash completions directory     : /usr/local/share/bash-completion/completions
    zsh completions directory      : /usr/local/share/zsh/site-functions
    private shared lib version tag : 254
    extra start script             : /etc/rc.local
    debug shell                    : /bin/sh @ /dev/tty9
    system UIDs                    : <=999 (alloc >=1)
    system GIDs                    : <=999 (alloc >=1)
    dynamic UIDs                   : 61184â¦65519
    container UID bases            : 524288â¦1878982656
    static UID/GID allocations     : tty-gid:5
    /dev/kvm access mode           : 0660
    render group access mode       : 0666
    certificate root directory     : /etc/ssl
    support URL                    : https://lists.freedesktop.org/mailman/listinfo/systemd-devel
    nobody user name               : nobody
    nobody group name              : nobody
    fallback hostname              : localhost
    default compression method     : xz
    default DNSSEC mode            : allow-downgrade
    default DNS-over-TLS mode      : no
    default mDNS mode              : yes
    default LLMNR mode             : yes
    default DNS servers            : 1.1.1.1#cloudflare-dns.com
                                     8.8.8.8#dns.google
                                     1.0.0.1#cloudflare-dns.com
                                     8.8.4.4#dns.google
                                     2606:4700:4700::1111#cloudflare-dns.com
                                     2001:4860:4860::8888#dns.google
                                     2606:4700:4700::1001#cloudflare-dns.com
                                     2001:4860:4860::8844#dns.google
    default NTP servers            : time1.google.com
                                     time2.google.com
                                     time3.google.com
                                     time4.google.com
    default cgroup hierarchy       : unified
    default net.naming-scheme value: latest
    default KillUserProcesses value: True
    default locale                 : C.UTF-8
    default nspawn locale          : C.UTF-8
    default status unit format     : description
    default user $PATH             : (same as system services)
    systemd service watchdog       : 3min
    time epoch                     : 1690532792 (2023-07-28T08:26:32+00:00)

  Features
    enabled                        : ACL, IMA, SMACK, blkid, libfdisk, openssl, xz, zlib, bzip2, backlight, binfmt, coredump, efi, environment.d, firstboot, hibernate, hostnamed, hwdb, initrd, kernel-install, localed, logind, machined, networkd, nss-myhostname, nss-mymachines, nss-resolve, nss-systemd, oomd, portabled, pstore, quotacheck, randomseed, repart, resolve, rfkill, sysext, systemd-analyze, sysupdate, sysusers, timedated, timesyncd, tmpfiles, userdb, vconsole, xdg-autostart, idn, polkit, nscd, glib, tpm, SysV compat, utmp, ldconfig, adm group, wheel group, gshadow, link-systemctl-shared, link-networkd-shared, link-timesyncd-shared, link-journalctl-shared, link-boot-shared, link-portabled-shared, cryptolib(openssl), DNS-over-TLS(openssl)
    disabled                       : AUDIT, AppArmor, PAM, SECCOMP, SELinux, elfutils, gcrypt, gnutls, libbpf, libcryptsetup, libcryptsetup-plugins, libcurl, libfido2, libidn, libidn2, libiptc, microhttpd, p11kit, passwdqc, pcre2, pwquality, qrencode, tpm2, xkbcommon, zstd, lz4, bootloader, bpf-framework, homed, importd, legacy-pkla, kmod, xenctrl, dbus, man pages, html pages, man page indices, compat-mutable-uid-boundaries, debug hashmap, debug mmap cache, debug siphash, trace logging, slow tests, fuzz tests, install tests, link-udev-shared, first-boot-full-preset, fexecve, standalone-binaries, coverage, static-libsystemd, static-libudev

  User defined options
    buildtype                      : plain
    localstatedir                  : /var
    prefix                         : /usr/local
    dev-kvm-mode                   : 0660
    link-udev-shared               : false
    man                            : false
    mode                           : release
