From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 426B81A617; Fri, 07 Nov 2025 19:02:31 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 3685C1A555; Fri, 07 Nov 2025 19:02:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_PASS,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 Received: from mail-yw1-x1133.google.com (mail-yw1-x1133.google.com [IPv6:2607:f8b0:4864:20::1133]) by atuin.qyliss.net (Postfix) with ESMTPS id B697E1A551 for ; Fri, 07 Nov 2025 19:02:02 +0000 (UTC) Received: by mail-yw1-x1133.google.com with SMTP id 00721157ae682-781014f4e12so10823667b3.1 for ; Fri, 07 Nov 2025 11:02:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762542118; x=1763146918; darn=spectrum-os.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=rVOjgRziiHM0bH2Vl8zmrrcCJHSsIbv4kHlxuhrQ3jo=; b=gxFLGXTKh9bwlX5qVEFIBku8MNPp7Kt11HPD5HXIWlQsb5bTSo3O9KLwmywO76ZDaU D/xh3OjxPdUqWBHb0+152d6Hc4GWwfdtfJMqJPyu9swa6C/csJp6X/uEP6t8A+LkQ2gM 04m2PumcWjgljt8ojdcakxdjVIyOTCc+qQ1kCGAGmgIIryyNpDd8307f1h3GVdp7qQMA MyxCY55Q+ZZflPfnxaKJ9AtvkPArZ2doE2ggEY3Zpj+dlzhgIF0m1B96MZCAgQQIzTuT ds92xHZlXqNigMRyYwTNOLmlRBbWHiNu4aNYPPiJUM3BpALy0k4B2uc2wixZkn5SyW8M pBMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762542118; x=1763146918; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=rVOjgRziiHM0bH2Vl8zmrrcCJHSsIbv4kHlxuhrQ3jo=; b=IxNPcoGDw0X4gkmkOxGLCfYIR4t8ghJ8Cjd3ip9slx70lsNwt3ilNz1m5968UWpiaP aoTHpyU31/En/St5k0nAIxiDjovxXNa/87XluKhVVJq1MwMH0rAHtqqnI0hNBKomvYsM F1X/rsZmVOwcB0U6B+Kuh8cHtK7Pa6/WggoAFbVC6le19PtLWmjZFPCkhJrDe9StjjBM NfPxgsA4bFvoyzr1tHW0tfD0m3Vcx9avo1vVQ2qTVJVfnA2kR5gtswphI1fJJsZUbFbe hcTC2IKn4bRGXfxPaQTqSxrdTejzlLlcBPZC2SPcvdrq0AMgxbCkhZvkZkB7lZutU2W2 ZZPA== X-Gm-Message-State: AOJu0Yz9Ys0QjISzmlwHV6Ghl/11aYfnYwKWg8tXqLgOQDf0LJFPhU0k hpwlp2MW1xy8goyZDDmDOPj7GNUIMioiiYJPtTw/ZrCf40zoguxZB36VQnZSQw== X-Gm-Gg: ASbGnctSBiyL9Cd0jk68dUvOV8r0ycx2afJPYSdpFWe2p5PmUSUbFH+cWCeZVEPeD2L Dgvaqu8qGF/jhX3P3sKOkWYlrrzW4nZ73lytV3fKTKWcBhszl1tMhvXrc0Bd/zhVnVPxEilftks Z4BXf96bO4qPQr4Bgjf4Gp9QxU2s4RxNPQ3QLirgt+IwZBR2Wku2v0oRmBoBL2SLUEw9zU5v2a3 JJ4KXvDtYma4ukcaOA4+P8ADyvUCIeE4z7n5sc7YLfBeJ2HFvIOfoZ36hi9Vu/6iUProePG1HfZ eXF1ipctXG1vq8VnFm7n1GIFiXD6OFU+df9M958nU5C0a6Ivoh4gIkqiexFihQGmwlzij4qom7T //0WDTpughpUffVGf03ev+ELASLqPHnbeYRYEnl/lRGRLWuM1vOTm733awczLN5jo2QfttBbH8C 5t8J9Dd1JnkU2q9q+Kne9WnJr5AW04vu08F0KovMDDJMNjwe7hrVXpWZAaUpVIF/PtuZqX/zLlU dV8RHYzxyXFuOGrrnOo8eElK6H7+nqWf+I= X-Google-Smtp-Source: AGHT+IFFKkaefDWnBVpWMzk61GGCdesR/Q/2NB59G6xa7cq04r3Q8YIqO+dxFvXZQuQg/bzl7a3yZQ== X-Received: by 2002:a05:690c:9684:b0:786:56ec:e3cf with SMTP id 00721157ae682-787d5446f36mr3543007b3.61.1762542117774; Fri, 07 Nov 2025 11:01:57 -0800 (PST) Received: from localhost.localdomain (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169]) by smtp.gmail.com with UTF8SMTPSA id 00721157ae682-787d69c30b2sm12707b3.29.2025.11.07.11.01.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Nov 2025 11:01:57 -0800 (PST) From: Demi Marie Obenour Subject: [PATCH v6 0/2] Switch from mdevd to systemd-udevd in root filesystem Date: Fri, 07 Nov 2025 14:00:57 -0500 Message-Id: <20251107-udev-v6-0-176246281424@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAOlBDmkC/13OTQ6CMBCG4auYrq3pTAcEV97DuGDoVJuoGNBGQ 7i7BX9CXH5Nn7ftVSdtkE5tFr1qJYYuNJc08uVC1cfqchAdXNoKDWamBNB3J1Ej1Z7Y54VnUen qtRUfHlNmt0/7GLpb0z6naoTx9Buw70AEbbRUTqjiwiPT9nCuwmlVN2c1BiLOENIHoUadm6J0k iGw5X9k56j4IJteYjZS5oA1QfaP6IfAmO/3KKG1W1siBnIAczQMwwvSpKPhNwEAAA== X-Change-ID: 20250911-udev-24cf4bf68fbe To: Spectrum OS Development X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1762542057; l=4528; i=demiobenour@gmail.com; s=20250729; h=from:subject:message-id; bh=PpLQCx0UpDPVXy9ivjzF4m8ct2ku/GH+Mtpu/PHjhhw=; b=b/IuCx3zDuhpJ9ZRcWj/HEzBFVKAihr1LL/THsgqXx641GTK4rQtdiS4reFHdVOIzT9dt5LYH Y9Z8IdmAJMGCW3JDZqj2RH5TUe+jsCvF6ucCG6/7vMqLWrkdZAXxId2 X-Developer-Key: i=demiobenour@gmail.com; a=ed25519; pk=X57Q4/YQDj9t4SBeKaDwvXYKB6quZJVx/DE2Ly2out0= Message-ID-Hash: UZDDB7AFKPX2ILZ3BGMEABB6O3O7FY7R X-Message-ID-Hash: UZDDB7AFKPX2ILZ3BGMEABB6O3O7FY7R X-MailFrom: demiobenour@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Demi Marie Obenour , Alyssa Ross X-Mailman-Version: 3.3.9 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: systemd-udevd provides support for significantly more hardware than mdevd does. Therefore, switch to it. Signed-off-by: Demi Marie Obenour --- Changes in v6: - Avoid using GOTO and LABEL in udev rules. Changes in v5: - Use -D_GNU_SOURCE in build system instead of #define _GNU_SOURCE 1 in C files. - Do not check for EAGAIN or EWOULDBLOCK after poll() has reported FD as ready. - Do not use MSG_NONBLOCK. - Use static variable for iovec. - Network hotplug script is safe to call more than once, so do not check for it having already been called. - Do not try to prevent /run/user from being created with wrong mode when it is known to already exist. - Fix copyright texts. - Link to v4: https://spectrum-os.org/lists/archives/spectrum-devel/20251003-udev-v4-0-7d7344b14d11@gmail.com Changes in v4: - Use 'udevadm trigger --action=add' at coldplug time. - Ensure that the wrapper does not exit after the first message. - Include the hardware database. - sd-notify-adapter should not exit if it receives a message without READY=1. - Link to v3: https://spectrum-os.org/lists/archives/spectrum-devel/20250928-udev-v3-0-bb0e9612c415@gmail.com Changes in v3: - Try to avoid net-add running twice. - Use full systemd instead of systemdMinimal, as something else already pulls it into the image. - Hopefully fix integration tests. - Link to v2: https://spectrum-os.org/lists/archives/spectrum-devel/20250924-udev-v2-2-6089de521b3b@gmail.com Changes in v2: - Use more optional arguments instead of positional parameters in sd-notify-wrapper. - Explain why explicit modprobe is needed. - Link to v1: https://spectrum-os.org/lists/archives/spectrum-devel/20250913-udev-v1-0-eade4ab8f2b4@gmail.com --- Demi Marie Obenour (2): tools: Add adapter tool for services using sd_notify host/rootfs: Switch to systemd-udevd host/rootfs/Makefile | 2 +- host/rootfs/default.nix | 118 ++++++++------------- host/rootfs/file-list.mk | 33 +++--- host/rootfs/image/etc/mdev.conf | 7 -- host/rootfs/image/etc/mdev/listen | 11 -- host/rootfs/image/etc/mdev/wait | 14 --- host/rootfs/image/etc/s6-rc/card0/type.license | 2 - host/rootfs/image/etc/s6-rc/card0/up | 4 - host/rootfs/image/etc/s6-rc/kvm/timeout-up | 1 - host/rootfs/image/etc/s6-rc/kvm/timeout-up.license | 2 - host/rootfs/image/etc/s6-rc/kvm/type | 1 - host/rootfs/image/etc/s6-rc/kvm/type.license | 2 - host/rootfs/image/etc/s6-rc/kvm/up | 4 - host/rootfs/image/etc/s6-rc/mdevd-coldplug/type | 1 - host/rootfs/image/etc/s6-rc/mdevd-coldplug/up | 4 - .../image/etc/s6-rc/mdevd/notification-fd.license | 2 - host/rootfs/image/etc/s6-rc/mdevd/run | 5 - .../contents.d/systemd-udevd-coldplug} | 0 .../dependencies.d/systemd-udevd} | 0 .../s6-rc/{card0 => systemd-udevd-coldplug}/type | 0 .../type.license | 0 .../image/etc/s6-rc/systemd-udevd-coldplug/up | 3 + .../s6-rc/{mdevd => systemd-udevd}/notification-fd | 0 .../s6-rc/systemd-udevd/notification-fd.license | 2 + host/rootfs/image/etc/s6-rc/systemd-udevd/run | 14 +++ .../image/etc/s6-rc/{mdevd => systemd-udevd}/type | 0 .../s6-rc/{mdevd => systemd-udevd}/type.license | 0 .../contents.d/systemd-udevd-coldplug} | 0 .../contents.d/systemd-udevd-coldplug} | 0 .../weston/dependencies.d/systemd-udevd-coldplug | 0 host/rootfs/image/etc/s6-rc/weston/run | 6 +- .../image/etc/udev/rules.d/99-spectrum.rules | 5 + host/rootfs/image/usr/bin/run-vmm | 1 + host/rootfs/image/usr/bin/systemd-udevd | 1 + .../{etc/mdev/net/add => usr/libexec/net-add} | 0 tools/default.nix | 1 + tools/meson.build | 1 + tools/sd-notify-adapter/meson.build | 4 + tools/sd-notify-adapter/sd-notify-adapter.c | 107 +++++++++++++++++++ 39 files changed, 199 insertions(+), 159 deletions(-) --- base-commit: 22e216712322cdfb85094bbd27ff34c4366fad41 change-id: 20250911-udev-24cf4bf68fbe -- Sincerely, Demi Marie Obenour (she/her/hers)