omarchy-settings: keep the Limine and mkinitcpio drop-ins on aarch64
The aarch64 packages removed etc/mkinitcpio.conf.d and etc/limine-entry-tool.d wholesale. On an encrypted aarch64 install that boots with Limine (DGX Spark, Snapdragon X), installing the published package therefore drops omarchy_hooks.conf, HOOKS falls back to /etc/mkinitcpio.conf, and the next kernel update builds an initramfs with no encrypt hook: the machine hangs waiting for /dev/mapper/root with no prompt. Ship both drop-in directories on aarch64 and remove only thunderbolt_module.conf, whose module ARM kernels do not have. Keep the Limine template and the snapper notifier autostart for the same reason. The memory-stack removals (zram, oomd, zswap, USB autosuspend) are unchanged.
This commit is contained in:
1 parent
be95483566
commit
ccecdbde56
2 files changed
+35
-51
No files matched your search
@@ -6,10 +6,11 @@ _pkgver_base=4.0.0
|
|||||||
_pkgver_base_tag=v3.8.2
|
_pkgver_base_tag=v3.8.2
|
||||||
pkgdesc='Omarchy user defaults, /etc/skel content, fonts, plymouth theme, and support helpers (quattro branch tip)'
|
pkgdesc='Omarchy user defaults, /etc/skel content, fonts, plymouth theme, and support helpers (quattro branch tip)'
|
||||||
# Arch-specific because the shipped /etc tree is not the same on every
|
# Arch-specific because the shipped /etc tree is not the same on every
|
||||||
# architecture: the Limine, mkinitcpio, zram and oomd drop-ins belong to the
|
# architecture: the zram and oomd drop-ins belong to the x86_64 memory stack
|
||||||
# x86_64 boot and memory stack and are left out of the aarch64 package (see
|
# and are left out of the aarch64 package (see package()). The Limine and
|
||||||
# package()). makepkg only honours the arch-suffixed arrays below on
|
# mkinitcpio drop-ins ship on both: UEFI aarch64 installs (DGX Spark,
|
||||||
# arch-specific packages.
|
# Snapdragon X) boot with Limine and an encrypted root exactly like x86_64.
|
||||||
|
# makepkg only honours the arch-suffixed arrays below on arch-specific packages.
|
||||||
arch=('x86_64' 'aarch64')
|
arch=('x86_64' 'aarch64')
|
||||||
url='https://github.com/basecamp/omarchy'
|
url='https://github.com/basecamp/omarchy'
|
||||||
license=('MIT')
|
license=('MIT')
|
||||||
@@ -68,14 +69,17 @@ backup=(
|
|||||||
'etc/udev/rules.d/99-omarchy-power-profile.rules'
|
'etc/udev/rules.d/99-omarchy-power-profile.rules'
|
||||||
'etc/udev/rules.d/99-omarchy-wifi-powersave.rules'
|
'etc/udev/rules.d/99-omarchy-wifi-powersave.rules'
|
||||||
)
|
)
|
||||||
|
# Boot configuration is backed up on both architectures.
|
||||||
|
backup+=(
|
||||||
|
'etc/mkinitcpio.conf.d/omarchy_hooks.conf'
|
||||||
|
'etc/limine-entry-tool.d/omarchy-defaults.conf'
|
||||||
|
'etc/limine-entry-tool.d/omarchy-uki.conf'
|
||||||
|
)
|
||||||
# backup has no arch-suffixed form, so the x86_64-only drop-ins join it here.
|
# backup has no arch-suffixed form, so the x86_64-only drop-ins join it here.
|
||||||
# Each of these paths is removed from the aarch64 package in package().
|
# Each of these paths is removed from the aarch64 package in package().
|
||||||
if [[ $CARCH == x86_64 ]]; then
|
if [[ $CARCH == x86_64 ]]; then
|
||||||
backup+=(
|
backup+=(
|
||||||
'etc/mkinitcpio.conf.d/omarchy_hooks.conf'
|
|
||||||
'etc/mkinitcpio.conf.d/thunderbolt_module.conf'
|
'etc/mkinitcpio.conf.d/thunderbolt_module.conf'
|
||||||
'etc/limine-entry-tool.d/omarchy-defaults.conf'
|
|
||||||
'etc/limine-entry-tool.d/omarchy-uki.conf'
|
|
||||||
'etc/modprobe.d/omarchy-usb-autosuspend.conf'
|
'etc/modprobe.d/omarchy-usb-autosuspend.conf'
|
||||||
'etc/systemd/oomd.conf.d/10-omarchy.conf'
|
'etc/systemd/oomd.conf.d/10-omarchy.conf'
|
||||||
'etc/systemd/zram-generator.conf'
|
'etc/systemd/zram-generator.conf'
|
||||||
@@ -160,14 +164,6 @@ package() {
|
|||||||
install -d "$pkgdir/usr/share/omarchy/config"
|
install -d "$pkgdir/usr/share/omarchy/config"
|
||||||
cp -a config/. "$pkgdir/usr/share/omarchy/config/"
|
cp -a config/. "$pkgdir/usr/share/omarchy/config/"
|
||||||
|
|
||||||
# The Limine/Snapper notifier has nothing to notify about without the x86_64
|
|
||||||
# boot stack; drop it from both seeds so aarch64 users don't autostart a
|
|
||||||
# helper whose backing tool is not installed.
|
|
||||||
if [[ $CARCH == aarch64 ]]; then
|
|
||||||
rm -f "$pkgdir/etc/skel/.config/autostart/limine-snapper-notify.desktop" \
|
|
||||||
"$pkgdir/usr/share/omarchy/config/autostart/limine-snapper-notify.desktop"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Package-owned defaults with real system/XDG locations. User config remains
|
# Package-owned defaults with real system/XDG locations. User config remains
|
||||||
# higher priority: ~/.config/uwsm/default, ~/.config/uwsm/env.d,
|
# higher priority: ~/.config/uwsm/default, ~/.config/uwsm/env.d,
|
||||||
# ~/.config/environment.d, ~/.config/fontconfig, ~/.config/xdg-terminals.list,
|
# ~/.config/environment.d, ~/.config/fontconfig, ~/.config/xdg-terminals.list,
|
||||||
@@ -217,11 +213,12 @@ package() {
|
|||||||
install -d "$pkgdir/etc"
|
install -d "$pkgdir/etc"
|
||||||
cp -a etc/. "$pkgdir/etc/"
|
cp -a etc/. "$pkgdir/etc/"
|
||||||
if [[ $CARCH == aarch64 ]]; then
|
if [[ $CARCH == aarch64 ]]; then
|
||||||
# The x86_64 boot stack's drop-ins must not ship on aarch64: mkinitcpio
|
# Keep omarchy_hooks.conf and the Limine entry-tool config: without them a
|
||||||
# reads every file under /etc/mkinitcpio.conf.d/, so omarchy_hooks.conf
|
# kernel update on an encrypted aarch64 install rebuilds an initramfs with
|
||||||
# would inject the Limine hooks into the Asahi kernel's initramfs, and the
|
# no encrypt hook and the machine cannot unlock its root. Only the
|
||||||
# Limine entry-tool config has no consumer without Limine.
|
# Thunderbolt module request is x86-specific; ARM kernels lack the module
|
||||||
rm -rf "$pkgdir/etc/limine-entry-tool.d" "$pkgdir/etc/mkinitcpio.conf.d"
|
# and mkinitcpio treats a missing explicit module as an error.
|
||||||
|
rm -f "$pkgdir/etc/mkinitcpio.conf.d/thunderbolt_module.conf"
|
||||||
# Memory stack: no zram device or zswap on the aarch64 install, and
|
# Memory stack: no zram device or zswap on the aarch64 install, and
|
||||||
# systemd-oomd is not enabled there, so the vm.* reclaim tuning written
|
# systemd-oomd is not enabled there, so the vm.* reclaim tuning written
|
||||||
# for zram would be wrong for it. Keep only the network tuning.
|
# for zram would be wrong for it. Keep only the network tuning.
|
||||||
@@ -325,11 +322,6 @@ EOF
|
|||||||
# live root config.
|
# live root config.
|
||||||
install -d "$pkgdir/usr/share/omarchy/default"
|
install -d "$pkgdir/usr/share/omarchy/default"
|
||||||
cp -a default/. "$pkgdir/usr/share/omarchy/default/"
|
cp -a default/. "$pkgdir/usr/share/omarchy/default/"
|
||||||
# The Limine template is read by the x86_64 ISO orchestrator only.
|
|
||||||
if [[ $CARCH == aarch64 ]]; then
|
|
||||||
rm -rf "$pkgdir/usr/share/omarchy/default/limine"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Snapper config template used by the install-time `snapper create-config`.
|
# Snapper config template used by the install-time `snapper create-config`.
|
||||||
install -Dm644 default/snapper/root \
|
install -Dm644 default/snapper/root \
|
||||||
"$pkgdir/etc/snapper/config-templates/omarchy"
|
"$pkgdir/etc/snapper/config-templates/omarchy"
|
||||||
|
|||||||
@@ -13,13 +13,14 @@ pkgname='omarchy-settings'
|
|||||||
_tag='v4.0.3'
|
_tag='v4.0.3'
|
||||||
_commit='0534987009061cbe2dacdde4ad564092ab698d12'
|
_commit='0534987009061cbe2dacdde4ad564092ab698d12'
|
||||||
pkgver=4.0.3
|
pkgver=4.0.3
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc='Omarchy user defaults, /etc/skel content, fonts, plymouth theme, and support helpers'
|
pkgdesc='Omarchy user defaults, /etc/skel content, fonts, plymouth theme, and support helpers'
|
||||||
# Arch-specific because the shipped /etc tree is not the same on every
|
# Arch-specific because the shipped /etc tree is not the same on every
|
||||||
# architecture: the Limine, mkinitcpio, zram and oomd drop-ins belong to the
|
# architecture: the zram and oomd drop-ins belong to the x86_64 memory stack
|
||||||
# x86_64 boot and memory stack and are left out of the aarch64 package (see
|
# and are left out of the aarch64 package (see package()). The Limine and
|
||||||
# package()). makepkg only honours the arch-suffixed arrays below on
|
# mkinitcpio drop-ins ship on both: UEFI aarch64 installs (DGX Spark,
|
||||||
# arch-specific packages.
|
# Snapdragon X) boot with Limine and an encrypted root exactly like x86_64.
|
||||||
|
# makepkg only honours the arch-suffixed arrays below on arch-specific packages.
|
||||||
arch=('x86_64' 'aarch64')
|
arch=('x86_64' 'aarch64')
|
||||||
url='https://github.com/basecamp/omarchy'
|
url='https://github.com/basecamp/omarchy'
|
||||||
license=('MIT')
|
license=('MIT')
|
||||||
@@ -77,14 +78,17 @@ backup=(
|
|||||||
'etc/udev/rules.d/99-omarchy-power-profile.rules'
|
'etc/udev/rules.d/99-omarchy-power-profile.rules'
|
||||||
'etc/udev/rules.d/99-omarchy-wifi-powersave.rules'
|
'etc/udev/rules.d/99-omarchy-wifi-powersave.rules'
|
||||||
)
|
)
|
||||||
|
# Boot configuration is backed up on both architectures.
|
||||||
|
backup+=(
|
||||||
|
'etc/mkinitcpio.conf.d/omarchy_hooks.conf'
|
||||||
|
'etc/limine-entry-tool.d/omarchy-defaults.conf'
|
||||||
|
'etc/limine-entry-tool.d/omarchy-uki.conf'
|
||||||
|
)
|
||||||
# backup has no arch-suffixed form, so the x86_64-only drop-ins join it here.
|
# backup has no arch-suffixed form, so the x86_64-only drop-ins join it here.
|
||||||
# Each of these paths is removed from the aarch64 package in package().
|
# Each of these paths is removed from the aarch64 package in package().
|
||||||
if [[ $CARCH == x86_64 ]]; then
|
if [[ $CARCH == x86_64 ]]; then
|
||||||
backup+=(
|
backup+=(
|
||||||
'etc/mkinitcpio.conf.d/omarchy_hooks.conf'
|
|
||||||
'etc/mkinitcpio.conf.d/thunderbolt_module.conf'
|
'etc/mkinitcpio.conf.d/thunderbolt_module.conf'
|
||||||
'etc/limine-entry-tool.d/omarchy-defaults.conf'
|
|
||||||
'etc/limine-entry-tool.d/omarchy-uki.conf'
|
|
||||||
'etc/modprobe.d/omarchy-usb-autosuspend.conf'
|
'etc/modprobe.d/omarchy-usb-autosuspend.conf'
|
||||||
'etc/systemd/oomd.conf.d/10-omarchy.conf'
|
'etc/systemd/oomd.conf.d/10-omarchy.conf'
|
||||||
'etc/systemd/zram-generator.conf'
|
'etc/systemd/zram-generator.conf'
|
||||||
@@ -155,14 +159,6 @@ package() {
|
|||||||
install -d "$pkgdir/usr/share/omarchy/config"
|
install -d "$pkgdir/usr/share/omarchy/config"
|
||||||
cp -a config/. "$pkgdir/usr/share/omarchy/config/"
|
cp -a config/. "$pkgdir/usr/share/omarchy/config/"
|
||||||
|
|
||||||
# The Limine/Snapper notifier has nothing to notify about without the x86_64
|
|
||||||
# boot stack; drop it from both seeds so aarch64 users don't autostart a
|
|
||||||
# helper whose backing tool is not installed.
|
|
||||||
if [[ $CARCH == aarch64 ]]; then
|
|
||||||
rm -f "$pkgdir/etc/skel/.config/autostart/limine-snapper-notify.desktop" \
|
|
||||||
"$pkgdir/usr/share/omarchy/config/autostart/limine-snapper-notify.desktop"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Package-owned defaults with real system/XDG locations. User config remains
|
# Package-owned defaults with real system/XDG locations. User config remains
|
||||||
# higher priority: ~/.config/uwsm/default, ~/.config/uwsm/env.d,
|
# higher priority: ~/.config/uwsm/default, ~/.config/uwsm/env.d,
|
||||||
# ~/.config/environment.d, ~/.config/fontconfig, ~/.config/xdg-terminals.list,
|
# ~/.config/environment.d, ~/.config/fontconfig, ~/.config/xdg-terminals.list,
|
||||||
@@ -215,11 +211,12 @@ package() {
|
|||||||
install -d "$pkgdir/etc"
|
install -d "$pkgdir/etc"
|
||||||
cp -a etc/. "$pkgdir/etc/"
|
cp -a etc/. "$pkgdir/etc/"
|
||||||
if [[ $CARCH == aarch64 ]]; then
|
if [[ $CARCH == aarch64 ]]; then
|
||||||
# The x86_64 boot stack's drop-ins must not ship on aarch64: mkinitcpio
|
# Keep omarchy_hooks.conf and the Limine entry-tool config: without them a
|
||||||
# reads every file under /etc/mkinitcpio.conf.d/, so omarchy_hooks.conf
|
# kernel update on an encrypted aarch64 install rebuilds an initramfs with
|
||||||
# would inject the Limine hooks into the Asahi kernel's initramfs, and the
|
# no encrypt hook and the machine cannot unlock its root. Only the
|
||||||
# Limine entry-tool config has no consumer without Limine.
|
# Thunderbolt module request is x86-specific; ARM kernels lack the module
|
||||||
rm -rf "$pkgdir/etc/limine-entry-tool.d" "$pkgdir/etc/mkinitcpio.conf.d"
|
# and mkinitcpio treats a missing explicit module as an error.
|
||||||
|
rm -f "$pkgdir/etc/mkinitcpio.conf.d/thunderbolt_module.conf"
|
||||||
# Memory stack: no zram device or zswap on the aarch64 install, and
|
# Memory stack: no zram device or zswap on the aarch64 install, and
|
||||||
# systemd-oomd is not enabled there, so the vm.* reclaim tuning written
|
# systemd-oomd is not enabled there, so the vm.* reclaim tuning written
|
||||||
# for zram would be wrong for it. Keep only the network tuning.
|
# for zram would be wrong for it. Keep only the network tuning.
|
||||||
@@ -323,11 +320,6 @@ EOF
|
|||||||
# live root config.
|
# live root config.
|
||||||
install -d "$pkgdir/usr/share/omarchy/default"
|
install -d "$pkgdir/usr/share/omarchy/default"
|
||||||
cp -a default/. "$pkgdir/usr/share/omarchy/default/"
|
cp -a default/. "$pkgdir/usr/share/omarchy/default/"
|
||||||
# The Limine template is read by the x86_64 ISO orchestrator only.
|
|
||||||
if [[ $CARCH == aarch64 ]]; then
|
|
||||||
rm -rf "$pkgdir/usr/share/omarchy/default/limine"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Snapper config template used by the install-time `snapper create-config`.
|
# Snapper config template used by the install-time `snapper create-config`.
|
||||||
install -Dm644 default/snapper/root \
|
install -Dm644 default/snapper/root \
|
||||||
"$pkgdir/etc/snapper/config-templates/omarchy"
|
"$pkgdir/etc/snapper/config-templates/omarchy"
|
||||||
|
|||||||
Reference in new issue
Block a user