From 88e1b77ca7d73c41ab204a4ff07198a3ca3c726a Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Sat, 26 Nov 2022 08:45:00 -0800 Subject: [PATCH 01/52] Update to 20221122; Fixes: RHBZ#2145036 --- .gitignore | 1 + ...67c090cd7c64ee7e8bdb1bc0696f00e4a3ec.patch | 85 -------- ...7f21f8dc002a3a073b34036291655af7dd38.patch | 23 --- asahi-scripts.spec | 12 +- ...ccaa5d9b16d49b8ae49052f14c5838917cd7.patch | 79 -------- ...57c036dd16334ec1fd3b8463e66667e71269.patch | 24 --- ...d5510543e8adeb215c450b1002910fecdde7.patch | 181 ------------------ sources | 2 +- 8 files changed, 3 insertions(+), 404 deletions(-) delete mode 100644 594967c090cd7c64ee7e8bdb1bc0696f00e4a3ec.patch delete mode 100644 780b7f21f8dc002a3a073b34036291655af7dd38.patch delete mode 100644 c749ccaa5d9b16d49b8ae49052f14c5838917cd7.patch delete mode 100644 f67757c036dd16334ec1fd3b8463e66667e71269.patch delete mode 100644 f933d5510543e8adeb215c450b1002910fecdde7.patch diff --git a/.gitignore b/.gitignore index 3fe5ccc..b3298db 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /asahi-scripts-20220821.tar.gz /asahi-scripts-20220918.2.tar.gz /asahi-scripts-20221027.tar.gz +/asahi-scripts-20221122.tar.gz diff --git a/594967c090cd7c64ee7e8bdb1bc0696f00e4a3ec.patch b/594967c090cd7c64ee7e8bdb1bc0696f00e4a3ec.patch deleted file mode 100644 index 2268d20..0000000 --- a/594967c090cd7c64ee7e8bdb1bc0696f00e4a3ec.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 594967c090cd7c64ee7e8bdb1bc0696f00e4a3ec Mon Sep 17 00:00:00 2001 -From: Neal Gompa -Date: Sun, 18 Sep 2022 11:36:00 -0400 -Subject: [PATCH] Makefile: Rework to split out initramfs script - installation/removal - -Technically, initramfs generators are independent of distributions, -and it's entirely possible to do something like Dracut on Arch. - -Thus, let's ensure that it's possible to do this and install/remove -initramfs scripts separately. - -For backwards compatibility, the install-{arch,fedora} commands -will still install their respective default initramfs generator -scripts. - -Signed-off-by: Neal Gompa ---- - Makefile | 36 ++++++++++++++++++++++-------------- - 1 file changed, 22 insertions(+), 14 deletions(-) - -diff --git a/Makefile b/Makefile -index 4b5fe7b..3a567e8 100644 ---- a/Makefile -+++ b/Makefile -@@ -27,37 +27,45 @@ install: all - install -dD $(DESTDIR)$(PREFIX)/share/asahi-scripts - install -m0644 -t $(DESTDIR)$(PREFIX)/share/asahi-scripts functions.sh - --install-arch: install -+install-mkinitcpio: install -+ install -dD $(DESTDIR)$(PREFIX)/lib/initcpio/install -+ install -m0644 -t $(DESTDIR)$(PREFIX)/lib/initcpio/install initcpio/install/asahi -+ install -dD $(DESTDIR)$(PREFIX)/lib/initcpio/hooks -+ install -m0644 -t $(DESTDIR)$(PREFIX)/lib/initcpio/hooks initcpio/hooks/asahi -+ -+install-dracut: install -+ install -dD $(DESTDIR)$(DRACUT_CONF_DIR) -+ install -m0644 -t $(DESTDIR)$(DRACUT_CONF_DIR) dracut/10-asahi.conf -+ -+install-arch: install install-mkinitcpio - install -m0755 -t $(DESTDIR)$(BIN_DIR)/ $(BUILD_ARCH_SCRIPTS) - install -dD $(DESTDIR)$(PREFIX)/lib/systemd/system - install -dD $(DESTDIR)$(PREFIX)/lib/systemd/system/{multi-user,sysinit}.target.wants - install -m0644 -t $(DESTDIR)$(PREFIX)/lib/systemd/system $(addprefix systemd/,$(UNITS)) - ln -sf $(addprefix $(PREFIX)/lib/systemd/system/,$(MULTI_USER_WANTS)) \ - $(DESTDIR)$(PREFIX)/lib/systemd/system/multi-user.target.wants/ -- install -dD $(DESTDIR)$(PREFIX)/lib/initcpio/install -- install -m0644 -t $(DESTDIR)$(PREFIX)/lib/initcpio/install initcpio/install/asahi -- install -dD $(DESTDIR)$(PREFIX)/lib/initcpio/hooks -- install -m0644 -t $(DESTDIR)$(PREFIX)/lib/initcpio/hooks initcpio/hooks/asahi - install -dD $(DESTDIR)$(PREFIX)/share/libalpm/hooks - install -m0644 -t $(DESTDIR)$(PREFIX)/share/libalpm/hooks libalpm/hooks/95-m1n1-install.hook - --install-fedora: install -- install -dD $(DESTDIR)$(DRACUT_CONF_DIR) -- install -m0644 -t $(DESTDIR)$(DRACUT_CONF_DIR) dracut/10-asahi.conf -+install-fedora: install install-dracut - - uninstall: - rm -f $(addprefix $(DESTDIR)$(BIN_DIR)/,$(SCRIPTS)) - rm -rf $(DESTDIR)$(PREFIX)/share/asahi-scripts - --uninstall-arch: -+uninstall-mkinitcpio: -+ rm -f $(DESTDIR)$(PREFIX)/lib/initcpio/install/asahi -+ rm -f $(DESTDIR)$(PREFIX)/lib/initcpio/hooks/asahi -+ -+uninstall-dracut: -+ rm -f $(DESTDIR)$(DRACUT_CONF_DIR)/10-asahi.conf -+ -+uninstall-arch: uninstall-mkinitcpio - rm -f $(addprefix $(DESTDIR)$(BIN_DIR)/,$(ARCH_SCRIPTS)) - rm -f $(addprefix $(DESTDIR)$(PREFIX)/lib/systemd/system/,$(UNITS)) - rm -f $(addprefix $(DESTDIR)$(PREFIX)/lib/systemd/system/multi-user.target.wants/,$(MULTI_USER_WANTS)) -- rm -f $(DESTDIR)$(PREFIX)/lib/initcpio/install/asahi -- rm -f $(DESTDIR)$(PREFIX)/lib/initcpio/hooks/asahi - rm -f $(DESTDIR)$(PREFIX)/share/libalpm/hooks/95-m1n1-install.hook - --uninstall-fedora: -- rm -f $(DESTDIR)$(DRACUT_CONF_DIR)/10-asahi.conf -+uninstall-fedora: uninstall-dracut - --.PHONY: clean install install-arch install-fedora uninstall uninstall-arch uninstall-fedora -+.PHONY: clean install install-mkinitcpio install-dracut install-arch install-fedora uninstall uninstall-mkinitcpio uninstall-dracut uninstall-arch uninstall-fedora diff --git a/780b7f21f8dc002a3a073b34036291655af7dd38.patch b/780b7f21f8dc002a3a073b34036291655af7dd38.patch deleted file mode 100644 index c469d32..0000000 --- a/780b7f21f8dc002a3a073b34036291655af7dd38.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 780b7f21f8dc002a3a073b34036291655af7dd38 Mon Sep 17 00:00:00 2001 -From: Davide Cavalca -Date: Mon, 31 Oct 2022 21:39:29 -0700 -Subject: [PATCH] asahi-fwextract: fix overzealous quoting - -Signed-off-by: Davide Cavalca ---- - asahi-fwextract | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/asahi-fwextract b/asahi-fwextract -index 744a037..b131e7f 100755 ---- a/asahi-fwextract -+++ b/asahi-fwextract -@@ -40,7 +40,7 @@ fi - - echo "Upgrading vendor firmware package" - "$PYTHON" -m asahi_firmware.update "$ASAHIFW" "$VENDORFWTMP" --mv -f "${VENDORFWTMP}/*" "$VENDORFW" -+mv -f ${VENDORFWTMP}/* "$VENDORFW" - rmdir "$VENDORFWTMP" - echo "Firmware upgraded" - diff --git a/asahi-scripts.spec b/asahi-scripts.spec index aab1329..3136503 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20221027 +Version: 20221122 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux @@ -7,16 +7,6 @@ License: MIT URL: https://github.com/AsahiLinux/asahi-scripts Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Source: update-m1n1.sysconfig -# Add asahi-fwextract script -Patch: %{url}/commit/c749ccaa5d9b16d49b8ae49052f14c5838917cd7.patch -# asahi-fwextract: fix overzealous quoting -Patch: %{url}/commit/780b7f21f8dc002a3a073b34036291655af7dd38.patch -# Makefile: Rework to split out initramfs script installation/removal -Patch: %{url}/commit/594967c090cd7c64ee7e8bdb1bc0696f00e4a3ec.patch -# dracut: Add firmware loading module -Patch: %{url}/commit/f933d5510543e8adeb215c450b1002910fecdde7.patch -# dracut: Fix symlink direction -Patch: %{url}/commit/f67757c036dd16334ec1fd3b8463e66667e71269.patch BuildArch: noarch diff --git a/c749ccaa5d9b16d49b8ae49052f14c5838917cd7.patch b/c749ccaa5d9b16d49b8ae49052f14c5838917cd7.patch deleted file mode 100644 index 18206ea..0000000 --- a/c749ccaa5d9b16d49b8ae49052f14c5838917cd7.patch +++ /dev/null @@ -1,79 +0,0 @@ -From c749ccaa5d9b16d49b8ae49052f14c5838917cd7 Mon Sep 17 00:00:00 2001 -From: Davide Cavalca -Date: Mon, 19 Sep 2022 14:09:57 +0200 -Subject: [PATCH] Add asahi-fwextract script - -Signed-off-by: Davide Cavalca ---- - Makefile | 2 +- - asahi-fwextract | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 49 insertions(+), 1 deletion(-) - create mode 100755 asahi-fwextract - -diff --git a/Makefile b/Makefile -index b175b4a..4b5fe7b 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,7 +1,7 @@ - PREFIX=/usr/local - CONFIG_DIR=/etc/default - BIN_DIR=$(PREFIX)/bin --SCRIPTS=update-m1n1 -+SCRIPTS=asahi-fwextract update-m1n1 - ARCH_SCRIPTS=update-grub first-boot - UNITS=first-boot.service - MULTI_USER_WANTS=first-boot.service -diff --git a/asahi-fwextract b/asahi-fwextract -new file mode 100755 -index 0000000..744a037 ---- /dev/null -+++ b/asahi-fwextract -@@ -0,0 +1,48 @@ -+#!/bin/sh -+# SPDX-License-Identifier: MIT -+ -+set -eu -+ -+[ -e /etc/default/asahi-fwextract ] && . /etc/default/asahi-fwextract -+ -+: "${ASAHIFW:=}" -+: "${VENDORFW:=}" -+: "${VENDORFWTMP:=/run/.vendorfw-tmp}" -+: "${PYTHON:=python3}" -+ -+if [ -e "$(dirname "$0")"/functions.sh ]; then -+ . "$(dirname "$0")"/functions.sh -+else -+ . /usr/share/asahi-scripts/functions.sh -+fi -+ -+umount=false -+ -+if [ -z "$ASAHIFW" ] && [ -z "$VENDORFW" ]; then -+ mount_sys_esp /run/.system-efi -+ ASAHIFW="/run/.system-efi/asahi/" -+ VENDORFW="/run/.system-efi/vendorfw/" -+ umount=true -+fi -+ -+if [ ! -e "${ASAHIFW}/all_firmware.tar.gz" ]; then -+ echo "No firmware tarball found, skipping extraction" -+ exit 0 -+fi -+ -+if [ ! -d "$VENDORFW" ]; then -+ mkdir -p "$VENDORFW" -+fi -+ -+if [ ! -d "$VENDORFWTMP" ]; then -+ mkdir -p "$VENDORFWTMP" -+fi -+ -+echo "Upgrading vendor firmware package" -+"$PYTHON" -m asahi_firmware.update "$ASAHIFW" "$VENDORFWTMP" -+mv -f "${VENDORFWTMP}/*" "$VENDORFW" -+rmdir "$VENDORFWTMP" -+echo "Firmware upgraded" -+ -+$umount && umount /run/.system-efi -+true diff --git a/f67757c036dd16334ec1fd3b8463e66667e71269.patch b/f67757c036dd16334ec1fd3b8463e66667e71269.patch deleted file mode 100644 index a1beb48..0000000 --- a/f67757c036dd16334ec1fd3b8463e66667e71269.patch +++ /dev/null @@ -1,24 +0,0 @@ -From f67757c036dd16334ec1fd3b8463e66667e71269 Mon Sep 17 00:00:00 2001 -From: Hector Martin -Date: Fri, 4 Nov 2022 10:00:39 +0900 -Subject: [PATCH] dracut: Fix symlink direction - -Fixes: #16 -Signed-off-by: Hector Martin ---- - dracut/modules.d/99asahi-firmware/module-setup.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut/modules.d/99asahi-firmware/module-setup.sh b/dracut/modules.d/99asahi-firmware/module-setup.sh -index 15195bf..547103a 100755 ---- a/dracut/modules.d/99asahi-firmware/module-setup.sh -+++ b/dracut/modules.d/99asahi-firmware/module-setup.sh -@@ -26,7 +26,7 @@ installkernel() { - # called by dracut - install() { - inst_dir "/lib/firmware" -- ln_r "/lib/firmware/vendor" "/vendorfw" -+ ln_r "/vendorfw" "/lib/firmware/vendor" - asahiscriptsdir="/usr/share/asahi-scripts" - inst_dir $asahiscriptsdir - $DRACUT_CP -R -L -t "${initdir}/${asahiscriptsdir}" "${dracutsysrootdir}${asahiscriptsdir}"/* diff --git a/f933d5510543e8adeb215c450b1002910fecdde7.patch b/f933d5510543e8adeb215c450b1002910fecdde7.patch deleted file mode 100644 index 730b1ce..0000000 --- a/f933d5510543e8adeb215c450b1002910fecdde7.patch +++ /dev/null @@ -1,181 +0,0 @@ -From f933d5510543e8adeb215c450b1002910fecdde7 Mon Sep 17 00:00:00 2001 -From: Neal Gompa -Date: Wed, 2 Nov 2022 22:11:25 -0400 -Subject: [PATCH] dracut: Add firmware loading module - -This implements the logic for loading Apple firmware on Asahi systems -using Dracut as the initramfs system. - -Signed-off-by: Neal Gompa ---- - Makefile | 8 +++- - dracut/{ => dracut.conf.d}/10-asahi.conf | 3 ++ - .../install-asahi-firmware.sh | 12 +++++ - .../99asahi-firmware/load-asahi-firmware.sh | 47 +++++++++++++++++++ - .../99asahi-firmware/module-setup.sh | 36 ++++++++++++++ - 5 files changed, 105 insertions(+), 1 deletion(-) - rename dracut/{ => dracut.conf.d}/10-asahi.conf (91%) - create mode 100755 dracut/modules.d/99asahi-firmware/install-asahi-firmware.sh - create mode 100755 dracut/modules.d/99asahi-firmware/load-asahi-firmware.sh - create mode 100755 dracut/modules.d/99asahi-firmware/module-setup.sh - -diff --git a/Makefile b/Makefile -index 3a567e8..ae00958 100644 ---- a/Makefile -+++ b/Makefile -@@ -6,6 +6,7 @@ ARCH_SCRIPTS=update-grub first-boot - UNITS=first-boot.service - MULTI_USER_WANTS=first-boot.service - DRACUT_CONF_DIR=$(PREFIX)/lib/dracut/dracut.conf.d -+DRACUT_MODULES_DIR=$(PREFIX)/lib/dracut/modules.d - BUILD_SCRIPTS=$(addprefix build/,$(SCRIPTS)) - BUILD_ARCH_SCRIPTS=$(addprefix build/,$(ARCH_SCRIPTS)) - -@@ -26,6 +27,7 @@ install: all - install -m0644 -t $(DESTDIR)/etc etc/m1n1.conf - install -dD $(DESTDIR)$(PREFIX)/share/asahi-scripts - install -m0644 -t $(DESTDIR)$(PREFIX)/share/asahi-scripts functions.sh -+ install -dD $(DESTDIR)/lib/firmware/vendor - - install-mkinitcpio: install - install -dD $(DESTDIR)$(PREFIX)/lib/initcpio/install -@@ -35,7 +37,11 @@ install-mkinitcpio: install - - install-dracut: install - install -dD $(DESTDIR)$(DRACUT_CONF_DIR) -- install -m0644 -t $(DESTDIR)$(DRACUT_CONF_DIR) dracut/10-asahi.conf -+ install -m0644 -t $(DESTDIR)$(DRACUT_CONF_DIR) dracut/dracut.conf.d/10-asahi.conf -+ install -dD $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware -+ install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware dracut/modules.d/99asahi-firmware/install-asahi-firmware.sh -+ install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware dracut/modules.d/99asahi-firmware/load-asahi-firmware.sh -+ install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware dracut/modules.d/99asahi-firmware/module-setup.sh - - install-arch: install install-mkinitcpio - install -m0755 -t $(DESTDIR)$(BIN_DIR)/ $(BUILD_ARCH_SCRIPTS) -diff --git a/dracut/10-asahi.conf b/dracut/dracut.conf.d/10-asahi.conf -similarity index 91% -rename from dracut/10-asahi.conf -rename to dracut/dracut.conf.d/10-asahi.conf -index 229e59f..39ce98b 100644 ---- a/dracut/10-asahi.conf -+++ b/dracut/dracut.conf.d/10-asahi.conf -@@ -23,3 +23,6 @@ add_drivers+=" rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd " - - # For MTP HID - add_drivers+=" apple-dockchannel dockchannel-hid apple-rtkit-helper " -+ -+# For Apple firmware -+add_dracutmodules+=" asahi-firmware " -diff --git a/dracut/modules.d/99asahi-firmware/install-asahi-firmware.sh b/dracut/modules.d/99asahi-firmware/install-asahi-firmware.sh -new file mode 100755 -index 0000000..f903862 ---- /dev/null -+++ b/dracut/modules.d/99asahi-firmware/install-asahi-firmware.sh -@@ -0,0 +1,12 @@ -+#!/bin/sh -+# SPDX-License-Identifier: MIT -+ -+type getarg > /dev/null 2>&1 || . /lib/dracut-lib.sh -+ -+info ":: Asahi: Installing vendor firmware to root filesystem..." -+if [ ! -d /sysroot/lib/firmware/vendor ]; then -+ warn ":: Asahi: Vendor firmware directory missing on the root filesystem!" -+ return 1 -+fi -+mount -t tmpfs vendorfw /sysroot/lib/firmware/vendor -+cp -pr /vendorfw/* /vendorfw/.vendorfw.manifest /sysroot/lib/firmware/vendor -diff --git a/dracut/modules.d/99asahi-firmware/load-asahi-firmware.sh b/dracut/modules.d/99asahi-firmware/load-asahi-firmware.sh -new file mode 100755 -index 0000000..5b7f373 ---- /dev/null -+++ b/dracut/modules.d/99asahi-firmware/load-asahi-firmware.sh -@@ -0,0 +1,47 @@ -+#!/bin/sh -+# SPDX-License-Identifier: MIT -+ -+type getarg > /dev/null 2>&1 || . /lib/dracut-lib.sh -+ -+if [ -e /vendorfw ]; then -+ info ":: Asahi: Vendor firmware was loaded by the bootloader" -+ return 0 -+fi -+ -+if [ ! -e /proc/device-tree/chosen/asahi,efi-system-partition ]; then -+ info ":: Asahi: Missing asahi,efi-system-partition variable, firmware will not be loaded!" -+ return 0 -+fi -+ -+info ":: Asahi: Triggering early load of NVMe modules..." -+modprobe apple-mailbox -+modprobe nvme-apple -+ -+for i in $(seq 0 50); do -+ [ -e /sys/bus/platform/drivers/nvme-apple/*.nvme/nvme/nvme*/nvme*n1/ ] && break -+ sleep 0.1 -+done -+ -+if [ ! -e /sys/bus/platform/drivers/nvme-apple/*.nvme/nvme/nvme*/nvme*n1/ ]; then -+ warn ":: Asahi: Timed out waiting for NVMe device" -+ return 1 -+fi -+ -+# If the above exists, hopefully the /dev device exists and this will work -+info ":: Asahi: Unpacking vendor firmware into initramfs..." -+ -+VENDORFW="/run/.system-efi/vendorfw/" -+ -+( -+ . /usr/share/asahi-scripts/functions.sh -+ mount_sys_esp /run/.system-efi -+) -+ -+if [ ! -e "$VENDORFW/firmware.cpio" ]; then -+ warn ":: Asahi: Vendor firmware not found in ESP." -+ umount /run/.system-efi -+ return 1 -+fi -+ -+( cd /; cpio -i < "$VENDORFW/firmware.cpio" ) -+info ":: Asahi firmware unpacked successfully" -diff --git a/dracut/modules.d/99asahi-firmware/module-setup.sh b/dracut/modules.d/99asahi-firmware/module-setup.sh -new file mode 100755 -index 0000000..15195bf ---- /dev/null -+++ b/dracut/modules.d/99asahi-firmware/module-setup.sh -@@ -0,0 +1,36 @@ -+#!/bin/sh -+# SPDX-License-Identifier: MIT -+ -+# called by dracut -+check() { -+ if [ -n "$hostonly" ] && [ ! -e /proc/device-tree/chosen/asahi,efi-system-partition ]; then -+ return 0 -+ elif [ -z "$hostonly" ]; then -+ return 0 -+ else -+ return 255 -+ fi -+} -+ -+# called by dracut -+depends() { -+ echo fs-lib -+ return 0 -+} -+ -+# called by dracut -+installkernel() { -+ instmods apple-mailbox nvme-apple -+} -+ -+# called by dracut -+install() { -+ inst_dir "/lib/firmware" -+ ln_r "/lib/firmware/vendor" "/vendorfw" -+ asahiscriptsdir="/usr/share/asahi-scripts" -+ inst_dir $asahiscriptsdir -+ $DRACUT_CP -R -L -t "${initdir}/${asahiscriptsdir}" "${dracutsysrootdir}${asahiscriptsdir}"/* -+ inst_multiple cpio cut dirname modprobe mount seq sleep umount -+ inst_hook pre-udev 10 "${moddir}/load-asahi-firmware.sh" -+ inst_hook cleanup 99 "${moddir}/install-asahi-firmware.sh" -+} diff --git a/sources b/sources index bf6ba3f..3f7f067 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20221027.tar.gz) = c3a323820fb457dde53ceff5904e18a4f34d1e8cb7c0b85ce10a02d2693baf6dc2ba73efebed55f9a3b36d55ed073fad28aee788ecb19b66703bdb5c36566255 +SHA512 (asahi-scripts-20221122.tar.gz) = b6ac664e9c9c8b6c220004e94525faa9d4f3d2bc468f0e18f1749dc8dffc40740f302caaa95afdaca92f376a734e064ae92983d9c9ca57bec523218c0ee23b53 From 84cf42d014d4e159b66d1c5e492fbbf258855775 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Sun, 4 Dec 2022 10:12:08 -0800 Subject: [PATCH 02/52] Update to 20221129; Fixes: RHBZ#2149785 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b3298db..5328710 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /asahi-scripts-20220918.2.tar.gz /asahi-scripts-20221027.tar.gz /asahi-scripts-20221122.tar.gz +/asahi-scripts-20221129.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 3136503..805894a 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20221122 +Version: 20221129 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index 3f7f067..82b4ccd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20221122.tar.gz) = b6ac664e9c9c8b6c220004e94525faa9d4f3d2bc468f0e18f1749dc8dffc40740f302caaa95afdaca92f376a734e064ae92983d9c9ca57bec523218c0ee23b53 +SHA512 (asahi-scripts-20221129.tar.gz) = 7193a7c121abffff2c8149034255380570fdbb9ca4c6c12c48b662091d0fade0a1a3366855dc79382bb0967334d232b1b187fb32f5c7d74b1adc4358c20aa736 From 3483812dd257fa1a87e6e6eac3a41f2c8bffe6b5 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Fri, 9 Dec 2022 03:00:59 +0000 Subject: [PATCH 03/52] Update to 20221206; Fixes: RHBZ#2151445 --- .gitignore | 1 + asahi-scripts.spec | 4 +++- sources | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5328710..44a116c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /asahi-scripts-20221027.tar.gz /asahi-scripts-20221122.tar.gz /asahi-scripts-20221129.tar.gz +/asahi-scripts-20221206.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 805894a..e7c70aa 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20221129 +Version: 20221206 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux @@ -13,6 +13,7 @@ BuildArch: noarch BuildRequires: make BuildRequires: sed +Requires: bash Requires: coreutils Requires: grep Requires: sed @@ -86,6 +87,7 @@ install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 %files %license LICENSE %{_datadir}/%{name}/ +%{_sbindir}/asahi-diagnose %files -n asahi-fwextract %license LICENSE diff --git a/sources b/sources index 82b4ccd..a708605 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20221129.tar.gz) = 7193a7c121abffff2c8149034255380570fdbb9ca4c6c12c48b662091d0fade0a1a3366855dc79382bb0967334d232b1b187fb32f5c7d74b1adc4358c20aa736 +SHA512 (asahi-scripts-20221206.tar.gz) = 41cf25e6b396a935a71a5417bf1cefda0c5444e1e5e3db66a0e89863820a33e491b369964b5ca91c04686cb3e8aa9ca2ae08b679402cef7172fa8a18940b5ebc From 0cc949eba15a65f58eff73617d5c00823ff03ad1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 22:10:11 +0000 Subject: [PATCH 04/52] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 7dd1c9a2c8ec7279a033c5f20e83b1f22e6aa7c1 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Sat, 6 May 2023 15:49:06 -0700 Subject: [PATCH 05/52] Update to 20221220; Fixes: RHBZ#2155355 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 44a116c..0184451 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /asahi-scripts-20221122.tar.gz /asahi-scripts-20221129.tar.gz /asahi-scripts-20221206.tar.gz +/asahi-scripts-20221220.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index e7c70aa..d1fd566 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20221206 +Version: 20221220 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index a708605..6cc47d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20221206.tar.gz) = 41cf25e6b396a935a71a5417bf1cefda0c5444e1e5e3db66a0e89863820a33e491b369964b5ca91c04686cb3e8aa9ca2ae08b679402cef7172fa8a18940b5ebc +SHA512 (asahi-scripts-20221220.tar.gz) = da91c4e1edf1a8a7f1c0f28feed97ba1414508d1288d9c499e33f9b350dbc1acb8b972131914823e9c7cebaa67852c36c307cadab8c3630aac8ba9ddd8ee7630 From d8b114bef9340fc09c1d528094b60156fa185645 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Tue, 30 May 2023 16:56:16 -0700 Subject: [PATCH 06/52] Update to 20230530; Fixes: RHBZ#2209183 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0184451..dc003d3 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /asahi-scripts-20221129.tar.gz /asahi-scripts-20221206.tar.gz /asahi-scripts-20221220.tar.gz +/asahi-scripts-20230530.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index d1fd566..5c5c293 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20221220 +Version: 20230530 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index 6cc47d0..b0a0602 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20221220.tar.gz) = da91c4e1edf1a8a7f1c0f28feed97ba1414508d1288d9c499e33f9b350dbc1acb8b972131914823e9c7cebaa67852c36c307cadab8c3630aac8ba9ddd8ee7630 +SHA512 (asahi-scripts-20230530.tar.gz) = 8dc99c0759f9a1b9235137614d3e7c73d19be89726cf84927212cd4277507f5fea23c4819521a9023dae2bfd13ce9f9ca33860aeeb89d1024e2ef0a820fb84a2 From f589e123c0b504c62eb31058f2ef784d8cc1f25e Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Wed, 7 Jun 2023 14:18:08 -0700 Subject: [PATCH 07/52] Update to 20230606; Fixes: RHHBZ#2213093 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index dc003d3..320d3c9 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /asahi-scripts-20221206.tar.gz /asahi-scripts-20221220.tar.gz /asahi-scripts-20230530.tar.gz +/asahi-scripts-20230606.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 5c5c293..8a1e886 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20230530 +Version: 20230606 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index b0a0602..137ef17 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20230530.tar.gz) = 8dc99c0759f9a1b9235137614d3e7c73d19be89726cf84927212cd4277507f5fea23c4819521a9023dae2bfd13ce9f9ca33860aeeb89d1024e2ef0a820fb84a2 +SHA512 (asahi-scripts-20230606.tar.gz) = 0cd0900025951296ead5671dfc93a415f281cf0fb58c8ed883924f711b3ad0f2e5b2eb849e5d22a808fe683cdcb327c30439eae1dd403f5a00bae205f9b3d76c From 695f66dc6a1dc5c5ec702fb06b0dfda4e681757b Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Wed, 7 Jun 2023 14:36:02 -0700 Subject: [PATCH 08/52] Rename asahi-fwextract to asahi-fwupdate to match upstream --- asahi-scripts.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 8a1e886..cfb9853 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -23,14 +23,16 @@ Requires: util-linux-core This package contains miscellaneous admin scripts for the Asahi Linux reference distro. -%package -n asahi-fwextract +%package -n asahi-fwupdate Summary: Asahi Linux firmware extractor Requires: %{name} = %{version}-%{release} -Requires: python3dist(asahi-firmware) +Requires: python3dist(asahi-firmware) >= 0.5.4 +Provides: asahi-fwextract = %{version}-%{release} +Obsoletes: asahi-fwextract < 20230530-2 -%description -n asahi-fwextract -Asahi Linux firmware extractor. +%description -n asahi-fwupdate +Asahi Linux firmware updater. %package -n dracut-asahi Summary: Dracut config for Apple Silicon Macs @@ -89,9 +91,9 @@ install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 %{_datadir}/%{name}/ %{_sbindir}/asahi-diagnose -%files -n asahi-fwextract +%files -n asahi-fwupdate %license LICENSE -%{_sbindir}/asahi-fwextract +%{_sbindir}/asahi-fwupdate %files -n dracut-asahi %license LICENSE From 2e39d0ebfc47984bc5975b4681afc7eb401639bc Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Thu, 8 Jun 2023 10:02:33 -0700 Subject: [PATCH 09/52] Fix Requires for asahi-fwupdate --- asahi-scripts.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index cfb9853..1f49822 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -27,7 +27,8 @@ distro. Summary: Asahi Linux firmware extractor Requires: %{name} = %{version}-%{release} -Requires: python3dist(asahi-firmware) >= 0.5.4 +# Not using python3dist(asahi-firmware) because its version is fixed +Requires: python3-asahi_firmware >= 0.5.4 Provides: asahi-fwextract = %{version}-%{release} Obsoletes: asahi-fwextract < 20230530-2 From efb07d58b33bf359c902389b84be620d09cf4f40 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Fri, 9 Jun 2023 09:10:17 -0700 Subject: [PATCH 10/52] Add trigger for asahi-fwupdate --- asahi-scripts.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 1f49822..b4aaf6f 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -84,6 +84,9 @@ Keep m1n1 up to date on Apple Silicon systems. install -Ddpm0755 %{buildroot}%{_prefix}/lib/firmware/vendor install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 +%transfiletriggerin -n asahi-fwupdate -- %{_sbindir}/asahi-fwupdate +%{_sbindir}/asahi-fwupdate || : + %transfiletriggerin -n update-m1n1 -- %{_libdir}/m1n1 %{_datadir}/uboot/apple_m1 /boot/dtb- %{_sbindir}/update-m1n1 || : From 42d00c5dcbea88e9101484c7566e100e54d59615 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Sun, 18 Jun 2023 18:06:29 +0200 Subject: [PATCH 11/52] Expand fwupdate trigger to fire on fwextract updates --- asahi-scripts.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index b4aaf6f..f77f275 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -84,7 +84,7 @@ Keep m1n1 up to date on Apple Silicon systems. install -Ddpm0755 %{buildroot}%{_prefix}/lib/firmware/vendor install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 -%transfiletriggerin -n asahi-fwupdate -- %{_sbindir}/asahi-fwupdate +%transfiletriggerin -n asahi-fwupdate -- %{_sbindir}/asahi-fwupdate %{_bindir}/asahi-fwextract %{python3_sitearch}/asahi-firmware %{_sbindir}/asahi-fwupdate || : %transfiletriggerin -n update-m1n1 -- %{_libdir}/m1n1 %{_datadir}/uboot/apple_m1 /boot/dtb- From 4967ed0c719b1a7007d6b69026462db8e5ea2421 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 13:48:21 +0000 Subject: [PATCH 12/52] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 5dd80aff06afbc12200f279ee50b1d62779c965f Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Mon, 24 Jul 2023 15:16:22 -0700 Subject: [PATCH 13/52] Use stable dtbs path to always pick the latest --- asahi-scripts.spec | 2 +- update-m1n1.sysconfig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index f77f275..b72106f 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -87,7 +87,7 @@ install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 %transfiletriggerin -n asahi-fwupdate -- %{_sbindir}/asahi-fwupdate %{_bindir}/asahi-fwextract %{python3_sitearch}/asahi-firmware %{_sbindir}/asahi-fwupdate || : -%transfiletriggerin -n update-m1n1 -- %{_libdir}/m1n1 %{_datadir}/uboot/apple_m1 /boot/dtb- +%transfiletriggerin -n update-m1n1 -- %{_libdir}/m1n1 %{_datadir}/uboot/apple_m1 /boot/dtb/apple %{_sbindir}/update-m1n1 || : %files diff --git a/update-m1n1.sysconfig b/update-m1n1.sysconfig index 6d440e5..c3cc360 100644 --- a/update-m1n1.sysconfig +++ b/update-m1n1.sysconfig @@ -1,3 +1,3 @@ M1N1="/usr/lib64/m1n1/m1n1.bin" U_BOOT="/usr/share/uboot/apple_m1/u-boot-nodtb.bin" -DTBS=/boot/dtb-*/apple/* +DTBS=/boot/dtb/apple/* From 49e166feb1798ceba3e5da3f66b6e1c106955a01 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Sun, 30 Jul 2023 10:17:43 -0400 Subject: [PATCH 14/52] Revert "Use stable dtbs path to always pick the latest" This breaks the upgrade path in practice. It does not fire correctly because /boot/dtb is a symlink and does not actually contain files. This partly reverts commit 5dd80aff06afbc12200f279ee50b1d62779c965f. --- asahi-scripts.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index b72106f..f77f275 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -87,7 +87,7 @@ install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 %transfiletriggerin -n asahi-fwupdate -- %{_sbindir}/asahi-fwupdate %{_bindir}/asahi-fwextract %{python3_sitearch}/asahi-firmware %{_sbindir}/asahi-fwupdate || : -%transfiletriggerin -n update-m1n1 -- %{_libdir}/m1n1 %{_datadir}/uboot/apple_m1 /boot/dtb/apple +%transfiletriggerin -n update-m1n1 -- %{_libdir}/m1n1 %{_datadir}/uboot/apple_m1 /boot/dtb- %{_sbindir}/update-m1n1 || : %files From 3b58fb7eaa651161c345cc320a1c2f0d4a4682b9 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Thu, 3 Aug 2023 10:26:06 +0100 Subject: [PATCH 15/52] Rework and fix file triggers --- asahi-scripts.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index f77f275..ff4d450 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -84,10 +84,15 @@ Keep m1n1 up to date on Apple Silicon systems. install -Ddpm0755 %{buildroot}%{_prefix}/lib/firmware/vendor install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 -%transfiletriggerin -n asahi-fwupdate -- %{_sbindir}/asahi-fwupdate %{_bindir}/asahi-fwextract %{python3_sitearch}/asahi-firmware +%transfiletriggerin -n asahi-fwupdate -- %{_sbindir}/asahi-fwupdate %{_bindir}/asahi-fwextract %{_sbindir}/asahi-fwupdate || : -%transfiletriggerin -n update-m1n1 -- %{_libdir}/m1n1 %{_datadir}/uboot/apple_m1 /boot/dtb- +# This needs to be a separate trigger because we can't use python3_sitearch here +%transfiletriggerin -n asahi-fwupdate -- /usr/lib/python +grep "asahi-firmware" && %{_sbindir}/asahi-fwupdate || : + +# We can't use _libdir here because it gets incorrectly expanded to /usr/lib +%transfiletriggerin -n update-m1n1 -- /usr/lib/m1n1 /usr/lib64/m1n1 /usr/share/uboot/apple_m1 /boot/dtb- %{_sbindir}/update-m1n1 || : %files From bbfbd001756d84b14bcd1463cc7047b8ccb69a4c Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Mon, 21 Aug 2023 07:48:59 -0700 Subject: [PATCH 16/52] Update to 20230821 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 320d3c9..ddc5dfd 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /asahi-scripts-20221220.tar.gz /asahi-scripts-20230530.tar.gz /asahi-scripts-20230606.tar.gz +/asahi-scripts-20230821.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index ff4d450..5f60381 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20230606 +Version: 20230821 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index 137ef17..9b2b80c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20230606.tar.gz) = 0cd0900025951296ead5671dfc93a415f281cf0fb58c8ed883924f711b3ad0f2e5b2eb849e5d22a808fe683cdcb327c30439eae1dd403f5a00bae205f9b3d76c +SHA512 (asahi-scripts-20230821.tar.gz) = 90e25f476f6b128742650c4809537ae45666071e611ea47484c1c1e05ac6681ae8e0bf7b6d26ea95ccc292666c8810c0c377a416b31e7d6b22e437fbc1ef23a3 From 21dad697e219e8437dcc09066f4103d46afcc4e7 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Wed, 11 Oct 2023 16:25:43 -0700 Subject: [PATCH 17/52] Fix trigger for asahi-fwupdate --- asahi-scripts.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 5f60381..f3b6509 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -89,7 +89,7 @@ install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 # This needs to be a separate trigger because we can't use python3_sitearch here %transfiletriggerin -n asahi-fwupdate -- /usr/lib/python -grep "asahi-firmware" && %{_sbindir}/asahi-fwupdate || : +grep -q 'asahi_firmware' && %{_sbindir}/asahi-fwupdate || : # We can't use _libdir here because it gets incorrectly expanded to /usr/lib %transfiletriggerin -n update-m1n1 -- /usr/lib/m1n1 /usr/lib64/m1n1 /usr/share/uboot/apple_m1 /boot/dtb- From d515f8386d708712ffe16d1552e77c97fcb6eb6f Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Sun, 17 Dec 2023 22:15:46 +0900 Subject: [PATCH 18/52] Update to 20231217 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ddc5dfd..08130ed 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /asahi-scripts-20230530.tar.gz /asahi-scripts-20230606.tar.gz /asahi-scripts-20230821.tar.gz +/asahi-scripts-20231217.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index f3b6509..5841496 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20230821 +Version: 20231217 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index 9b2b80c..a5c9a56 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20230821.tar.gz) = 90e25f476f6b128742650c4809537ae45666071e611ea47484c1c1e05ac6681ae8e0bf7b6d26ea95ccc292666c8810c0c377a416b31e7d6b22e437fbc1ef23a3 +SHA512 (asahi-scripts-20231217.tar.gz) = 1f94ad2b2c1b6bdb0ac0b688802ff1bc7a500c0da19bd4162fffde8ac1d926dc0102b9c074d43fffbf7fb5dd207b0052363e68130dd7855469385c26e37d3644 From 572a1c3ac1af8d90661b17ffbd892190ecaef73a Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Sun, 17 Dec 2023 22:45:39 +0900 Subject: [PATCH 19/52] Update to 20231218 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 08130ed..2faa489 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /asahi-scripts-20230606.tar.gz /asahi-scripts-20230821.tar.gz /asahi-scripts-20231217.tar.gz +/asahi-scripts-20231218.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 5841496..f9d8ba4 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20231217 +Version: 20231218 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index a5c9a56..ada7535 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20231217.tar.gz) = 1f94ad2b2c1b6bdb0ac0b688802ff1bc7a500c0da19bd4162fffde8ac1d926dc0102b9c074d43fffbf7fb5dd207b0052363e68130dd7855469385c26e37d3644 +SHA512 (asahi-scripts-20231218.tar.gz) = 4ff8bd57b6bf4b369d3c5ee8831abf6bbbf5fb0df66d3bdf5555d738ea32d08760f7338f982630b175cffc527e674b80785118a804cc3085e49dd74dbf29fbfe From 3d211eaaea69207bd1a46a013b5330f66a733d1e Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Tue, 19 Dec 2023 19:06:53 +0900 Subject: [PATCH 20/52] Update to 20231219 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2faa489..a319149 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /asahi-scripts-20230821.tar.gz /asahi-scripts-20231217.tar.gz /asahi-scripts-20231218.tar.gz +/asahi-scripts-20231219.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index f9d8ba4..1aa9c86 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20231218 +Version: 20231219 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index ada7535..574c5a9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20231218.tar.gz) = 4ff8bd57b6bf4b369d3c5ee8831abf6bbbf5fb0df66d3bdf5555d738ea32d08760f7338f982630b175cffc527e674b80785118a804cc3085e49dd74dbf29fbfe +SHA512 (asahi-scripts-20231219.tar.gz) = 656e0651d9cc12ec4d66d853fca137de85004105598f65990872a79051d25713e1c4cfec3547328b5447509001730fcd46c31995a553f361f89ad5042e1af924 From e3c72c4134699288e0aa509d6e337fcc664d9dc8 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Tue, 19 Dec 2023 19:47:18 +0900 Subject: [PATCH 21/52] Update to 20231219.1 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a319149..1025095 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /asahi-scripts-20231217.tar.gz /asahi-scripts-20231218.tar.gz /asahi-scripts-20231219.tar.gz +/asahi-scripts-20231219.1.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 1aa9c86..1214508 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20231219 +Version: 20231219.1 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index 574c5a9..7d9b1d4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20231219.tar.gz) = 656e0651d9cc12ec4d66d853fca137de85004105598f65990872a79051d25713e1c4cfec3547328b5447509001730fcd46c31995a553f361f89ad5042e1af924 +SHA512 (asahi-scripts-20231219.1.tar.gz) = ab4462bd8b98558f57a1edb4ac9fb21535e6a2b8396f6774a3ea1160ad2de4f64ffb65a93d08e6112ea2d90050a1a368fd32d8a6e5b0d7a545961c57ac9d0639 From d10ec15f5d222ee6ef2361f69b6799b27e8f1cb3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 13:35:52 +0000 Subject: [PATCH 22/52] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 19f08549618a879016729f5acb7cde60dc011a54 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 23:29:48 +0000 Subject: [PATCH 23/52] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 8126e283989f2e348748528aa0df80eb034fe9db Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Thu, 11 Apr 2024 09:23:33 +0200 Subject: [PATCH 24/52] Update to 20240411 Fixes: RHBZ#2245220 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1025095..0f90e46 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /asahi-scripts-20231218.tar.gz /asahi-scripts-20231219.tar.gz /asahi-scripts-20231219.1.tar.gz +/asahi-scripts-20240411.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 1214508..98a1012 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20231219.1 +Version: 20240411 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index 7d9b1d4..dcf0d53 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20231219.1.tar.gz) = ab4462bd8b98558f57a1edb4ac9fb21535e6a2b8396f6774a3ea1160ad2de4f64ffb65a93d08e6112ea2d90050a1a368fd32d8a6e5b0d7a545961c57ac9d0639 +SHA512 (asahi-scripts-20240411.tar.gz) = 7757a929de535c0c506655daa03cce2d34c2608bd3a2d012772e6de0c1e5a9cae5717b421fecc54c66a44c3983535013116ba1205c7555eed6bb58f958c46e17 From 1a04eb849b488576fe00565ed07bba8d1d098bbb Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Wed, 24 Apr 2024 19:35:49 +0200 Subject: [PATCH 25/52] Add dracut kernel mod robustness patches https://github.com/AsahiLinux/asahi-scripts/pull/45 --- ...f-Use-drivers-instead-of-add_drivers.patch | 62 +++++++++++++++++++ ...ude-i2c-apple-as-installed-kernel-mo.patch | 32 ++++++++++ ...additional-drivers-for-M2-HDMI-displ.patch | 28 +++++++++ asahi-scripts.spec | 5 ++ 4 files changed, 127 insertions(+) create mode 100644 0001-dracut-conf-Use-drivers-instead-of-add_drivers.patch create mode 100644 0002-dracut-conf-Include-i2c-apple-as-installed-kernel-mo.patch create mode 100644 0003-dracut-conf-Add-additional-drivers-for-M2-HDMI-displ.patch diff --git a/0001-dracut-conf-Use-drivers-instead-of-add_drivers.patch b/0001-dracut-conf-Use-drivers-instead-of-add_drivers.patch new file mode 100644 index 0000000..d976468 --- /dev/null +++ b/0001-dracut-conf-Use-drivers-instead-of-add_drivers.patch @@ -0,0 +1,62 @@ +From 3409a3f32b1eaeedbcec6dfca8026288c2da22e5 Mon Sep 17 00:00:00 2001 +From: Janne Grunau +Date: Wed, 24 Apr 2024 19:06:31 +0200 +Subject: [PATCH 1/3] dracut: conf: Use "drivers" instead of "add_drivers" + +The only difference between those to variables is that "add_drivers" +checks for the existance of the module and fails to process further +modules. This is however just logged and not a fatal error for the +initramfs creation. So the verification is worse than useless. +No verification is done for 'drivers' so we can use that even to handle +the i2c module rename in Linux 6.8.6. + +Fixes: f444f0a ("dracut: conf: Fix i2c module name") +Signed-off-by: Janne Grunau +--- + dracut/dracut.conf.d/10-asahi.conf | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/dracut/dracut.conf.d/10-asahi.conf b/dracut/dracut.conf.d/10-asahi.conf +index 8be5f83..215b186 100644 +--- a/dracut/dracut.conf.d/10-asahi.conf ++++ b/dracut/dracut.conf.d/10-asahi.conf +@@ -1,28 +1,28 @@ + # Modules necessary for using Linux on Apple Silicon Macs + + # For NVMe & SMC +-add_drivers+=" apple-mailbox " ++drivers+=" apple-mailbox " + + # For NVMe +-add_drivers+=" nvme_apple " ++drivers+=" nvme_apple " + + # For USB and HID +-add_drivers+=" pinctrl-apple-gpio " ++drivers+=" pinctrl-apple-gpio " + + # SMC core +-add_drivers+=" macsmc macsmc-rtkit " ++drivers+=" macsmc macsmc-rtkit " + + # For USB +-add_drivers+=" i2c-pasemi-platform tps6598x apple-dart dwc3 dwc3-of-simple nvmem-apple-efuses phy-apple-atc xhci-plat-hcd xhci-pci pcie-apple gpio_macsmc " ++drivers+=" i2c-pasemi-platform tps6598x apple-dart dwc3 dwc3-of-simple nvmem-apple-efuses phy-apple-atc xhci-plat-hcd xhci-pci pcie-apple gpio_macsmc " + + # For HID +-add_drivers+=" spi-apple spi-hid-apple spi-hid-apple-of " ++drivers+=" spi-apple spi-hid-apple spi-hid-apple-of " + + # For RTC +-add_drivers+=" rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd " ++drivers+=" rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd " + + # For MTP HID +-add_drivers+=" apple-dockchannel dockchannel-hid apple-rtkit-helper " ++drivers+=" apple-dockchannel dockchannel-hid apple-rtkit-helper " + + # dwc3 instantiates xHCI asynchronously. To make things like init=/bin/sh work where udev is no longer running, force load this one. + force_drivers+=" xhci-plat-hcd " +-- +2.44.0 + diff --git a/0002-dracut-conf-Include-i2c-apple-as-installed-kernel-mo.patch b/0002-dracut-conf-Include-i2c-apple-as-installed-kernel-mo.patch new file mode 100644 index 0000000..963349c --- /dev/null +++ b/0002-dracut-conf-Include-i2c-apple-as-installed-kernel-mo.patch @@ -0,0 +1,32 @@ +From aad5e9f8a98e62ec19761e9685797f24713c2c21 Mon Sep 17 00:00:00 2001 +From: Janne Grunau +Date: Wed, 24 Apr 2024 19:14:07 +0200 +Subject: [PATCH 2/3] dracut: conf: Include i2c-apple as installed kernel + module + +Now that kernel modules are optional we can include both i2c-apple and +i2c-pasemi-platform. + +Fixes: f444f0a ("dracut: conf: Fix i2c module name") +Signed-off-by: Janne Grunau +--- + dracut/dracut.conf.d/10-asahi.conf | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/dracut/dracut.conf.d/10-asahi.conf b/dracut/dracut.conf.d/10-asahi.conf +index 215b186..f7f0bb0 100644 +--- a/dracut/dracut.conf.d/10-asahi.conf ++++ b/dracut/dracut.conf.d/10-asahi.conf +@@ -13,7 +13,8 @@ drivers+=" pinctrl-apple-gpio " + drivers+=" macsmc macsmc-rtkit " + + # For USB +-drivers+=" i2c-pasemi-platform tps6598x apple-dart dwc3 dwc3-of-simple nvmem-apple-efuses phy-apple-atc xhci-plat-hcd xhci-pci pcie-apple gpio_macsmc " ++# add both i2c-apple and i2c-pasemi-platform since Linux 6.8 renamed the module ++drivers+=" i2c-apple i2c-pasemi-platform tps6598x apple-dart dwc3 dwc3-of-simple nvmem-apple-efuses phy-apple-atc xhci-plat-hcd xhci-pci pcie-apple gpio_macsmc " + + # For HID + drivers+=" spi-apple spi-hid-apple spi-hid-apple-of " +-- +2.44.0 + diff --git a/0003-dracut-conf-Add-additional-drivers-for-M2-HDMI-displ.patch b/0003-dracut-conf-Add-additional-drivers-for-M2-HDMI-displ.patch new file mode 100644 index 0000000..dc3bcd6 --- /dev/null +++ b/0003-dracut-conf-Add-additional-drivers-for-M2-HDMI-displ.patch @@ -0,0 +1,28 @@ +From 3e2d9b9adfd83fa3ee6b8ff66266893cd06e7d68 Mon Sep 17 00:00:00 2001 +From: Janne Grunau +Date: Wed, 24 Apr 2024 19:20:39 +0200 +Subject: [PATCH 3/3] dracut: conf: Add additional drivers for M2* HDMI + displays + +Signed-off-by: Janne Grunau +--- + dracut/dracut.conf.d/10-asahi.conf | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/dracut/dracut.conf.d/10-asahi.conf b/dracut/dracut.conf.d/10-asahi.conf +index f7f0bb0..c2e5b4d 100644 +--- a/dracut/dracut.conf.d/10-asahi.conf ++++ b/dracut/dracut.conf.d/10-asahi.conf +@@ -25,6 +25,9 @@ drivers+=" rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd " + # For MTP HID + drivers+=" apple-dockchannel dockchannel-hid apple-rtkit-helper " + ++# For display (DPTX and DP audio) ++drivers+=" mux-apple-display-crossbar phy-apple-dptx apple-sio " ++ + # dwc3 instantiates xHCI asynchronously. To make things like init=/bin/sh work where udev is no longer running, force load this one. + force_drivers+=" xhci-plat-hcd " + +-- +2.44.0 + diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 98a1012..ab9c94e 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -8,6 +8,11 @@ URL: https://github.com/AsahiLinux/asahi-scripts Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Source: update-m1n1.sysconfig +# Patches to make dracut's kernel module handling robust against missing modules +Patch01: 0001-dracut-conf-Use-drivers-instead-of-add_drivers.patch +Patch02: 0002-dracut-conf-Include-i2c-apple-as-installed-kernel-mo.patch +Patch03: 0003-dracut-conf-Add-additional-drivers-for-M2-HDMI-displ.patch + BuildArch: noarch BuildRequires: make From 584aefbe3583d7d095fe3a5e28bf099e13c040f0 Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Thu, 25 Apr 2024 00:17:50 +0200 Subject: [PATCH 26/52] Add dracut kernel mod robustness patches, try 2 https://github.com/AsahiLinux/asahi-scripts/pull/46 --- ...e-for-asahio-specific-kernel-modules.patch | 126 ++++++++++++++++++ ...f-Use-drivers-instead-of-add_drivers.patch | 62 --------- ...ude-i2c-apple-as-installed-kernel-mo.patch | 32 ----- ...additional-drivers-for-M2-HDMI-displ.patch | 28 ---- asahi-scripts.spec | 7 +- 5 files changed, 129 insertions(+), 126 deletions(-) create mode 100644 0001-dracut-Add-module-for-asahio-specific-kernel-modules.patch delete mode 100644 0001-dracut-conf-Use-drivers-instead-of-add_drivers.patch delete mode 100644 0002-dracut-conf-Include-i2c-apple-as-installed-kernel-mo.patch delete mode 100644 0003-dracut-conf-Add-additional-drivers-for-M2-HDMI-displ.patch diff --git a/0001-dracut-Add-module-for-asahio-specific-kernel-modules.patch b/0001-dracut-Add-module-for-asahio-specific-kernel-modules.patch new file mode 100644 index 0000000..301982f --- /dev/null +++ b/0001-dracut-Add-module-for-asahio-specific-kernel-modules.patch @@ -0,0 +1,126 @@ +From 5f2e045c6e7000f475ea9918d39355007053e5df Mon Sep 17 00:00:00 2001 +From: Janne Grunau +Date: Thu, 25 Apr 2024 00:07:45 +0200 +Subject: [PATCH 1/1] dracut: Add module for asahio specific kernel modules + +The config based kernel module handling unfortunately fails with missing +drivers as the handling of `add_drivers` gives up on the first missing +kernel module, prints an error message but carries on to create a +initramfs with missing modules. +Use our own module to call `instmod` without "-c" to avoid checks. + +Signed-off-by: Janne Grunau +--- + Makefile | 2 + + dracut/dracut.conf.d/10-asahi.conf | 28 ++--------- + .../91kernel-modules-asahi/module-setup.sh | 46 +++++++++++++++++++ + 3 files changed, 51 insertions(+), 25 deletions(-) + create mode 100644 dracut/modules.d/91kernel-modules-asahi/module-setup.sh + +diff --git a/Makefile b/Makefile +index 72b016f..ff4de6c 100644 +--- a/Makefile ++++ b/Makefile +@@ -39,6 +39,8 @@ install-mkinitcpio: install + install-dracut: install + install -dD $(DESTDIR)$(DRACUT_CONF_DIR) + install -m0644 -t $(DESTDIR)$(DRACUT_CONF_DIR) dracut/dracut.conf.d/10-asahi.conf ++ install -dD $(DESTDIR)$(DRACUT_MODULES_DIR)/91kernel-modules-asahi ++ install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/91kernel-modules-asahi dracut/modules.d/91kernel-modules-asahi/module-setup.sh + install -dD $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware + install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware dracut/modules.d/99asahi-firmware/install-asahi-firmware.sh + install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware dracut/modules.d/99asahi-firmware/load-asahi-firmware.sh +diff --git a/dracut/dracut.conf.d/10-asahi.conf b/dracut/dracut.conf.d/10-asahi.conf +index 8be5f83..13cdd54 100644 +--- a/dracut/dracut.conf.d/10-asahi.conf ++++ b/dracut/dracut.conf.d/10-asahi.conf +@@ -1,31 +1,9 @@ + # Modules necessary for using Linux on Apple Silicon Macs +- +-# For NVMe & SMC +-add_drivers+=" apple-mailbox " +- +-# For NVMe +-add_drivers+=" nvme_apple " +- +-# For USB and HID +-add_drivers+=" pinctrl-apple-gpio " +- +-# SMC core +-add_drivers+=" macsmc macsmc-rtkit " +- +-# For USB +-add_drivers+=" i2c-pasemi-platform tps6598x apple-dart dwc3 dwc3-of-simple nvmem-apple-efuses phy-apple-atc xhci-plat-hcd xhci-pci pcie-apple gpio_macsmc " +- +-# For HID +-add_drivers+=" spi-apple spi-hid-apple spi-hid-apple-of " +- +-# For RTC +-add_drivers+=" rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd " +- +-# For MTP HID +-add_drivers+=" apple-dockchannel dockchannel-hid apple-rtkit-helper " ++# are handled in the module kernel-modules-asahi since add_drivers can't ++# handle missing modules + + # dwc3 instantiates xHCI asynchronously. To make things like init=/bin/sh work where udev is no longer running, force load this one. + force_drivers+=" xhci-plat-hcd " + + # For Apple firmware +-add_dracutmodules+=" asahi-firmware " ++add_dracutmodules+=" asahi-firmware kernel-modules-asahi " +diff --git a/dracut/modules.d/91kernel-modules-asahi/module-setup.sh b/dracut/modules.d/91kernel-modules-asahi/module-setup.sh +new file mode 100644 +index 0000000..8e27b3c +--- /dev/null ++++ b/dracut/modules.d/91kernel-modules-asahi/module-setup.sh +@@ -0,0 +1,46 @@ ++#!/bin/bash ++ ++# called by dracut ++installkernel() { ++ # For NVMe & SMC ++ hostonly='' instmods apple-mailbox ++ ++ # For NVMe ++ hostonly='' instmods nvme_apple ++ ++ # For USB and HID ++ hostonly='' instmods pinctrl-apple-gpio ++ ++ # SMC core ++ hostonly='' instmods macsmc macsmc-rtkit ++ ++ # For USB ++ hostonly='' instmods \ ++ i2c-apple \ ++ i2c-pasemi-platform \ ++ tps6598x \ ++ apple-dart \ ++ dwc3 \ ++ dwc3-of-simple \ ++ nvmem-apple-efuses \ ++ phy-apple-atc \ ++ xhci-plat-hcd \ ++ xhci-pci \ ++ pcie-apple \ ++ gpio_macsmc ++ ++ # For RTC ++ hostonly='' instmods rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd ++ ++ # For HID ++ hostonly='' instmods spi-apple spi-hid-apple spi-hid-apple-of ++ ++ # For MTP HID ++ hostonly='' instmods apple-dockchannel dockchannel-hid apple-rtkit-helper ++ ++ # For DP / HDMI audio ++ hostonly='' instmods apple-sio ++ ++ # For DPTX and HDMI displays ++ hostonly='' instmods mux-apple-display-crossbar phy-apple-dptx ++} +-- +2.44.0 + diff --git a/0001-dracut-conf-Use-drivers-instead-of-add_drivers.patch b/0001-dracut-conf-Use-drivers-instead-of-add_drivers.patch deleted file mode 100644 index d976468..0000000 --- a/0001-dracut-conf-Use-drivers-instead-of-add_drivers.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 3409a3f32b1eaeedbcec6dfca8026288c2da22e5 Mon Sep 17 00:00:00 2001 -From: Janne Grunau -Date: Wed, 24 Apr 2024 19:06:31 +0200 -Subject: [PATCH 1/3] dracut: conf: Use "drivers" instead of "add_drivers" - -The only difference between those to variables is that "add_drivers" -checks for the existance of the module and fails to process further -modules. This is however just logged and not a fatal error for the -initramfs creation. So the verification is worse than useless. -No verification is done for 'drivers' so we can use that even to handle -the i2c module rename in Linux 6.8.6. - -Fixes: f444f0a ("dracut: conf: Fix i2c module name") -Signed-off-by: Janne Grunau ---- - dracut/dracut.conf.d/10-asahi.conf | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/dracut/dracut.conf.d/10-asahi.conf b/dracut/dracut.conf.d/10-asahi.conf -index 8be5f83..215b186 100644 ---- a/dracut/dracut.conf.d/10-asahi.conf -+++ b/dracut/dracut.conf.d/10-asahi.conf -@@ -1,28 +1,28 @@ - # Modules necessary for using Linux on Apple Silicon Macs - - # For NVMe & SMC --add_drivers+=" apple-mailbox " -+drivers+=" apple-mailbox " - - # For NVMe --add_drivers+=" nvme_apple " -+drivers+=" nvme_apple " - - # For USB and HID --add_drivers+=" pinctrl-apple-gpio " -+drivers+=" pinctrl-apple-gpio " - - # SMC core --add_drivers+=" macsmc macsmc-rtkit " -+drivers+=" macsmc macsmc-rtkit " - - # For USB --add_drivers+=" i2c-pasemi-platform tps6598x apple-dart dwc3 dwc3-of-simple nvmem-apple-efuses phy-apple-atc xhci-plat-hcd xhci-pci pcie-apple gpio_macsmc " -+drivers+=" i2c-pasemi-platform tps6598x apple-dart dwc3 dwc3-of-simple nvmem-apple-efuses phy-apple-atc xhci-plat-hcd xhci-pci pcie-apple gpio_macsmc " - - # For HID --add_drivers+=" spi-apple spi-hid-apple spi-hid-apple-of " -+drivers+=" spi-apple spi-hid-apple spi-hid-apple-of " - - # For RTC --add_drivers+=" rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd " -+drivers+=" rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd " - - # For MTP HID --add_drivers+=" apple-dockchannel dockchannel-hid apple-rtkit-helper " -+drivers+=" apple-dockchannel dockchannel-hid apple-rtkit-helper " - - # dwc3 instantiates xHCI asynchronously. To make things like init=/bin/sh work where udev is no longer running, force load this one. - force_drivers+=" xhci-plat-hcd " --- -2.44.0 - diff --git a/0002-dracut-conf-Include-i2c-apple-as-installed-kernel-mo.patch b/0002-dracut-conf-Include-i2c-apple-as-installed-kernel-mo.patch deleted file mode 100644 index 963349c..0000000 --- a/0002-dracut-conf-Include-i2c-apple-as-installed-kernel-mo.patch +++ /dev/null @@ -1,32 +0,0 @@ -From aad5e9f8a98e62ec19761e9685797f24713c2c21 Mon Sep 17 00:00:00 2001 -From: Janne Grunau -Date: Wed, 24 Apr 2024 19:14:07 +0200 -Subject: [PATCH 2/3] dracut: conf: Include i2c-apple as installed kernel - module - -Now that kernel modules are optional we can include both i2c-apple and -i2c-pasemi-platform. - -Fixes: f444f0a ("dracut: conf: Fix i2c module name") -Signed-off-by: Janne Grunau ---- - dracut/dracut.conf.d/10-asahi.conf | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/dracut/dracut.conf.d/10-asahi.conf b/dracut/dracut.conf.d/10-asahi.conf -index 215b186..f7f0bb0 100644 ---- a/dracut/dracut.conf.d/10-asahi.conf -+++ b/dracut/dracut.conf.d/10-asahi.conf -@@ -13,7 +13,8 @@ drivers+=" pinctrl-apple-gpio " - drivers+=" macsmc macsmc-rtkit " - - # For USB --drivers+=" i2c-pasemi-platform tps6598x apple-dart dwc3 dwc3-of-simple nvmem-apple-efuses phy-apple-atc xhci-plat-hcd xhci-pci pcie-apple gpio_macsmc " -+# add both i2c-apple and i2c-pasemi-platform since Linux 6.8 renamed the module -+drivers+=" i2c-apple i2c-pasemi-platform tps6598x apple-dart dwc3 dwc3-of-simple nvmem-apple-efuses phy-apple-atc xhci-plat-hcd xhci-pci pcie-apple gpio_macsmc " - - # For HID - drivers+=" spi-apple spi-hid-apple spi-hid-apple-of " --- -2.44.0 - diff --git a/0003-dracut-conf-Add-additional-drivers-for-M2-HDMI-displ.patch b/0003-dracut-conf-Add-additional-drivers-for-M2-HDMI-displ.patch deleted file mode 100644 index dc3bcd6..0000000 --- a/0003-dracut-conf-Add-additional-drivers-for-M2-HDMI-displ.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3e2d9b9adfd83fa3ee6b8ff66266893cd06e7d68 Mon Sep 17 00:00:00 2001 -From: Janne Grunau -Date: Wed, 24 Apr 2024 19:20:39 +0200 -Subject: [PATCH 3/3] dracut: conf: Add additional drivers for M2* HDMI - displays - -Signed-off-by: Janne Grunau ---- - dracut/dracut.conf.d/10-asahi.conf | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/dracut/dracut.conf.d/10-asahi.conf b/dracut/dracut.conf.d/10-asahi.conf -index f7f0bb0..c2e5b4d 100644 ---- a/dracut/dracut.conf.d/10-asahi.conf -+++ b/dracut/dracut.conf.d/10-asahi.conf -@@ -25,6 +25,9 @@ drivers+=" rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd " - # For MTP HID - drivers+=" apple-dockchannel dockchannel-hid apple-rtkit-helper " - -+# For display (DPTX and DP audio) -+drivers+=" mux-apple-display-crossbar phy-apple-dptx apple-sio " -+ - # dwc3 instantiates xHCI asynchronously. To make things like init=/bin/sh work where udev is no longer running, force load this one. - force_drivers+=" xhci-plat-hcd " - --- -2.44.0 - diff --git a/asahi-scripts.spec b/asahi-scripts.spec index ab9c94e..72a76e6 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -8,10 +8,8 @@ URL: https://github.com/AsahiLinux/asahi-scripts Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Source: update-m1n1.sysconfig -# Patches to make dracut's kernel module handling robust against missing modules -Patch01: 0001-dracut-conf-Use-drivers-instead-of-add_drivers.patch -Patch02: 0002-dracut-conf-Include-i2c-apple-as-installed-kernel-mo.patch -Patch03: 0003-dracut-conf-Add-additional-drivers-for-M2-HDMI-displ.patch +# Patch to make dracut's kernel module handling robust against missing modules +Patch01: 0001-dracut-Add-module-for-asahio-specific-kernel-modules.patch BuildArch: noarch @@ -112,6 +110,7 @@ grep -q 'asahi_firmware' && %{_sbindir}/asahi-fwupdate || : %files -n dracut-asahi %license LICENSE %{_prefix}/lib/dracut/dracut.conf.d/10-asahi.conf +%{_prefix}/lib/dracut/modules.d/91kernel-modules-asahi/ %{_prefix}/lib/dracut/modules.d/99asahi-firmware/ %files -n linux-firmware-vendor From 4d865a3049eb1bb5d40fdc4bc9d6bf4db8276745 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Mon, 29 Apr 2024 08:42:49 -0700 Subject: [PATCH 27/52] Update to 20240429 --- .gitignore | 1 + ...e-for-asahio-specific-kernel-modules.patch | 126 ------------------ asahi-scripts.spec | 5 +- sources | 2 +- 4 files changed, 3 insertions(+), 131 deletions(-) delete mode 100644 0001-dracut-Add-module-for-asahio-specific-kernel-modules.patch diff --git a/.gitignore b/.gitignore index 0f90e46..f2f9498 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /asahi-scripts-20231219.tar.gz /asahi-scripts-20231219.1.tar.gz /asahi-scripts-20240411.tar.gz +/asahi-scripts-20240429.tar.gz diff --git a/0001-dracut-Add-module-for-asahio-specific-kernel-modules.patch b/0001-dracut-Add-module-for-asahio-specific-kernel-modules.patch deleted file mode 100644 index 301982f..0000000 --- a/0001-dracut-Add-module-for-asahio-specific-kernel-modules.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 5f2e045c6e7000f475ea9918d39355007053e5df Mon Sep 17 00:00:00 2001 -From: Janne Grunau -Date: Thu, 25 Apr 2024 00:07:45 +0200 -Subject: [PATCH 1/1] dracut: Add module for asahio specific kernel modules - -The config based kernel module handling unfortunately fails with missing -drivers as the handling of `add_drivers` gives up on the first missing -kernel module, prints an error message but carries on to create a -initramfs with missing modules. -Use our own module to call `instmod` without "-c" to avoid checks. - -Signed-off-by: Janne Grunau ---- - Makefile | 2 + - dracut/dracut.conf.d/10-asahi.conf | 28 ++--------- - .../91kernel-modules-asahi/module-setup.sh | 46 +++++++++++++++++++ - 3 files changed, 51 insertions(+), 25 deletions(-) - create mode 100644 dracut/modules.d/91kernel-modules-asahi/module-setup.sh - -diff --git a/Makefile b/Makefile -index 72b016f..ff4de6c 100644 ---- a/Makefile -+++ b/Makefile -@@ -39,6 +39,8 @@ install-mkinitcpio: install - install-dracut: install - install -dD $(DESTDIR)$(DRACUT_CONF_DIR) - install -m0644 -t $(DESTDIR)$(DRACUT_CONF_DIR) dracut/dracut.conf.d/10-asahi.conf -+ install -dD $(DESTDIR)$(DRACUT_MODULES_DIR)/91kernel-modules-asahi -+ install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/91kernel-modules-asahi dracut/modules.d/91kernel-modules-asahi/module-setup.sh - install -dD $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware - install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware dracut/modules.d/99asahi-firmware/install-asahi-firmware.sh - install -m0755 -t $(DESTDIR)$(DRACUT_MODULES_DIR)/99asahi-firmware dracut/modules.d/99asahi-firmware/load-asahi-firmware.sh -diff --git a/dracut/dracut.conf.d/10-asahi.conf b/dracut/dracut.conf.d/10-asahi.conf -index 8be5f83..13cdd54 100644 ---- a/dracut/dracut.conf.d/10-asahi.conf -+++ b/dracut/dracut.conf.d/10-asahi.conf -@@ -1,31 +1,9 @@ - # Modules necessary for using Linux on Apple Silicon Macs -- --# For NVMe & SMC --add_drivers+=" apple-mailbox " -- --# For NVMe --add_drivers+=" nvme_apple " -- --# For USB and HID --add_drivers+=" pinctrl-apple-gpio " -- --# SMC core --add_drivers+=" macsmc macsmc-rtkit " -- --# For USB --add_drivers+=" i2c-pasemi-platform tps6598x apple-dart dwc3 dwc3-of-simple nvmem-apple-efuses phy-apple-atc xhci-plat-hcd xhci-pci pcie-apple gpio_macsmc " -- --# For HID --add_drivers+=" spi-apple spi-hid-apple spi-hid-apple-of " -- --# For RTC --add_drivers+=" rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd " -- --# For MTP HID --add_drivers+=" apple-dockchannel dockchannel-hid apple-rtkit-helper " -+# are handled in the module kernel-modules-asahi since add_drivers can't -+# handle missing modules - - # dwc3 instantiates xHCI asynchronously. To make things like init=/bin/sh work where udev is no longer running, force load this one. - force_drivers+=" xhci-plat-hcd " - - # For Apple firmware --add_dracutmodules+=" asahi-firmware " -+add_dracutmodules+=" asahi-firmware kernel-modules-asahi " -diff --git a/dracut/modules.d/91kernel-modules-asahi/module-setup.sh b/dracut/modules.d/91kernel-modules-asahi/module-setup.sh -new file mode 100644 -index 0000000..8e27b3c ---- /dev/null -+++ b/dracut/modules.d/91kernel-modules-asahi/module-setup.sh -@@ -0,0 +1,46 @@ -+#!/bin/bash -+ -+# called by dracut -+installkernel() { -+ # For NVMe & SMC -+ hostonly='' instmods apple-mailbox -+ -+ # For NVMe -+ hostonly='' instmods nvme_apple -+ -+ # For USB and HID -+ hostonly='' instmods pinctrl-apple-gpio -+ -+ # SMC core -+ hostonly='' instmods macsmc macsmc-rtkit -+ -+ # For USB -+ hostonly='' instmods \ -+ i2c-apple \ -+ i2c-pasemi-platform \ -+ tps6598x \ -+ apple-dart \ -+ dwc3 \ -+ dwc3-of-simple \ -+ nvmem-apple-efuses \ -+ phy-apple-atc \ -+ xhci-plat-hcd \ -+ xhci-pci \ -+ pcie-apple \ -+ gpio_macsmc -+ -+ # For RTC -+ hostonly='' instmods rtc-macsmc simple-mfd-spmi spmi-apple-controller nvmem_spmi_mfd -+ -+ # For HID -+ hostonly='' instmods spi-apple spi-hid-apple spi-hid-apple-of -+ -+ # For MTP HID -+ hostonly='' instmods apple-dockchannel dockchannel-hid apple-rtkit-helper -+ -+ # For DP / HDMI audio -+ hostonly='' instmods apple-sio -+ -+ # For DPTX and HDMI displays -+ hostonly='' instmods mux-apple-display-crossbar phy-apple-dptx -+} --- -2.44.0 - diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 72a76e6..8437831 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20240411 +Version: 20240429 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux @@ -8,9 +8,6 @@ URL: https://github.com/AsahiLinux/asahi-scripts Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Source: update-m1n1.sysconfig -# Patch to make dracut's kernel module handling robust against missing modules -Patch01: 0001-dracut-Add-module-for-asahio-specific-kernel-modules.patch - BuildArch: noarch BuildRequires: make diff --git a/sources b/sources index dcf0d53..9206cb0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20240411.tar.gz) = 7757a929de535c0c506655daa03cce2d34c2608bd3a2d012772e6de0c1e5a9cae5717b421fecc54c66a44c3983535013116ba1205c7555eed6bb58f958c46e17 +SHA512 (asahi-scripts-20240429.tar.gz) = c722c82b0bf4f41114129d5b88cb269e0a4c9143acae7c7ba23b2b21c86428d8fdbb38bbdd6cd2f81b631e8ca5d0617b2d0ce3efe5d72986d2e9dc01bbe4cb5d From 389a477dc780a87b3bed8dc80ba20e1e422da9db Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 17:29:17 +0000 Subject: [PATCH 28/52] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 6b86b9e824ae17da1b745d3a81a36bb87e8534a3 Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Thu, 22 Aug 2024 19:17:38 +0200 Subject: [PATCH 29/52] Update to 20240822 new package asahi-battery to restore non-persistent EC settings on boot --- asahi-scripts.spec | 19 ++++++++++++++++++- sources | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 8437831..fbb0d53 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20240429 +Version: 20240822 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux @@ -69,6 +69,18 @@ Requires: uboot-images-armv8 %description -n update-m1n1 Keep m1n1 up to date on Apple Silicon systems. +%package -n asahi-battery +Summary: Asahi Linux battery charge control scripts + +Requires: %{name} = %{version}-%{release} +Requires: systemd +Requires: systemd-udev +Provides: asahi-battery = %{version}-%{release} + +%description -n asahi-battery +Asahi Linux battery charge control scripts restore charge_control_end_threshold +on system start. + %prep %autosetup -p1 @@ -120,5 +132,10 @@ grep -q 'asahi_firmware' && %{_sbindir}/asahi-fwupdate || : %config(noreplace) %{_sysconfdir}/sysconfig/update-m1n1 %{_sbindir}/update-m1n1 +%files -n asahi-battery +%{_unitdir}/macsmc-battery-charge-control-end-threshold.path +%{_unitdir}/macsmc-battery-charge-control-end-threshold.service +%{_udevrulesdir}/93-macsmc-battery-charge-control.rules + %changelog %autochangelog diff --git a/sources b/sources index 9206cb0..f865d3a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20240429.tar.gz) = c722c82b0bf4f41114129d5b88cb269e0a4c9143acae7c7ba23b2b21c86428d8fdbb38bbdd6cd2f81b631e8ca5d0617b2d0ce3efe5d72986d2e9dc01bbe4cb5d +SHA512 (asahi-scripts-20240822.tar.gz) = 6b99abe8df63b928285d6af54ba745bf9ae7a53f3208c77b90158fa076d34feb091275343039b61320fc043b6021170ad63f0e6df933e6a0a3fbfe146f78caf5 From 83bc7c125929c58d22d6986aaf1e6890ff863517 Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Thu, 22 Aug 2024 19:52:50 +0200 Subject: [PATCH 30/52] Add missed .gitignore update for asahi-scripts-20240822 --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index f2f9498..ee60eac 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /asahi-scripts-20231219.1.tar.gz /asahi-scripts-20240411.tar.gz /asahi-scripts-20240429.tar.gz +/asahi-scripts-20240822.tar.gz From bc19f28cacc2f35db3edc689710e9963dc88534b Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Thu, 22 Aug 2024 20:09:49 +0200 Subject: [PATCH 31/52] Add missing build requirement systemd-rpm-macros for asahi-battery --- asahi-scripts.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index fbb0d53..6c3ad83 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -72,6 +72,7 @@ Keep m1n1 up to date on Apple Silicon systems. %package -n asahi-battery Summary: Asahi Linux battery charge control scripts +BuildRequires: systemd-rpm-macros Requires: %{name} = %{version}-%{release} Requires: systemd Requires: systemd-udev From 1f02188ff771dfae63b459f3323a2d60f8b75786 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 11:36:38 +0000 Subject: [PATCH 32/52] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 376fa841fb8ff8f4a78fb41649a39ea53661b513 Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Fri, 8 Nov 2024 09:31:46 +0100 Subject: [PATCH 33/52] update-m1n1: limit config to DTBs Mx (Pro/Max/Ultra) based devices --- update-m1n1.sysconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/update-m1n1.sysconfig b/update-m1n1.sysconfig index c3cc360..3f06fc8 100644 --- a/update-m1n1.sysconfig +++ b/update-m1n1.sysconfig @@ -1,3 +1,4 @@ M1N1="/usr/lib64/m1n1/m1n1.bin" U_BOOT="/usr/share/uboot/apple_m1/u-boot-nodtb.bin" -DTBS=/boot/dtb/apple/* +# limit DTBS to Mx and Mx Pro/Max/Ultra +DTBS="/boot/dtb/apple/t6*.dtb /boot/dtb/apple/t81*.dtb" From 9d0aa9aa6730b7f566b7e003d6b586872fb4b236 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Tue, 28 Jan 2025 21:06:45 +0900 Subject: [PATCH 34/52] Update to 20250128 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ee60eac..e86d22c 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /asahi-scripts-20240411.tar.gz /asahi-scripts-20240429.tar.gz /asahi-scripts-20240822.tar.gz +/asahi-scripts-20250128.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 6c3ad83..6e85808 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20240822 +Version: 20250128 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index f865d3a..fb245c0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20240822.tar.gz) = 6b99abe8df63b928285d6af54ba745bf9ae7a53f3208c77b90158fa076d34feb091275343039b61320fc043b6021170ad63f0e6df933e6a0a3fbfe146f78caf5 +SHA512 (asahi-scripts-20250128.tar.gz) = cd9f7e7b0b87b340369994efbcb3885f8e5badcf358a08a80f1616e55d90c5468caec5cbdde88cd764c1ab7273df62d7cbcec304ec71e50575efeca71e588c24 From a425a997a2d61781c499be4ad382345bb3b6480f Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Sat, 28 Sep 2024 19:58:42 -0700 Subject: [PATCH 35/52] Drop expired obsoletes --- asahi-scripts.spec | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 6e85808..d1d9bb0 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -12,6 +12,7 @@ BuildArch: noarch BuildRequires: make BuildRequires: sed +BuildRequires: systemd-rpm-macros Requires: bash Requires: coreutils @@ -29,8 +30,6 @@ Summary: Asahi Linux firmware extractor Requires: %{name} = %{version}-%{release} # Not using python3dist(asahi-firmware) because its version is fixed Requires: python3-asahi_firmware >= 0.5.4 -Provides: asahi-fwextract = %{version}-%{release} -Obsoletes: asahi-fwextract < 20230530-2 %description -n asahi-fwupdate Asahi Linux firmware updater. @@ -40,10 +39,6 @@ Summary: Dracut config for Apple Silicon Macs Requires: dracut Requires: linux-firmware-vendor = %{version}-%{release} -Provides: dracut-config-asahi = %{version}-%{release} -Obsoletes: dracut-config-asahi < 20220821-5 -Provides: update-vendor-firmware = %{version}-%{release} -Obsoletes: update-vendor-firmware < 20220918.2-8 %description -n dracut-asahi Dracut config for Apple Silicon Macs. @@ -60,7 +55,6 @@ over properly from the initramfs. Summary: Keep m1n1 up to date Requires: %{name} = %{version}-%{release} - Requires: bash Requires: gzip Requires: m1n1 @@ -72,11 +66,9 @@ Keep m1n1 up to date on Apple Silicon systems. %package -n asahi-battery Summary: Asahi Linux battery charge control scripts -BuildRequires: systemd-rpm-macros Requires: %{name} = %{version}-%{release} Requires: systemd Requires: systemd-udev -Provides: asahi-battery = %{version}-%{release} %description -n asahi-battery Asahi Linux battery charge control scripts restore charge_control_end_threshold From e4e1bf166efb37e03d8277b66058b7e328f71fa0 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Thu, 30 Jan 2025 23:56:40 +0900 Subject: [PATCH 36/52] Update to 20250130 Moves /etc/m1n1.conf from this package to m1n1. --- .gitignore | 1 + asahi-scripts.spec | 5 +++-- sources | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e86d22c..f024f39 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ /asahi-scripts-20240429.tar.gz /asahi-scripts-20240822.tar.gz /asahi-scripts-20250128.tar.gz +/asahi-scripts-20250130.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index d1d9bb0..8ac67ea 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20250128 +Version: 20250130 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux @@ -30,6 +30,8 @@ Summary: Asahi Linux firmware extractor Requires: %{name} = %{version}-%{release} # Not using python3dist(asahi-firmware) because its version is fixed Requires: python3-asahi_firmware >= 0.5.4 +# m1n1.conf moved from this package to m1n1 +Obsoletes: asahi-scripts < 20250130 %description -n asahi-fwupdate Asahi Linux firmware updater. @@ -121,7 +123,6 @@ grep -q 'asahi_firmware' && %{_sbindir}/asahi-fwupdate || : %files -n update-m1n1 %license LICENSE -%config(noreplace) %{_sysconfdir}/m1n1.conf %config(noreplace) %{_sysconfdir}/sysconfig/update-m1n1 %{_sbindir}/update-m1n1 diff --git a/sources b/sources index fb245c0..54e2110 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20250128.tar.gz) = cd9f7e7b0b87b340369994efbcb3885f8e5badcf358a08a80f1616e55d90c5468caec5cbdde88cd764c1ab7273df62d7cbcec304ec71e50575efeca71e588c24 +SHA512 (asahi-scripts-20250130.tar.gz) = 87052bc66c74d616021abe1a62481800e11a6a73889717d02bc581e723915ba8c8ffced4e17b53d35e33d2bf85e91d1c9c1a2dca462ceb62ac88d736fba5d9ee From 98044933e685d1ea407a637be4bf0f200ef1fd26 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Mon, 3 Feb 2025 21:40:40 +0900 Subject: [PATCH 37/52] Fix dependencies --- asahi-scripts.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 8ac67ea..2583264 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -19,6 +19,8 @@ Requires: coreutils Requires: grep Requires: sed Requires: util-linux-core +# m1n1.conf moved from this package to m1n1 +Obsoletes: asahi-scripts < 20250130 %description This package contains miscellaneous admin scripts for the Asahi Linux reference @@ -30,8 +32,6 @@ Summary: Asahi Linux firmware extractor Requires: %{name} = %{version}-%{release} # Not using python3dist(asahi-firmware) because its version is fixed Requires: python3-asahi_firmware >= 0.5.4 -# m1n1.conf moved from this package to m1n1 -Obsoletes: asahi-scripts < 20250130 %description -n asahi-fwupdate Asahi Linux firmware updater. @@ -59,7 +59,7 @@ Summary: Keep m1n1 up to date Requires: %{name} = %{version}-%{release} Requires: bash Requires: gzip -Requires: m1n1 +Requires: m1n1 >= 1.4.21 Requires: uboot-images-armv8 %description -n update-m1n1 From c1ad434f9636b802cc6051afaee689a878729190 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Mon, 3 Feb 2025 21:54:28 +0900 Subject: [PATCH 38/52] Fix dependencies again? Third time's the charm, maybe? --- asahi-scripts.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 2583264..937cdc9 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -19,8 +19,6 @@ Requires: coreutils Requires: grep Requires: sed Requires: util-linux-core -# m1n1.conf moved from this package to m1n1 -Obsoletes: asahi-scripts < 20250130 %description This package contains miscellaneous admin scripts for the Asahi Linux reference @@ -61,6 +59,8 @@ Requires: bash Requires: gzip Requires: m1n1 >= 1.4.21 Requires: uboot-images-armv8 +# m1n1.conf moved from this package to m1n1 +Obsoletes: asahi-scripts < 20250130 %description -n update-m1n1 Keep m1n1 up to date on Apple Silicon systems. From 7b9c0fa3a02d15084f8ab931f3267b2c02266353 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Mon, 3 Feb 2025 21:55:18 +0900 Subject: [PATCH 39/52] Argh. --- asahi-scripts.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 937cdc9..75083c2 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -60,7 +60,7 @@ Requires: gzip Requires: m1n1 >= 1.4.21 Requires: uboot-images-armv8 # m1n1.conf moved from this package to m1n1 -Obsoletes: asahi-scripts < 20250130 +Obsoletes: update-m1n1 < 20250130 %description -n update-m1n1 Keep m1n1 up to date on Apple Silicon systems. From 9c406f8ce9929452c376aacd46241720b552be0d Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Tue, 4 Feb 2025 04:26:24 +0900 Subject: [PATCH 40/52] Give up on the obsoletes dance This didn't work with dnf. Drop /etc/m1n1.conf entirely, let users copy it from the example file in the m1n1 package if they wish. --- asahi-scripts.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 75083c2..a75a3e4 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -57,10 +57,8 @@ Summary: Keep m1n1 up to date Requires: %{name} = %{version}-%{release} Requires: bash Requires: gzip -Requires: m1n1 >= 1.4.21 +Requires: m1n1 Requires: uboot-images-armv8 -# m1n1.conf moved from this package to m1n1 -Obsoletes: update-m1n1 < 20250130 %description -n update-m1n1 Keep m1n1 up to date on Apple Silicon systems. From aef3d9127c1f1e361e72a538afdabc2bd6a5d176 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Wed, 16 Apr 2025 14:51:55 -0700 Subject: [PATCH 41/52] Trigger update-m1n1 on config changes --- asahi-scripts.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index a75a3e4..c6d32bc 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -97,7 +97,7 @@ install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 grep -q 'asahi_firmware' && %{_sbindir}/asahi-fwupdate || : # We can't use _libdir here because it gets incorrectly expanded to /usr/lib -%transfiletriggerin -n update-m1n1 -- /usr/lib/m1n1 /usr/lib64/m1n1 /usr/share/uboot/apple_m1 /boot/dtb- +%transfiletriggerin -n update-m1n1 -- /usr/lib/m1n1 /usr/lib64/m1n1 /usr/share/uboot/apple_m1 /boot/dtb- /etc/m1n1.conf %{_sbindir}/update-m1n1 || : %files From 22d55c43910abfc74e6ed9c84656f333e26b7b1d Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Sat, 26 Apr 2025 15:34:47 -0700 Subject: [PATCH 42/52] Update to 20250426.1; Fixes: RHBZ#2293832 --- .gitignore | 2 ++ asahi-scripts.spec | 4 +++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f024f39..34dff6e 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ /asahi-scripts-20240822.tar.gz /asahi-scripts-20250128.tar.gz /asahi-scripts-20250130.tar.gz +/asahi-scripts-20250426.tar.gz +/asahi-scripts-20250426.1.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index c6d32bc..17f48e9 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20250130 +Version: 20250426.1 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux @@ -18,6 +18,7 @@ Requires: bash Requires: coreutils Requires: grep Requires: sed +Requires: systemd-udev Requires: util-linux-core %description @@ -104,6 +105,7 @@ grep -q 'asahi_firmware' && %{_sbindir}/asahi-fwupdate || : %license LICENSE %{_datadir}/%{name}/ %{_sbindir}/asahi-diagnose +%{_udevhwdbdir}/65-autosuspend-override-asahi-sdhci.hwdb %files -n asahi-fwupdate %license LICENSE diff --git a/sources b/sources index 54e2110..c7e1eea 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20250130.tar.gz) = 87052bc66c74d616021abe1a62481800e11a6a73889717d02bc581e723915ba8c8ffced4e17b53d35e33d2bf85e91d1c9c1a2dca462ceb62ac88d736fba5d9ee +SHA512 (asahi-scripts-20250426.1.tar.gz) = b92ff0b2c90a0fc10206cc1124d191d6b7658050e46c6ecd8475a098b9e2670c421288e32acf2d9e51a44355857b5078ec1f200b132b3e9539ec948254d3f91e From dfca4e0e1aeff7cfa78ae7574800aa6befb40339 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Fri, 30 May 2025 19:38:56 -0700 Subject: [PATCH 43/52] Own the macsmc-battery config file --- asahi-scripts.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 17f48e9..6256a86 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -130,6 +130,7 @@ grep -q 'asahi_firmware' && %{_sbindir}/asahi-fwupdate || : %{_unitdir}/macsmc-battery-charge-control-end-threshold.path %{_unitdir}/macsmc-battery-charge-control-end-threshold.service %{_udevrulesdir}/93-macsmc-battery-charge-control.rules +%ghost %config(noreplace) %{_sysconfdir}/udev/macsmc-battery.conf %changelog %autochangelog From 5f59936d3cb8d1feecf3dfbb6f3358f1d6eed3ac Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Sun, 27 Apr 2025 11:46:31 +0200 Subject: [PATCH 44/52] update-m1n1: Depend on grubby for the /boot/dtb symlink --- asahi-scripts.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 6256a86..058fbbb 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -60,6 +60,9 @@ Requires: bash Requires: gzip Requires: m1n1 Requires: uboot-images-armv8 +# grubby's /usr/lib/kernel/install.d/10-devicetree.install creates the +# /boot/dtb symlink update-m1n1 uses to construct the 2nd stage m1n1 image +Requires: grubby %description -n update-m1n1 Keep m1n1 up to date on Apple Silicon systems. From 6507e7f0a2b3d9ea1b7ae89ac083085656ba256a Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Sun, 27 Apr 2025 12:54:47 +0200 Subject: [PATCH 45/52] update-m1n1: Use kernel-install script instead of filetrigger for dtb updates This has various advantages: - a failure can prevent kernel-install to create a boot loader entry which in the worst case won't boot due to a 2nd stage m1n1 dtbs vs. kernel mismatch - It would allow to replicate the logic in grubby's 10-devicetree.install to avoid the dependency and work without /boot/dtb symlink. This would simplify the integration for immutable Fedora-Asahi-Remix variants. - it is easier to discover as /usr/lib/kernel/install.d is the expected place for scripts to trigger during kernel installation/removal. - It ensures update-m1n1 runs after the symlink is updated. The ordering between the filetrigger and kernel-install during package updates is not obviously clear. There is no rollback mechanism if the kernel-install fails but this should not differ from the filetrigger. --- 15-update-m1n1.install | 20 ++++++++++++++++++++ asahi-scripts.spec | 7 ++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 15-update-m1n1.install diff --git a/15-update-m1n1.install b/15-update-m1n1.install new file mode 100644 index 0000000..0af1ead --- /dev/null +++ b/15-update-m1n1.install @@ -0,0 +1,20 @@ +#!/usr/bin/sh +# SPDX-License-Identifier: MIT +# thin wrapper to execute `update-m1n1` on kernel updates + +COMMAND="$1" + +# exit early on non Apple sislicon systems +if ! grep -q "apple,arm-platforms" /proc/device-tree/compatible; then + exit 0 +fi + +case "${COMMAND}" in + # always run update-m1n1 and rely on its no change detection for removals + # of old kernels. + add|remove) + exec /usr/bin/update-m1n1 + ;; +esac + +exit 0 diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 058fbbb..d7c1e28 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -7,6 +7,7 @@ License: MIT URL: https://github.com/AsahiLinux/asahi-scripts Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Source: update-m1n1.sysconfig +Source2: 15-update-m1n1.install BuildArch: noarch @@ -92,6 +93,9 @@ on system start. install -Ddpm0755 %{buildroot}%{_prefix}/lib/firmware/vendor install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 +# Install kernel-install script +install -d -m 0755 %{buildroot}%{_kernel_install_dir} +install -D -m 0755 -t %{buildroot}%{_kernel_install_dir} %{SOURCE2} %transfiletriggerin -n asahi-fwupdate -- %{_sbindir}/asahi-fwupdate %{_bindir}/asahi-fwextract %{_sbindir}/asahi-fwupdate || : @@ -101,7 +105,7 @@ install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 grep -q 'asahi_firmware' && %{_sbindir}/asahi-fwupdate || : # We can't use _libdir here because it gets incorrectly expanded to /usr/lib -%transfiletriggerin -n update-m1n1 -- /usr/lib/m1n1 /usr/lib64/m1n1 /usr/share/uboot/apple_m1 /boot/dtb- /etc/m1n1.conf +%transfiletriggerin -n update-m1n1 -- /usr/lib/m1n1 /usr/lib64/m1n1 /usr/share/uboot/apple_m1 /etc/m1n1.conf %{_sbindir}/update-m1n1 || : %files @@ -127,6 +131,7 @@ grep -q 'asahi_firmware' && %{_sbindir}/asahi-fwupdate || : %files -n update-m1n1 %license LICENSE %config(noreplace) %{_sysconfdir}/sysconfig/update-m1n1 +%{_kernel_install_dir}/15-update-m1n1.install %{_sbindir}/update-m1n1 %files -n asahi-battery From 49e26631ee61a0ea646b9ffc0b663ca75def5274 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Sun, 13 Jul 2025 19:00:27 -0700 Subject: [PATCH 46/52] Preserve timestamps when installing the kernel-install script --- asahi-scripts.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/asahi-scripts.spec b/asahi-scripts.spec index d7c1e28..21c14b4 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -94,8 +94,7 @@ on system start. install -Ddpm0755 %{buildroot}%{_prefix}/lib/firmware/vendor install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1 # Install kernel-install script -install -d -m 0755 %{buildroot}%{_kernel_install_dir} -install -D -m 0755 -t %{buildroot}%{_kernel_install_dir} %{SOURCE2} +install -Dpm0755 -t %{buildroot}%{_kernel_install_dir} %{SOURCE2} %transfiletriggerin -n asahi-fwupdate -- %{_sbindir}/asahi-fwupdate %{_bindir}/asahi-fwextract %{_sbindir}/asahi-fwupdate || : From 65b4ede4992b78b0ee018cdc3bfecdffd3f1d943 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Sun, 13 Jul 2025 19:00:49 -0700 Subject: [PATCH 47/52] Update to 20250713 --- .gitignore | 1 + asahi-scripts.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 34dff6e..6b7eb95 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ /asahi-scripts-20250130.tar.gz /asahi-scripts-20250426.tar.gz /asahi-scripts-20250426.1.tar.gz +/asahi-scripts-20250713.tar.gz diff --git a/asahi-scripts.spec b/asahi-scripts.spec index 21c14b4..ab7efa1 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -1,5 +1,5 @@ Name: asahi-scripts -Version: 20250426.1 +Version: 20250713 Release: %autorelease Summary: Miscellaneous admin scripts for Asahi Linux diff --git a/sources b/sources index c7e1eea..46303e9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (asahi-scripts-20250426.1.tar.gz) = b92ff0b2c90a0fc10206cc1124d191d6b7658050e46c6ecd8475a098b9e2670c421288e32acf2d9e51a44355857b5078ec1f200b132b3e9539ec948254d3f91e +SHA512 (asahi-scripts-20250713.tar.gz) = cb94711a556e4b8b4e171540d7026f93ad03afe3a359e8888bc63c09a17d521af1da3299fd3af89ad1fd3c3cb55b0b508ae307b4a9dacb48d45bbdfa50e4f767 From 2f5f6f8562b85af936247c1ed17759ee802dc420 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 17:16:00 +0000 Subject: [PATCH 48/52] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 8e7ac9580a1d4cddf31c21b9b17c66e4e604d1dc Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Mon, 18 Aug 2025 09:10:03 +0200 Subject: [PATCH 49/52] Fix typos in update-m1n1 kernel install script --- 15-update-m1n1.install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/15-update-m1n1.install b/15-update-m1n1.install index 0af1ead..284cb6a 100644 --- a/15-update-m1n1.install +++ b/15-update-m1n1.install @@ -4,8 +4,8 @@ COMMAND="$1" -# exit early on non Apple sislicon systems -if ! grep -q "apple,arm-platforms" /proc/device-tree/compatible; then +# exit early on non Apple silicon systems +if ! grep -q "apple,arm-platform" /proc/device-tree/compatible; then exit 0 fi From eb78052afdd99b9061c33dd40a67d110d99e1886 Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Tue, 19 Aug 2025 23:16:25 +0200 Subject: [PATCH 50/52] Fix update-m1n1 invocation from `kernel-install add ...` At the time kernel-install runs 15-update-m1n1.install "/boot/dtb" might be a dangling symlink as /boot/dtb-${KERNEL_VERSION} has not yet been created. Take advantage of the proposed $DTBS directory support [1] and use "/boot/dtb" as DTBS default location. Add an fedora specific patch to detect the dangling symlink and use the dtb directory from the kernel's modules directory in /usr/lib/modules. 1: https://github.com/AsahiLinux/asahi-scripts/pull/67 --- ...1n1-Expand-DTBS-if-it-is-a-directory.patch | 35 ++++++++++++++++++ ...n1-handle-dangling-boot-dtb-symlinks.patch | 36 +++++++++++++++++++ asahi-scripts.spec | 3 ++ update-m1n1.sysconfig | 2 +- 4 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 0001-update-m1n1-Expand-DTBS-if-it-is-a-directory.patch create mode 100644 0002-fedora-update-m1n1-handle-dangling-boot-dtb-symlinks.patch diff --git a/0001-update-m1n1-Expand-DTBS-if-it-is-a-directory.patch b/0001-update-m1n1-Expand-DTBS-if-it-is-a-directory.patch new file mode 100644 index 0000000..e9659e7 --- /dev/null +++ b/0001-update-m1n1-Expand-DTBS-if-it-is-a-directory.patch @@ -0,0 +1,35 @@ +From 5fb7712c7c2692b77c21a6d799db29f6cefb388f Mon Sep 17 00:00:00 2001 +From: Janne Grunau +Date: Tue, 19 Aug 2025 22:55:33 +0200 +Subject: [PATCH 1/2] update-m1n1: Expand $DTBS if it is a directory + +Allows limiting the included devices to Apple silicon macs now that the +kernel has device-trees for iphones, ipads and T2 macs as well. +Avoids having each distribution to modify their default update-m1n1 +configuration for this. + +Signed-off-by: Janne Grunau +--- + update-m1n1 | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/update-m1n1 b/update-m1n1 +index ae274eb..dcd79fa 100755 +--- a/update-m1n1 ++++ b/update-m1n1 +@@ -24,6 +24,12 @@ if [ -z "$DTBS" ]; then + exit 1 + fi + ++# If ${DTBS} is a directory expand it to include dtbs from all Apple silicon ++# macs. ++if [ -d "$DTBS" ]; then ++ DTBS="${DTBS}/apple/t6*.dtb ${DTBS}/apple/t81*.dtb" ++fi ++ + umount=false + + m1n1config=/run/m1n1.conf +-- +2.50.1 + diff --git a/0002-fedora-update-m1n1-handle-dangling-boot-dtb-symlinks.patch b/0002-fedora-update-m1n1-handle-dangling-boot-dtb-symlinks.patch new file mode 100644 index 0000000..9507e81 --- /dev/null +++ b/0002-fedora-update-m1n1-handle-dangling-boot-dtb-symlinks.patch @@ -0,0 +1,36 @@ +From d24ee482717237afbf6cbbbabbd0dd4eea772f8a Mon Sep 17 00:00:00 2001 +From: Janne Grunau +Date: Tue, 19 Aug 2025 23:10:23 +0200 +Subject: [PATCH 2/2] fedora: update-m1n1: handle dangling /boot/dtb symlinks + +At kernel-install time the target of the /boot/dtb symlink might not +exists yet for newly installed targets. Use +"/usr/lib/modules/${KERNEL_VERSION}/dtb" instead. + +Signed-off-by: Janne Grunau +--- + update-m1n1 | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/update-m1n1 b/update-m1n1 +index dcd79fa..87de029 100755 +--- a/update-m1n1 ++++ b/update-m1n1 +@@ -24,6 +24,14 @@ if [ -z "$DTBS" ]; then + exit 1 + fi + ++# Fedora: handle broken /boot/dtb symlinks by reading the link, ++# extracting the kernel version and using the dtb directory from ++# "/usr/lib/modules/${KERNEL_VERSION}/". ++if [ -L "$DTBS" -a ! -d "$DTBS" ]; then ++ KVER=$(readlink "$DTBS" | sed -e 's/^dtb-//') ++ DTBS="/usr/lib/modules/${KVER}/dtb" ++fi ++ + # If ${DTBS} is a directory expand it to include dtbs from all Apple silicon + # macs. + if [ -d "$DTBS" ]; then +-- +2.50.1 + diff --git a/asahi-scripts.spec b/asahi-scripts.spec index ab7efa1..ecd42cb 100644 --- a/asahi-scripts.spec +++ b/asahi-scripts.spec @@ -9,6 +9,9 @@ Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz Source: update-m1n1.sysconfig Source2: 15-update-m1n1.install +Patch01: 0001-update-m1n1-Expand-DTBS-if-it-is-a-directory.patch +Patch02: 0002-fedora-update-m1n1-handle-dangling-boot-dtb-symlinks.patch + BuildArch: noarch BuildRequires: make diff --git a/update-m1n1.sysconfig b/update-m1n1.sysconfig index 3f06fc8..68b20fb 100644 --- a/update-m1n1.sysconfig +++ b/update-m1n1.sysconfig @@ -1,4 +1,4 @@ M1N1="/usr/lib64/m1n1/m1n1.bin" U_BOOT="/usr/share/uboot/apple_m1/u-boot-nodtb.bin" # limit DTBS to Mx and Mx Pro/Max/Ultra -DTBS="/boot/dtb/apple/t6*.dtb /boot/dtb/apple/t81*.dtb" +DTBS="/boot/dtb" From b1b17e6f4e36f6fcffb956250e2920af0ed7e67b Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Tue, 19 Aug 2025 23:27:00 +0200 Subject: [PATCH 51/52] Update 15-update-m1n1.install - has to run on generic aarch64 systems for install image generation, should probably always run if the installed kernel is an aarch64 kernel - add a note on the "10-devicetree.install" (grubby) dependency --- 15-update-m1n1.install | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/15-update-m1n1.install b/15-update-m1n1.install index 284cb6a..b5ce56f 100644 --- a/15-update-m1n1.install +++ b/15-update-m1n1.install @@ -1,11 +1,13 @@ #!/usr/bin/sh # SPDX-License-Identifier: MIT # thin wrapper to execute `update-m1n1` on kernel updates +# depends on grubby's "10-devicetree.install" COMMAND="$1" -# exit early on non Apple silicon systems -if ! grep -q "apple,arm-platform" /proc/device-tree/compatible; then +# execute only on aarch64, can't check for Apple silicon systems as the install +# images are created on generic aarch64 systems. +if [ "$(uname -m)" != aarch64 ]; then exit 0 fi From a2ad8aace33e10d0d26bd8dd843efdb5ac94bf09 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 03:57:03 +0000 Subject: [PATCH 52/52] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild