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 D411026732; Mon, 03 Nov 2025 08:30:28 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 9AA2F2672F; Mon, 03 Nov 2025 08:30:26 +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-x112f.google.com (mail-yw1-x112f.google.com [IPv6:2607:f8b0:4864:20::112f]) by atuin.qyliss.net (Postfix) with ESMTPS id C85B12672D for ; Mon, 03 Nov 2025 08:30:25 +0000 (UTC) Received: by mail-yw1-x112f.google.com with SMTP id 00721157ae682-7814273415cso36385327b3.1 for ; Mon, 03 Nov 2025 00:30:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762158624; x=1762763424; 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=ReGK559UQ4yxR2DpNKdEs/jSuR81cpyVui2PVkb+NH8=; b=az7HpFMlZbl+wmA+O4X8Z8H+xcev16YrdC6zn4aNCnWExVKyNQZr313UVfAOKfdFJj TLJ5Y26Wjmgj+ZkBcCH5gOVoiFZRmUkvYkFC6aaR2kN+NWYWXpffRfgtZGQ/6ncJunB3 l1cfML9/O8J/CklkkJk3IokdYmo12b+ZHLuldd4Vz+B/ce6dBLQqOctMomaZEDXRGB64 m1xyimsdesKtn08ROUagBOy4njrjTAQKP+y0J/1DdBu7Y2mBPcSC56QcKpQXSp3FQXFk 2/Im2yz3iE8ZFS8QB8cyXg0+uOG440XEHewpwYRC1SIi02DVf5kDmDqodM/ZGKj+pSKK vXxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762158624; x=1762763424; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ReGK559UQ4yxR2DpNKdEs/jSuR81cpyVui2PVkb+NH8=; b=CJ432cZdXqjnQjZCl1o72mBiaCfaMEvVq8EHYQKYHbBsXJJsuDnXhJtJ1Vxk1dmkk9 DdQaUsi5IBL0AcDmj8CRN4CpsMBkfTutVsKMIH7V8uSLzlfgrFVc4b3cTMIF/O+i0PMF 3+vRSViCTLdL43iMMXsiAd6ntCS0z/gZcW23VtXcHHU2Ze+t1MVPweIPX0uI29N1ORl6 NvSgb3KukZl1K23cuhpSHXf+6yy7kHQIZx8GB+9X7kdTxsJqJvIbqNLR1WwoG7ul4v4n 6jGuORm+bHloWqF0636rIi7vdQ+5HXsIXfosSQvx0N851cor6WskQnyyxMNgUBW4ncA9 NYZw== X-Gm-Message-State: AOJu0YwT8OJWHwBYzuqyHQ+D0tl0pLQ6fT1LT/Ccg6Za4JUJgQHZmtfu 88ddACoCSsAI4vU+3zT2nMcftGAsoRr6CEN05UsdgoFjuncCCJFqpCUo0omkTQ== X-Gm-Gg: ASbGncvh3le7UYazmHmIDq27DA3yR3C0Qxng9yJSfvrIAkDkvmudtO9VVQ+WJ/x2L4I hnpa+BiFPd+CbJ1X8AJx/j38iyY6F+aheiHcxxTRe58QVQdpsHM1kOTkJOjJ0iZRO9LIiuwIxD6 s1p1BduzJ+GBabcanCv3c+Eo6P5JsWr9CW2vuc+8SXbecTJyjHL8jk9JE3mYua+Tbj9Nc9Y7K1w AXGHUqSBLQPb8Elqz9YcBPLwWrI5oNPmbRT0yGqEVCFT8VvAIDMr1ZFVe8KcAtjamaUCaSQVZ9s Ea7RBMcrcADR7jbyfX28bolbreXFukpXhEgSCdP4aocegk2S+ewtzlwVLr/B4wGaboiwJQVcp7E JIE9jQSSjn2aG4s1OU1qnMU0nP0cCzKqi+yYhQJOa27dVw2KDDPzuvUNpXdH/iSq/9VFqvPhcbC r8M55f9Ys9T6Kf1hTZiW6yqB7Vkv4ifPraDV3Z91umSqbhiNA0dS0/M6jARkdsL96PTMjW/2RVG v4otFCJjoLbfReiCjacZUBC X-Google-Smtp-Source: AGHT+IHXBufKgE14bsCnOqnCXAkQCAl8veLunLMKFPTVZT/vQnURsESd3SrXUWvgbz2e5C1w6GuKrA== X-Received: by 2002:a05:690c:b85:b0:781:1c9e:fc82 with SMTP id 00721157ae682-7864852655dmr97863397b3.48.1762158624105; Mon, 03 Nov 2025 00:30:24 -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-786779ab735sm9563857b3.7.2025.11.03.00.30.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Nov 2025 00:30:23 -0800 (PST) From: Demi Marie Obenour Subject: [PATCH v6 0/2] Switch from mdevd to systemd-udevd in root filesystem Date: Mon, 03 Nov 2025 03:29:20 -0500 Message-Id: <20251103-udev-v6-0-704649b85d6d@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAOBnCGkC/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=1762158560; l=4466; i=demiobenour@gmail.com; s=20250729; h=from:subject:message-id; bh=lXjpG+UeW2znoOKx1sceiJpzVORegMN0T2HHzO5v1P4=; b=JY3LMCNEmyMWEu90y+sZ4bLTwaqNWfTIU+yvZNp60kbhZ/JpYJIJfZgBX6givTB83T5BVoqWN pp5L/AYWcqJDjQPlhZIoSRfcDVrKBrMmDyOpxfQxt60ULdXTIaOyKAe X-Developer-Key: i=demiobenour@gmail.com; a=ed25519; pk=X57Q4/YQDj9t4SBeKaDwvXYKB6quZJVx/DE2Ly2out0= Message-ID-Hash: ZPFB55BDP6C7CQ5ANPPP6VBLLUP2TWAK X-Message-ID-Hash: ZPFB55BDP6C7CQ5ANPPP6VBLLUP2TWAK 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 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 | 9 ++ 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, 203 insertions(+), 159 deletions(-) --- base-commit: 1d666582892fbdf812662b4490caf7821078eaf9 change-id: 20250911-udev-24cf4bf68fbe -- Sincerely, Demi Marie Obenour (she/her/hers)