From 3189242836e80f97f5b46df3f79379ca67a8fb84 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 19 Jun 2024 21:35:00 +0200 Subject: [PATCH 001/128] Use dracut instead of mkinitcpio The following considerations and observations have been made: - dracut is more configurable - dracut is the only initramfs generator that will work with the "frzr kernel" utility - a dracut-generated initramfs is 38MB, while mkinitcpio is about 120MB - the included dracut configuration avoids building the fallback, thus sparing build time --- build-image.sh | 4 +- manifest | 1 - pkgs/chimeraos-dracut-cfg/00-chimeraos.conf | 4 + .../10-chimeraos_use-fstab.conf | 4 + .../20-chimeraos_plymouth.conf | 1 + .../30-chimeraos_include-filesystems.conf | 3 + .../40-chimeraos_exclude-encryption.conf | 1 + .../50-chimeraos_exclude-mdraid.conf | 1 + .../60-chimeraos_exclude-networking.conf | 7 ++ .../60-dracut-remove.hook | 10 +++ .../70-chimeraos_exclude-nvdimm.conf | 1 + .../80-chimeraos_exclude-qemu.conf | 3 + .../90-chimeraos_exclude-bluetooth.conf | 1 + .../90-dracut-install.hook | 12 +++ pkgs/chimeraos-dracut-cfg/PKGBUILD | 73 +++++++++++++++++++ pkgs/chimeraos-dracut-cfg/dracut-install.sh | 15 ++++ pkgs/chimeraos-dracut-cfg/dracut-remove.sh | 10 +++ pkgs/chimeraos-fake-mkinitcpio/PKGBUILD | 18 +++++ pkgs/chimeraos-fake-mkinitcpio/mkinitcpio | 6 ++ 19 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 pkgs/chimeraos-dracut-cfg/00-chimeraos.conf create mode 100644 pkgs/chimeraos-dracut-cfg/10-chimeraos_use-fstab.conf create mode 100644 pkgs/chimeraos-dracut-cfg/20-chimeraos_plymouth.conf create mode 100644 pkgs/chimeraos-dracut-cfg/30-chimeraos_include-filesystems.conf create mode 100644 pkgs/chimeraos-dracut-cfg/40-chimeraos_exclude-encryption.conf create mode 100644 pkgs/chimeraos-dracut-cfg/50-chimeraos_exclude-mdraid.conf create mode 100644 pkgs/chimeraos-dracut-cfg/60-chimeraos_exclude-networking.conf create mode 100644 pkgs/chimeraos-dracut-cfg/60-dracut-remove.hook create mode 100644 pkgs/chimeraos-dracut-cfg/70-chimeraos_exclude-nvdimm.conf create mode 100644 pkgs/chimeraos-dracut-cfg/80-chimeraos_exclude-qemu.conf create mode 100644 pkgs/chimeraos-dracut-cfg/90-chimeraos_exclude-bluetooth.conf create mode 100644 pkgs/chimeraos-dracut-cfg/90-dracut-install.hook create mode 100644 pkgs/chimeraos-dracut-cfg/PKGBUILD create mode 100644 pkgs/chimeraos-dracut-cfg/dracut-install.sh create mode 100644 pkgs/chimeraos-dracut-cfg/dracut-remove.sh create mode 100644 pkgs/chimeraos-fake-mkinitcpio/PKGBUILD create mode 100644 pkgs/chimeraos-fake-mkinitcpio/mkinitcpio diff --git a/build-image.sh b/build-image.sh index dbcac0dbc..9c52f8c6b 100755 --- a/build-image.sh +++ b/build-image.sh @@ -94,6 +94,9 @@ sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf # update package databases pacman --noconfirm -Syy +# Avoid mkintcpio being auto-installed while installing the kernel (we want dracut) +pacman -S --noconfirm dracut + # install kernel package if [ "$KERNEL_PACKAGE_ORIGIN" == "local" ] ; then pacman --noconfirm -U --overwrite '*' \ @@ -193,7 +196,6 @@ cp -r /var/lib/pacman/local /usr/var/lib/pacman/ if [ ${KERNEL_PACKAGE} != 'linux' ] ; then mv /boot/vmlinuz-${KERNEL_PACKAGE} /boot/vmlinuz-linux mv /boot/initramfs-${KERNEL_PACKAGE}.img /boot/initramfs-linux.img - mv /boot/initramfs-${KERNEL_PACKAGE}-fallback.img /boot/initramfs-linux-fallback.img fi # clean up/remove unnecessary files diff --git a/manifest b/manifest index 737cad967..c71a87dd1 100644 --- a/manifest +++ b/manifest @@ -263,7 +263,6 @@ export USER_SERVICES="\ " export FILES_TO_DELETE="\ - /boot/initramfs-linux-fallback.img \ /usr/share/SFML \ /usr/share/doc \ /usr/share/gtk-doc \ diff --git a/pkgs/chimeraos-dracut-cfg/00-chimeraos.conf b/pkgs/chimeraos-dracut-cfg/00-chimeraos.conf new file mode 100644 index 000000000..5161f4889 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/00-chimeraos.conf @@ -0,0 +1,4 @@ +early_microcode="yes" +compress="xz -9e --check=crc32 -v" + +omit_dracutmodules+=" squash " \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/10-chimeraos_use-fstab.conf b/pkgs/chimeraos-dracut-cfg/10-chimeraos_use-fstab.conf new file mode 100644 index 000000000..8d27cd7f0 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/10-chimeraos_use-fstab.conf @@ -0,0 +1,4 @@ +add_dracutmodules+=" rootfs-block " + +# Use the fstab file in the initramfs +use_fstab="yes" \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/20-chimeraos_plymouth.conf b/pkgs/chimeraos-dracut-cfg/20-chimeraos_plymouth.conf new file mode 100644 index 000000000..86ca5bc92 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/20-chimeraos_plymouth.conf @@ -0,0 +1 @@ +omit_dracutmodules+=" plymouth " \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/30-chimeraos_include-filesystems.conf b/pkgs/chimeraos-dracut-cfg/30-chimeraos_include-filesystems.conf new file mode 100644 index 000000000..0b5e6f601 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/30-chimeraos_include-filesystems.conf @@ -0,0 +1,3 @@ +add_dracutmodules+=" overlayfs " +add_dracutmodules+=" btrfs " +add_drivers+=" nvme vfat " \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/40-chimeraos_exclude-encryption.conf b/pkgs/chimeraos-dracut-cfg/40-chimeraos_exclude-encryption.conf new file mode 100644 index 000000000..7c8821fba --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/40-chimeraos_exclude-encryption.conf @@ -0,0 +1 @@ +omit_dracutmodules+=" systemd-pcrphase systemd-cryptsetup crypt tpm2-tss " \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/50-chimeraos_exclude-mdraid.conf b/pkgs/chimeraos-dracut-cfg/50-chimeraos_exclude-mdraid.conf new file mode 100644 index 000000000..005023b38 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/50-chimeraos_exclude-mdraid.conf @@ -0,0 +1 @@ +omit_dracutmodules+=" mdraid " \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/60-chimeraos_exclude-networking.conf b/pkgs/chimeraos-dracut-cfg/60-chimeraos_exclude-networking.conf new file mode 100644 index 000000000..31d886880 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/60-chimeraos_exclude-networking.conf @@ -0,0 +1,7 @@ +omit_dracutmodules+=" cifs " +omit_dracutmodules+=" nfs " +omit_dracutmodules+=" network " +omit_dracutmodules+=" network-manager " +omit_dracutmodules+=" connman " +omit_dracutmodules+=" network-legacy " +omit_dracutmodules+=" network-wicked " \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/60-dracut-remove.hook b/pkgs/chimeraos-dracut-cfg/60-dracut-remove.hook new file mode 100644 index 000000000..f2b1271bd --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/60-dracut-remove.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Path +Operation = Remove +Target = usr/lib/modules/*/pkgbase + +[Action] +Description = Removing linux initcpios... +When = PreTransaction +Exec = /usr/local/bin/dracut-remove.sh +NeedsTargets diff --git a/pkgs/chimeraos-dracut-cfg/70-chimeraos_exclude-nvdimm.conf b/pkgs/chimeraos-dracut-cfg/70-chimeraos_exclude-nvdimm.conf new file mode 100644 index 000000000..f43be9e75 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/70-chimeraos_exclude-nvdimm.conf @@ -0,0 +1 @@ +omit_dracutmodules+=" nvdimm " \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/80-chimeraos_exclude-qemu.conf b/pkgs/chimeraos-dracut-cfg/80-chimeraos_exclude-qemu.conf new file mode 100644 index 000000000..2c81c924f --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/80-chimeraos_exclude-qemu.conf @@ -0,0 +1,3 @@ +omit_dracutmodules+=" qemu " +omit_dracutmodules+=" qemu-net " +omit_dracutmodules+=" virtiofs " \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/90-chimeraos_exclude-bluetooth.conf b/pkgs/chimeraos-dracut-cfg/90-chimeraos_exclude-bluetooth.conf new file mode 100644 index 000000000..6d2871ce3 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/90-chimeraos_exclude-bluetooth.conf @@ -0,0 +1 @@ +omit_dracutmodules+=" bluetooth " \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/90-dracut-install.hook b/pkgs/chimeraos-dracut-cfg/90-dracut-install.hook new file mode 100644 index 000000000..d96895b68 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/90-dracut-install.hook @@ -0,0 +1,12 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/modules/*/pkgbase + +[Action] +Description = Updating linux initcpios (with dracut!)... +When = PostTransaction +Exec = /usr/local/bin/dracut-install.sh +Depends = dracut +NeedsTargets diff --git a/pkgs/chimeraos-dracut-cfg/PKGBUILD b/pkgs/chimeraos-dracut-cfg/PKGBUILD new file mode 100644 index 000000000..1bfc37899 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/PKGBUILD @@ -0,0 +1,73 @@ +# Maintainer: Denis Benato + +pkgname=chimeraos-dracut-cfg +pkgver=0.0.1 +pkgrel=1 +pkgdesc="Dracut-specific configuration for chimeraos" +arch=('any') +url="https://github.com/ChimeraOS/chimeraos" +license=('MIT') +depends=( + 'dracut' # regenerate the initramfs + #'plymouth' # support for boot animations + 'binutils' # allow usage of --strip +) +source=( + "dracut-install.sh" + "dracut-remove.sh" + "00-chimeraos.conf" + "10-chimeraos_use-fstab.conf" + "20-chimeraos_plymouth.conf" + "30-chimeraos_include-filesystems.conf" + "40-chimeraos_exclude-encryption.conf" + "50-chimeraos_exclude-mdraid.conf" + "60-chimeraos_exclude-networking.conf" + "70-chimeraos_exclude-nvdimm.conf" + "80-chimeraos_exclude-qemu.conf" + "90-chimeraos_exclude-bluetooth.conf" + "60-dracut-remove.hook" + "90-dracut-install.hook" +) +sha256sums=( + '827d59e8fda5c16b3fc45eb89ce7cd5be6c40d35dd8fe9a8d5ea825a63d3a089' # dracut-install.sh + 'daefb58a0bf6df48cceaf4f7a898c17ca1f24e18cd7981b19f5f2034499592ed' # dracut-remove.sh + '1f356cc895156064cec63f589ea49acc59a4faab94b7ebe99dc904893da85907' # 00-chimeraos.conf + '7886062a7293d2e6bd6e975c4a8aaae63342af366479db8adf1b75860081cf53' # 10-chimeraos_use-fstab.conf + '103cf3322954202c3f0f740cd9079546d059f919c8b1b07ac703ec6f94cf17fb' # 20-chimeraos_plymouth.conf + '676b4a216cd3787882edf2e5bdaebce4577a11dbae176f81bab1c1b72917fc09' # 30-chimeraos_include-filesystems.conf + '8b4247161bb9158bf382517bb061360c184315e71fea244420d8db99d2730129' # 40-chimeraos_exclude-encryption.conf + '84cccef9706590795b37b4d949c0a34e6ee7ba34ee7ff01a8c808a2fe3ff7f89' # 50-chimeraos_exclude-mdraid.conf + 'e1f9caf3878e65ca28951642ad02c1b167eacba777b4ccc893f6b8702a6d474e' # 60-chimeraos_exclude-networking.conf + '5822aa5a698577937820ab2565a203492b6af81434bf1423664ef68bba8c1617' # 70-chimeraos_exclude-nvdimm.conf + 'b126149ca9f79bb1deb7ec640f4452dd61f4214558f954b7bc9196c5e9ca6ef0' # 80-chimeraos_exclude-qemu.conf + 'e983493fe3e7d9395dd8d1c8949150144c8d4318ff17ff2aca004235734c8299' # 90-chimeraos_exclude-bluetooth.conf + '41c996bf7ef90e6a81690c4a06cbef89167882a036699834fe22637a1a184982' # 60-dracut-remove.hook + 'df94baaf97d110f65f1443dd7063fe0e8ec1f73b5baf142c6ff08c260e571fcb' # 90-dracut-install.hook +) + +package() { + mkdir -p "$pkgdir/etc/dracut.conf.d/" + mkdir -p "$pkgdir/usr/local/bin/" + mkdir -p "$pkgdir/usr/share/libalpm/hooks" + + install -m 755 "$srcdir/dracut-install.sh" "$pkgdir/usr/local/bin" + install -m 755 "$srcdir/dracut-remove.sh" "$pkgdir/usr/local/bin" + + install -m 644 "$srcdir/60-dracut-remove.hook" "$pkgdir/usr/share/libalpm/hooks" + install -m 644 "$srcdir/90-dracut-install.hook" "$pkgdir/usr/share/libalpm/hooks" + + install -m 644 "$srcdir/00-chimeraos.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/10-chimeraos_use-fstab.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/20-chimeraos_plymouth.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/30-chimeraos_include-filesystems.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/40-chimeraos_exclude-encryption.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/50-chimeraos_exclude-mdraid.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/60-chimeraos_exclude-networking.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/70-chimeraos_exclude-nvdimm.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/80-chimeraos_exclude-qemu.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "90-chimeraos_exclude-bluetooth.conf" "$pkgdir/etc/dracut.conf.d" + + install -m 644 "$srcdir/60-dracut-remove.hook" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/90-dracut-install.hook" "$pkgdir/etc/dracut.conf.d" +} + diff --git a/pkgs/chimeraos-dracut-cfg/dracut-install.sh b/pkgs/chimeraos-dracut-cfg/dracut-install.sh new file mode 100644 index 000000000..9ea9e4325 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/dracut-install.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +args=('--force' '--strip' '--aggressive-strip' '--reproducible') + +while read -r line; do + if [[ "$line" == 'usr/lib/modules/'+([^/])'/pkgbase' ]]; then + read -r pkgbase < "/${line}" + kver="${line#'usr/lib/modules/'}" + kver="${kver%'/pkgbase'}" + + install -Dm0644 "/${line%'/pkgbase'}/vmlinuz" "/boot/vmlinuz-${pkgbase}" + dracut --no-hostonly --no-hostonly-cmdline "${args[@]}" "/boot/initramfs-${pkgbase}.img" --kver "$kver" + #dracut --no-hostonly "${args[@]}" "/boot/initramfs-${pkgbase}-fallback.img" --kver "$kver" + fi +done \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/dracut-remove.sh b/pkgs/chimeraos-dracut-cfg/dracut-remove.sh new file mode 100644 index 000000000..789f7a259 --- /dev/null +++ b/pkgs/chimeraos-dracut-cfg/dracut-remove.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +while read -r line; do + if [[ "$line" == 'usr/lib/modules/'+([^/])'/pkgbase' ]]; then + read -r pkgbase < "/${line}" + rm -f "/boot/vmlinuz-${pkgbase}" + rm -f "/boot/initramfs-${pkgbase}.img" + #rm -f "/boot/initramfs-${pkgbase}-fallback.img" + fi +done diff --git a/pkgs/chimeraos-fake-mkinitcpio/PKGBUILD b/pkgs/chimeraos-fake-mkinitcpio/PKGBUILD new file mode 100644 index 000000000..34a112296 --- /dev/null +++ b/pkgs/chimeraos-fake-mkinitcpio/PKGBUILD @@ -0,0 +1,18 @@ +pkgname=chimeraos-fake-mkinitcpio +pkgver=39.2 +pkgrel=2 +pkgdesc="A stub implementation of mkinitcpio that does nothing except providing the executable that does nothing" +arch=('any') +url='https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio' +license=('GPL-2.0-only') +depends=() +provides=('initramfs') +conflicts=('mkinitcpio') +source=('mkinitcpio') +b2sums=('4b40ab2908ab1ad57e72e22f6f74f4d22d3bb09a42d64956a64c48cf0dadb645da4c4e3edb31fa3068c909a1f03c0fa9fd534cb7159d6d56526d5dbb3104b9b0') + +package() { + mkdir -p "$pkgdir/usr/bin" + install -m 755 "$srcdir/mkinitcpio" "$pkgdir/usr/bin" +} + diff --git a/pkgs/chimeraos-fake-mkinitcpio/mkinitcpio b/pkgs/chimeraos-fake-mkinitcpio/mkinitcpio new file mode 100644 index 000000000..5c7ed9888 --- /dev/null +++ b/pkgs/chimeraos-fake-mkinitcpio/mkinitcpio @@ -0,0 +1,6 @@ +#!/bin/sh + +# The pre-refactor frzr will call the target image mkinitcpio. +# We want to avoid generating an error, yet we want this tool to do nothing as +# device-quirks is now installed in a deployment migration. +echo "[WARNING] Fake mkinitcpio called." \ No newline at end of file From 9572b50267dfafa63ff19abb3e56439a97821abf Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 19 Jun 2024 21:36:17 +0200 Subject: [PATCH 002/128] Remove the old frzr-etc hook for mkinitcpio --- rootfs/etc/initcpio/hooks/frzr-etc | 24 ------------------------ rootfs/etc/initcpio/install/frzr-etc | 11 ----------- 2 files changed, 35 deletions(-) delete mode 100644 rootfs/etc/initcpio/hooks/frzr-etc delete mode 100644 rootfs/etc/initcpio/install/frzr-etc diff --git a/rootfs/etc/initcpio/hooks/frzr-etc b/rootfs/etc/initcpio/hooks/frzr-etc deleted file mode 100644 index c06e3a805..000000000 --- a/rootfs/etc/initcpio/hooks/frzr-etc +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/ash -run_latehook() { - local rootfs realtab frzropts frzrsrc - rootfs="/new_root" - realtab="${rootfs}/etc/fstab" - - if [ -f "${realtab}" ]; then - # read values from fstab - frzrsrc=$(findmnt -snero source --tab-file="$realtab" -T /frzr_root) - frzropts=$(findmnt -snero options --tab-file="$realtab" -T /frzr_root) - - if [ -z "${frzropts}" ]; then - mount "${frzrsrc}" ${rootfs}/frzr_root - else - mount -o "${frzropts}" "${frzrsrc}" ${rootfs}/frzr_root - fi - else - # fallback, when not found in fstab - mount /dev/disk/by-label/frzr_root \${rootfs}/frzr_root - fi - - # mount etc from frzr_root as overlay - mount -t overlay overlay -o lowerdir=${rootfs}/etc,upperdir=${rootfs}/frzr_root/etc,workdir=${rootfs}/frzr_root/.etc,index=off ${rootfs}/etc -} \ No newline at end of file diff --git a/rootfs/etc/initcpio/install/frzr-etc b/rootfs/etc/initcpio/install/frzr-etc deleted file mode 100644 index 3de4d3ae6..000000000 --- a/rootfs/etc/initcpio/install/frzr-etc +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -build() { - add_binary findmnt - add_runscript -} -help() { - cat < Date: Wed, 19 Jun 2024 21:36:55 +0200 Subject: [PATCH 003/128] Remove the unused mkinitcpio.conf file --- rootfs/etc/mkinitcpio.conf | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 rootfs/etc/mkinitcpio.conf diff --git a/rootfs/etc/mkinitcpio.conf b/rootfs/etc/mkinitcpio.conf deleted file mode 100644 index 55abe136c..000000000 --- a/rootfs/etc/mkinitcpio.conf +++ /dev/null @@ -1,8 +0,0 @@ -# vim:set ft=sh - -MODULES=(dm_mod ext4 sha256 sha512 overlay) -BINARIES=() -FILES=() -HOOKS=(microcode systemd modconf kms keyboard sd-vconsole block filesystems fsck) -COMPRESSION="xz" -COMPRESSION_OPTIONS=(-v -9e) From daeac48ab3a096c9640ad2c801e302cd0d0cf944 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 19 Jun 2024 22:14:58 +0200 Subject: [PATCH 004/128] Take full advantage of capabilities of the new frzr version This series of migrations scripts ensure proper intallation of an image that contains frzr v1.0.0+ This also modifies chimeraos to make use of per-deployment overlays: - the installed deployment is never unlocked - the installed deployment is easy to reset - modifications done in /etc and /var from the previous deployment will be carried on to the next one - modifications done in /usr and /boot will not be carried on --- build-image.sh | 52 ++++++--- .../install-0001-require_reboot.migration | 11 ++ ...on => install-0002-systemd-boot.migration} | 8 ++ .../install-0003-root_part_gpt.migration | 38 ++++++ .../frzr.d/install-0004-overlays.migration | 93 +++++++++++++++ .../install-0005-kernel-overlays.migration | 70 +++++++++++ .../install-0006-device-quirks.migration | 44 +++++++ ...install-0007-device-quirks-apply.migration | 109 ++++++++++++++++++ ...e-extraneous-wireplumber-config.migration} | 0 .../install-0009-initramfs-renamed.migration | 71 ++++++++++++ .../install-0010-default-subvol.migration | 24 ++++ .../usr/lib/frzr.d/require_reboot.migration | 4 - .../frzr.d/uninstall-0001-overlays.removal | 70 +++++++++++ .../uninstall-0002-device-quirks.removal | 49 ++++++++ .../lib/frzr.d/unlock-0001-overlays.unlock | 45 ++++++++ .../lib/frzr.d/unlock-0002-pacman-db.unlock | 26 +++++ 16 files changed, 697 insertions(+), 17 deletions(-) create mode 100755 rootfs/usr/lib/frzr.d/install-0001-require_reboot.migration rename rootfs/usr/lib/frzr.d/{systemd-boot.migration => install-0002-systemd-boot.migration} (85%) mode change 100644 => 100755 create mode 100755 rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration create mode 100755 rootfs/usr/lib/frzr.d/install-0004-overlays.migration create mode 100755 rootfs/usr/lib/frzr.d/install-0005-kernel-overlays.migration create mode 100755 rootfs/usr/lib/frzr.d/install-0006-device-quirks.migration create mode 100755 rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration rename rootfs/usr/lib/frzr.d/{remove-extraneous-wireplumber-config.migration => install-0008-remove-extraneous-wireplumber-config.migration} (100%) mode change 100644 => 100755 create mode 100755 rootfs/usr/lib/frzr.d/install-0009-initramfs-renamed.migration create mode 100755 rootfs/usr/lib/frzr.d/install-0010-default-subvol.migration delete mode 100644 rootfs/usr/lib/frzr.d/require_reboot.migration create mode 100755 rootfs/usr/lib/frzr.d/uninstall-0001-overlays.removal create mode 100755 rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal create mode 100755 rootfs/usr/lib/frzr.d/unlock-0001-overlays.unlock create mode 100755 rootfs/usr/lib/frzr.d/unlock-0002-pacman-db.unlock diff --git a/build-image.sh b/build-image.sh index dbcac0dbc..8ef5ba508 100755 --- a/build-image.sh +++ b/build-image.sh @@ -78,6 +78,10 @@ arch-chroot ${BUILD_PATH} /bin/bash < /etc/ssh/sshd_config +# Write the fstab file +# WARNING: mounting partitions using LABEL exposes us to a bug where multiple disks cannot have frzr systems and how to solve this still is an open question echo " -LABEL=frzr_root /var btrfs defaults,subvolid=256,rw,noatime,nodatacow,nofail 0 0 -LABEL=frzr_root /home btrfs defaults,subvolid=257,rw,noatime,nodatacow,nofail 0 0 -LABEL=frzr_root /frzr_root btrfs defaults,subvolid=5,rw,noatime,nodatacow,x-initrd.mount 0 2 -overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-systemd.rw-only,lowerdir=/sysroot/etc,upperdir=/sysroot/frzr_root/etc,workdir=/sysroot/frzr_root/.etc,index=off,metacopy=off,comment=etcoverlay,x-initrd.mount 0 0 +LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime,nodatacow 0 2 +LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nodatacow,nofail 0 0 +overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/frzr_root/kernels/boot:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/boot:/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 +overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/frzr_root/kernels/usr:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/usr:/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 +overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/frzr_root/kernels/etc:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/etc:/sysroot/etc,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=etcoverlay 0 0 +overlay /var overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/frzr_root/kernels/var:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/var:/sysroot/var,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=varoverlay 0 0 " > /etc/fstab echo " @@ -187,30 +198,45 @@ pacman -Q > /manifest # preserve installed package database mkdir -p /usr/var/lib/pacman -cp -r /var/lib/pacman/local /usr/var/lib/pacman/ +cp -a /var/lib/pacman/local /usr/var/lib/pacman/ -# move kernel image and initrd to a defualt location if "linux" is not used -if [ ${KERNEL_PACKAGE} != 'linux' ] ; then - mv /boot/vmlinuz-${KERNEL_PACKAGE} /boot/vmlinuz-linux - mv /boot/initramfs-${KERNEL_PACKAGE}.img /boot/initramfs-linux.img - mv /boot/initramfs-${KERNEL_PACKAGE}-fallback.img /boot/initramfs-linux-fallback.img +# Remove the fallback: it is never used and takes up space +if [ -e "/boot/initramfs-${KERNEL_PACKAGE}-fallback.img" ]; then + rm "/boot/initramfs-${KERNEL_PACKAGE}-fallback.img" +fi + +# Since frzr pre-v1.0.0 has an hardcoded cp of /boot/vmlinuz-linux and /boot/initramfs-linux.img +# create two empty files so that the cp command won't file: these will be replaced by a migration hook. +# +# Note: The following is kept for compatibility with older frzr +# This can safely be removed when the compatibility with +# frzr pre-v1.0.0 will be dropped +if [ "${KERNEL_PACKAGE}" = "linux" ]; then + echo "Kernel is named 'linux' nothing to do." +else + touch /boot/vmlinuz-linux + touch /boot/initramfs-linux.img fi # clean up/remove unnecessary files +# Keep every file in /var except for logs (populated by GitHub CI) +# the pacman database: it was backed up to another location and +# will be restored by an unlock hook rm -rf \ /own_pkgs \ /extra_pkgs \ /extra_certs \ /home \ -/var \ +/var/log \ +/var/lib/pacman/local \ rm -rf ${FILES_TO_DELETE} # create necessary directories mkdir -p /home -mkdir -p /var mkdir -p /frzr_root mkdir -p /efi +mkdir -p /var/log EOF #defrag the image diff --git a/rootfs/usr/lib/frzr.d/install-0001-require_reboot.migration b/rootfs/usr/lib/frzr.d/install-0001-require_reboot.migration new file mode 100755 index 000000000..00d77c2e0 --- /dev/null +++ b/rootfs/usr/lib/frzr.d/install-0001-require_reboot.migration @@ -0,0 +1,11 @@ +#! /bin/bash + +# triggers notification for reboot in old BPM + +frzr_migration_version=1 + +post_install() { + if [ -d /var/run ]; then + touch /var/run/reboot-required + fi +} diff --git a/rootfs/usr/lib/frzr.d/systemd-boot.migration b/rootfs/usr/lib/frzr.d/install-0002-systemd-boot.migration old mode 100644 new mode 100755 similarity index 85% rename from rootfs/usr/lib/frzr.d/systemd-boot.migration rename to rootfs/usr/lib/frzr.d/install-0002-systemd-boot.migration index 48b720439..02645bd2e --- a/rootfs/usr/lib/frzr.d/systemd-boot.migration +++ b/rootfs/usr/lib/frzr.d/install-0002-systemd-boot.migration @@ -1,6 +1,14 @@ +#! /bin/bash + # Migrate to systemd-boot + +frzr_migration_version=0 + post_install() { local MOUNT_PATH=$1 + local SUBVOL=$2 + local NAME=$3 + local FRZR_VER=$4 if [ -e ${MOUNT_PATH}/boot/loader/random-seed ]; then # migration has already completed, exit silently diff --git a/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration b/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration new file mode 100755 index 000000000..a9d6d193f --- /dev/null +++ b/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration @@ -0,0 +1,38 @@ +#! /bin/bash + +# Apply the correct GPT partition type to rootfs + +frzr_migration_version=1 + +post_install() { + local MOUNT_PATH=$1 + local SUBVOL=$2 + local NAME=$3 + local FRZR_VER=$4 + + local subcmd=$(df -P "${SUBVOL}" | tail -n1 | cut -d' ' -f1) + + if [ "$subcmd" = "-" ]; then + echo "WARNING: unrecognised partition, using a fallback..." + subcmd=$(findmnt --target "${SUBVOL}" | grep "/dev" | tail -n1 | cut -d' ' -f2 ) + fi + + echo "Fetching UUID of partition '${subcmd}'" + local possible_uuid=$(lsblk -n -o UUID "${subcmd}") + + echo "Fetching partition number of partition '$subcmd'" + local part_number=$(echo "${subcmd: -1}") + + local disk=$(echo "$subcmd" | sed 's/p[0-9]*$//') + local filtered_uuid=$(echo "${possible_uuid}" | grep -E '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}') + + echo "Setting partition ${part_number} of disk ${disk} (UUID='${filtered_uuid}') to GPT type 'Linux Root (x86-64)'" + + if [ -z $filtered_uuid ] || [ -z $subcmd ] || [ -z part_number ] || [ -z disk ]; then + echo "Error retrieving the rootfs UUID: ${rootfs_uuid}" + exit 1 + else + echo "Writing the correct GPT type to the partition ${part_number} of disk ${disk}" + parted --script "${disk}" type "${part_number}" "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709" + fi +} \ No newline at end of file diff --git a/rootfs/usr/lib/frzr.d/install-0004-overlays.migration b/rootfs/usr/lib/frzr.d/install-0004-overlays.migration new file mode 100755 index 000000000..003866eab --- /dev/null +++ b/rootfs/usr/lib/frzr.d/install-0004-overlays.migration @@ -0,0 +1,93 @@ +#! /bin/bash + +# Create the /etc and /var overlay + +frzr_migration_version=1 + +post_install() { + local MOUNT_PATH=$1 + local SUBVOL=$2 + local NAME=$3 + local FRZR_VER=$4 + + # check unlock-0001-overlays.migration + DEPLOYMENT_DATA="${MOUNT_PATH}/deployments_data" + SUBVOL_DATA="${DEPLOYMENT_DATA}/${NAME}" + + local OLD_NAME="does_not_exist" + if [ -e "/build_info" ]; then + OLD_NAME=$(cat /build_info | head -1) + fi + OLD_SUBVOL_DATA="${DEPLOYMENT_DATA}/${OLD_NAME}" + + mkdir -p "${DEPLOYMENT_DATA}" + + if [ -d "${OLD_SUBVOL_DATA}" ]; then + local sysroot_snapshot="y" + + echo "Import current /etc and /var overlays to the new deployment..." + btrfs subvol snapshot "${OLD_SUBVOL_DATA}" "${SUBVOL_DATA}" + + echo "Setting the overlay as RW..." + btrfs property set -fts "${SUBVOL_DATA}" ro false + + # clear the old /usr overlay + if [ -d "${SUBVOL_DATA}/usr_overlay" ]; then + rm -rf "${SUBVOL_DATA}/usr_overlay" + fi + + # clear the old /boot overlay + if [ -d "${SUBVOL_DATA}/boot_overlay" ]; then + rm -rf "${SUBVOL_DATA}/boot_overlay" + fi + else + echo "No previous overlay found: creating the overlay" + + # prepare for /etc, /var, /usr and /boot overlays + btrfs subvol create "${SUBVOL_DATA}" + fi + + echo "Ensuring overlay can be mounted at next boot" + mkdir -p "${SUBVOL_DATA}/etc_overlay/upperdir" + mkdir -p "${SUBVOL_DATA}/etc_overlay/workdir" + mkdir -p "${SUBVOL_DATA}/var_overlay/upperdir" + mkdir -p "${SUBVOL_DATA}/var_overlay/workdir" + btrfs subvol create "${SUBVOL_DATA}/usr_overlay" + mkdir "${SUBVOL_DATA}/usr_overlay/upperdir" + mkdir "${SUBVOL_DATA}/usr_overlay/workdir" + btrfs subvol create "${SUBVOL_DATA}/boot_overlay" + mkdir "${SUBVOL_DATA}/boot_overlay/upperdir" + mkdir "${SUBVOL_DATA}/boot_overlay/workdir" + + btrfs property set -fts "${SUBVOL_DATA}/usr_overlay" ro true + btrfs property set -fts "${SUBVOL_DATA}/boot_overlay" ro true + + if [ ! -d "${MOUNT_PATH}/usr" ] && [ -d "${MOUNT_PATH}/etc" ] && [ -z $sysroot_snapshot ] && [ -d "${MOUNT_PATH}/.etc" ] && [ -z $sysroot_snapshot ]; then + echo "Cloning the /etc overlay upperdir from '${MOUNT_PATH}/etc/' to '${SUBVOL_DATA}/etc_overlay/upperdir'..." + cp -a "${MOUNT_PATH}/etc" "${SUBVOL_DATA}/etc_overlay/" + rm -rf "${SUBVOL_DATA}/etc_overlay/upperdir" + mv "${SUBVOL_DATA}/etc_overlay/etc" "${SUBVOL_DATA}/etc_overlay/upperdir" + cp -a "${MOUNT_PATH}/.etc" "${SUBVOL_DATA}/etc_overlay/" + rm -rf "${SUBVOL_DATA}/etc_overlay/workdir" + mv "${SUBVOL_DATA}/etc_overlay/.etc" "${SUBVOL_DATA}/etc_overlay/workdir" + fi + + if [ ! -d "${MOUNT_PATH}/usr" ] && [ -d "${MOUNT_PATH}/var" ] && [ -z $sysroot_snapshot ]; then + echo "Transforming the /var subolume in '${MOUNT_PATH}/var/' to an overlay upperdir in '${SUBVOL_DATA}/var_overlay/upperdir'..." + mount -t overlay overlay -o lowerdir="${SUBVOL}/var",upperdir="${SUBVOL_DATA}/var_overlay/upperdir",workdir="${SUBVOL_DATA}/var_overlay/workdir" "${SUBVOL}/var" + cp -a ${MOUNT_PATH}/var/* "${SUBVOL}/var" + umount "${SUBVOL}/var" + fi + + # clear out old pacman database + if [ -d "${SUBVOL_DATA}/var_overlay/upperdir/lib/pacman" ]; then + echo "Clearing up pacman old database overlay in '${SUBVOL_DATA}/var_overlay/upperdir/lib/pacman'..." + rm -rf "${SUBVOL_DATA}/var_overlay/upperdir/lib/pacman" + fi + + # Remove everything from an old pacman overlay + if [ -d "${SUBVOL_DATA}/etc_overlay/upperdir/pacman.d/gnupg" ]; then + echo "Clearing up pacman old pacman gnupg overlay in '${SUBVOL_DATA}/etc_overlay/upperdir/pacman.d/gnupg'..." + rm -rf "${SUBVOL_DATA}/etc_overlay/upperdir/pacman.d/gnupg" + fi +} \ No newline at end of file diff --git a/rootfs/usr/lib/frzr.d/install-0005-kernel-overlays.migration b/rootfs/usr/lib/frzr.d/install-0005-kernel-overlays.migration new file mode 100755 index 000000000..809c3aeda --- /dev/null +++ b/rootfs/usr/lib/frzr.d/install-0005-kernel-overlays.migration @@ -0,0 +1,70 @@ +#! /bin/bash + +# Create the needed overlays to host a kernel compiled and installed by the "frzr kernel" tool + +frzr_migration_version=1 + +post_install() { + local MOUNT_PATH=$1 + local SUBVOL=$2 + local NAME=$3 + local FRZR_VER=$4 + + local KERNEL_OVERLAYS_PATH="${MOUNT_PATH}/kernels" + + if [ ! -d "${KERNEL_OVERLAYS_PATH}" ]; then + btrfs subvolume create "${KERNEL_OVERLAYS_PATH}" + fi + + # NOTE: the guid 379 is "frzr" group + + if mkdir -p -m 775 "${KERNEL_OVERLAYS_PATH}/usr"; then + if mkdir -p -m 775 "${KERNEL_OVERLAYS_PATH}/boot"; then + if mkdir -p -m 775 "${KERNEL_OVERLAYS_PATH}/etc"; then + if mkdir -p -m 775 "${KERNEL_OVERLAYS_PATH}/var"; then + if chown 0:379 "${KERNEL_OVERLAYS_PATH}/usr"; then + if chown 0:379 "${KERNEL_OVERLAYS_PATH}/boot"; then + if chown 0:379 "${KERNEL_OVERLAYS_PATH}/etc"; then + if chown 0:379 "${KERNEL_OVERLAYS_PATH}/var"; then + if chmod g+s "${KERNEL_OVERLAYS_PATH}/usr"; then + if chmod g+s "${KERNEL_OVERLAYS_PATH}/boot"; then + if chmod g+s "${KERNEL_OVERLAYS_PATH}/etc"; then + if chmod g+s "${KERNEL_OVERLAYS_PATH}/var"; then + echo "OK" + else + echo "WARNING: Cannot set setgid to '${KERNEL_OVERLAYS_PATH}/var'" + fi + else + echo "WARNING: Cannot set setgid to '${KERNEL_OVERLAYS_PATH}/etc'" + fi + else + echo "WARNING: Cannot set setgid to '${KERNEL_OVERLAYS_PATH}/boot'" + fi + else + echo "WARNING: Cannot set setgid to '${KERNEL_OVERLAYS_PATH}/usr'" + fi + else + echo "WARNING: Cannot set correct parmissions to '${KERNEL_OVERLAYS_PATH}/var'" + fi + else + echo "WARNING: Cannot set correct parmissions to '${KERNEL_OVERLAYS_PATH}/etc'" + fi + else + echo "WARNING: Cannot set correct parmissions to '${KERNEL_OVERLAYS_PATH}/boot'" + fi + else + echo "WARNING: Cannot set correct parmissions to '${KERNEL_OVERLAYS_PATH}/usr'" + fi + else + echo "ERROR: Cannot create '${KERNEL_OVERLAYS_PATH}/var'" + fi + else + echo "ERROR: Cannot create '${KERNEL_OVERLAYS_PATH}/etc'" + fi + else + echo "ERROR: Cannot create '${KERNEL_OVERLAYS_PATH}/boot'" + fi + else + echo "ERROR: Cannot create '${KERNEL_OVERLAYS_PATH}/usr'" + fi +} \ No newline at end of file diff --git a/rootfs/usr/lib/frzr.d/install-0006-device-quirks.migration b/rootfs/usr/lib/frzr.d/install-0006-device-quirks.migration new file mode 100755 index 000000000..4f23d109a --- /dev/null +++ b/rootfs/usr/lib/frzr.d/install-0006-device-quirks.migration @@ -0,0 +1,44 @@ +#! /bin/bash + +# Create the /etc and /var overlay + +frzr_migration_version=1 + +post_install() { + local MOUNT_PATH=$1 + local SUBVOL=$2 + local NAME=$3 + local FRZR_VER=$4 + + DEPLOYMENT_QUIRKS="${MOUNT_PATH}/device_quirks" + SUBVOL_QUIRKS="${DEPLOYMENT_QUIRKS}/${NAME}" + + if mkdir -p "${DEPLOYMENT_QUIRKS}"; then + if [ ! -d "${SUBVOL_QUIRKS}" ]; then + echo "Creating device-quirks overlay at '${SUBVOL_QUIRKS}'" + if btrfs subvolume create "${SUBVOL_QUIRKS}"; then + if mkdir "${SUBVOL_QUIRKS}/usr"; then + if mkdir "${SUBVOL_QUIRKS}/etc"; then + if mkdir "${SUBVOL_QUIRKS}/boot"; then + if mkdir "${SUBVOL_QUIRKS}/var"; then + echo "OK" + else + echo "ERROR: Could not create directory '${SUBVOL_QUIRKS}/var'" + fi + else + echo "ERROR: Could not create directory '${SUBVOL_QUIRKS}/boot'" + fi + else + echo "ERROR: Could not create directory '${SUBVOL_QUIRKS}/etc'" + fi + else + echo "ERROR: Could not create directory '${SUBVOL_QUIRKS}/usr'" + fi + else + echo "ERROR: Could not create btrfs subvolume '${SUBVOL_QUIRKS}'" + fi + fi + else + echo "ERROR: Could not create directory '${DEPLOYMENT_QUIRKS}'" + fi +} \ No newline at end of file diff --git a/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration b/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration new file mode 100755 index 000000000..0c8897d74 --- /dev/null +++ b/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration @@ -0,0 +1,109 @@ +#! /bin/bash + +# Create the /etc and /var overlay + +frzr_migration_version=1 + +post_install() { + local MOUNT_PATH=$1 + local SUBVOL=$2 + local NAME=$3 + local FRZR_VER=$4 + + local DEPLOYMENT_QUIRKS="${MOUNT_PATH}/device_quirks" + local SUBVOL_QUIRKS="${DEPLOYMENT_QUIRKS}/${NAME}" + local SUBVOL_QUIRKS_WORKDIR="${DEPLOYMENT_QUIRKS}/${NAME}/workdir" + + # if this installation is being done on a refactored frzr apply device-quirks here + #if [ -z "${FRZR_VER}" ]; then + # echo "OK" + #else + if [ -n "${FIRMWARE_OVERRIDE}" ];then + if [ -d "${DEPLOYMENT_QUIRKS}" ]; then + if [ -d "${SUBVOL_QUIRKS}/usr" ]; then + if [ -d "${SUBVOL_QUIRKS}/etc" ]; then + if [ -d "${SUBVOL_QUIRKS}/boot" ]; then + if [ -d "${SUBVOL_QUIRKS}/var" ]; then + # Execute a batch of mounts + if mount -t proc /proc "${SUBVOL}/proc"; then + if mount -t sysfs /sys "${SUBVOL}/sys"; then + if mount --rbind /dev "${SUBVOL}/dev"; then + if [ -e "${SUBVOL}/usr/share/device-quirks/id-device" ]; then + # mount device quirks directory on /mnt + if mount --bind "${SUBVOL_QUIRKS}" "${SUBVOL}/mnt"; then + + # Create workdirs to mount the overlay + mkdir -p "${SUBVOL_QUIRKS_WORKDIR}/usr" + mkdir -p "${SUBVOL_QUIRKS_WORKDIR}/etc" + mkdir -p "${SUBVOL_QUIRKS_WORKDIR}/boot" + mkdir -p "${SUBVOL_QUIRKS_WORKDIR}/var" + + echo "export USE_FIRMWARE_OVERRIDES=1" > "${SUBVOL_QUIRKS}/etc/device-quirks.conf" + + if mount -t overlay -o lowerdir=${SUBVOL}/usr,upperdir=${SUBVOL_QUIRKS}/usr,workdir=${SUBVOL_QUIRKS_WORKDIR}/usr,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/usr"; then + if mount -t overlay -o lowerdir=${SUBVOL}/etc,upperdir=${SUBVOL_QUIRKS}/etc,workdir=${SUBVOL_QUIRKS_WORKDIR}/etc,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/etc"; then + if mount -t overlay -o lowerdir=${SUBVOL}/boot,upperdir=${SUBVOL_QUIRKS}/boot,workdir=${SUBVOL_QUIRKS_WORKDIR}/boot,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/boot"; then + if mount -t overlay -o lowerdir=${SUBVOL}/var,upperdir=${SUBVOL_QUIRKS}/var,workdir=${SUBVOL_QUIRKS_WORKDIR}/var,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/var"; then + # Run the following in chroot + chroot ${SUBVOL} /bin/bash < Date: Thu, 20 Jun 2024 20:31:56 +0200 Subject: [PATCH 005/128] Improve install quirks script --- .../install-0007-device-quirks-apply.migration | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration b/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration index 0c8897d74..e105bbacf 100755 --- a/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration +++ b/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration @@ -1,6 +1,6 @@ #! /bin/bash -# Create the /etc and /var overlay +# Install device-quirks frzr_migration_version=1 @@ -18,7 +18,7 @@ post_install() { #if [ -z "${FRZR_VER}" ]; then # echo "OK" #else - if [ -n "${FIRMWARE_OVERRIDE}" ];then + if [ -n "${FIRMWARE_OVERRIDE}" ]; then if [ -d "${DEPLOYMENT_QUIRKS}" ]; then if [ -d "${SUBVOL_QUIRKS}/usr" ]; then if [ -d "${SUBVOL_QUIRKS}/etc" ]; then @@ -46,9 +46,8 @@ post_install() { if mount -t overlay -o lowerdir=${SUBVOL}/var,upperdir=${SUBVOL_QUIRKS}/var,workdir=${SUBVOL_QUIRKS_WORKDIR}/var,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/var"; then # Run the following in chroot chroot ${SUBVOL} /bin/bash < Date: Thu, 20 Jun 2024 23:10:12 +0200 Subject: [PATCH 006/128] Fix PKGBUILD to include $srcdir consistently --- pkgs/chimeraos-dracut-cfg/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/chimeraos-dracut-cfg/PKGBUILD b/pkgs/chimeraos-dracut-cfg/PKGBUILD index 1bfc37899..f1126c615 100644 --- a/pkgs/chimeraos-dracut-cfg/PKGBUILD +++ b/pkgs/chimeraos-dracut-cfg/PKGBUILD @@ -65,7 +65,7 @@ package() { install -m 644 "$srcdir/60-chimeraos_exclude-networking.conf" "$pkgdir/etc/dracut.conf.d" install -m 644 "$srcdir/70-chimeraos_exclude-nvdimm.conf" "$pkgdir/etc/dracut.conf.d" install -m 644 "$srcdir/80-chimeraos_exclude-qemu.conf" "$pkgdir/etc/dracut.conf.d" - install -m 644 "90-chimeraos_exclude-bluetooth.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/90-chimeraos_exclude-bluetooth.conf" "$pkgdir/etc/dracut.conf.d" install -m 644 "$srcdir/60-dracut-remove.hook" "$pkgdir/etc/dracut.conf.d" install -m 644 "$srcdir/90-dracut-install.hook" "$pkgdir/etc/dracut.conf.d" From 82a9b325a79e6329e170abd954daf26c537ee433 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 22 Jun 2024 16:38:44 +0200 Subject: [PATCH 007/128] Formatting and better explaining migrations --- .../install-0002-systemd-boot.migration | 38 +++++++++---------- .../install-0003-root_part_gpt.migration | 4 +- .../frzr.d/install-0004-overlays.migration | 6 +-- .../install-0006-device-quirks.migration | 7 ++-- ...install-0007-device-quirks-apply.migration | 6 +-- .../install-0009-initramfs-renamed.migration | 6 +-- .../install-0010-default-subvol.migration | 6 +-- .../frzr.d/uninstall-0001-overlays.removal | 4 +- .../uninstall-0002-device-quirks.removal | 4 +- 9 files changed, 41 insertions(+), 40 deletions(-) diff --git a/rootfs/usr/lib/frzr.d/install-0002-systemd-boot.migration b/rootfs/usr/lib/frzr.d/install-0002-systemd-boot.migration index 02645bd2e..cb3d48535 100755 --- a/rootfs/usr/lib/frzr.d/install-0002-systemd-boot.migration +++ b/rootfs/usr/lib/frzr.d/install-0002-systemd-boot.migration @@ -5,30 +5,30 @@ frzr_migration_version=0 post_install() { - local MOUNT_PATH=$1 - local SUBVOL=$2 + local MOUNT_PATH=$1 + local SUBVOL=$2 local NAME=$3 - local FRZR_VER=$4 + local FRZR_VER=$4 - if [ -e ${MOUNT_PATH}/boot/loader/random-seed ]; then - # migration has already completed, exit silently - return 0 - fi + if [ -e ${MOUNT_PATH}/boot/loader/random-seed ]; then + # migration has already completed, exit silently + return 0 + fi - echo "Migrating to systemd-boot..." + echo "Migrating to systemd-boot..." - if [ "$#" -lt 1 ]; then - echo "Migration aborted: not enough arguments" - return 1 - fi + if [ "$#" -lt 1 ]; then + echo "Migration aborted: not enough arguments" + return 1 + fi - if [ ! -d /sys/firmware/efi/efivars ]; then - echo "Aborting: cannot migrate legacy BIOS install to systemd-boot" - return 0 - fi + if [ ! -d /sys/firmware/efi/efivars ]; then + echo "Aborting: cannot migrate legacy BIOS install to systemd-boot" + return 0 + fi - rm -rf ${MOUNT_PATH}/boot/EFI - bootctl --esp-path=${MOUNT_PATH}/boot/ install + rm -rf ${MOUNT_PATH}/boot/EFI + bootctl --esp-path=${MOUNT_PATH}/boot/ install - echo "Migration to systemd-boot complete" + echo "Migration to systemd-boot complete" } diff --git a/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration b/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration index a9d6d193f..08b1f8164 100755 --- a/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration +++ b/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration @@ -6,9 +6,9 @@ frzr_migration_version=1 post_install() { local MOUNT_PATH=$1 - local SUBVOL=$2 + local SUBVOL=$2 local NAME=$3 - local FRZR_VER=$4 + local FRZR_VER=$4 local subcmd=$(df -P "${SUBVOL}" | tail -n1 | cut -d' ' -f1) diff --git a/rootfs/usr/lib/frzr.d/install-0004-overlays.migration b/rootfs/usr/lib/frzr.d/install-0004-overlays.migration index 003866eab..8a8084f37 100755 --- a/rootfs/usr/lib/frzr.d/install-0004-overlays.migration +++ b/rootfs/usr/lib/frzr.d/install-0004-overlays.migration @@ -6,9 +6,9 @@ frzr_migration_version=1 post_install() { local MOUNT_PATH=$1 - local SUBVOL=$2 + local SUBVOL=$2 local NAME=$3 - local FRZR_VER=$4 + local FRZR_VER=$4 # check unlock-0001-overlays.migration DEPLOYMENT_DATA="${MOUNT_PATH}/deployments_data" @@ -24,7 +24,7 @@ post_install() { if [ -d "${OLD_SUBVOL_DATA}" ]; then local sysroot_snapshot="y" - + echo "Import current /etc and /var overlays to the new deployment..." btrfs subvol snapshot "${OLD_SUBVOL_DATA}" "${SUBVOL_DATA}" diff --git a/rootfs/usr/lib/frzr.d/install-0006-device-quirks.migration b/rootfs/usr/lib/frzr.d/install-0006-device-quirks.migration index 4f23d109a..2c6668a8a 100755 --- a/rootfs/usr/lib/frzr.d/install-0006-device-quirks.migration +++ b/rootfs/usr/lib/frzr.d/install-0006-device-quirks.migration @@ -1,14 +1,15 @@ #! /bin/bash -# Create the /etc and /var overlay +# Create overlays for /usr, /boot, /etc, /var for devices-quirks +# These overlays will be populates in the device-quirks-apply migration frzr_migration_version=1 post_install() { local MOUNT_PATH=$1 - local SUBVOL=$2 + local SUBVOL=$2 local NAME=$3 - local FRZR_VER=$4 + local FRZR_VER=$4 DEPLOYMENT_QUIRKS="${MOUNT_PATH}/device_quirks" SUBVOL_QUIRKS="${DEPLOYMENT_QUIRKS}/${NAME}" diff --git a/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration b/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration index e105bbacf..9b8493073 100755 --- a/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration +++ b/rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration @@ -1,14 +1,14 @@ #! /bin/bash -# Install device-quirks +# Install device-quirks (filling previously build overlays) frzr_migration_version=1 post_install() { local MOUNT_PATH=$1 - local SUBVOL=$2 + local SUBVOL=$2 local NAME=$3 - local FRZR_VER=$4 + local FRZR_VER=$4 local DEPLOYMENT_QUIRKS="${MOUNT_PATH}/device_quirks" local SUBVOL_QUIRKS="${DEPLOYMENT_QUIRKS}/${NAME}" diff --git a/rootfs/usr/lib/frzr.d/install-0009-initramfs-renamed.migration b/rootfs/usr/lib/frzr.d/install-0009-initramfs-renamed.migration index 34576bd56..bd78bc16b 100755 --- a/rootfs/usr/lib/frzr.d/install-0009-initramfs-renamed.migration +++ b/rootfs/usr/lib/frzr.d/install-0009-initramfs-renamed.migration @@ -5,10 +5,10 @@ frzr_migration_version=0 post_install() { - local MOUNT_PATH=$1 - local SUBVOL=$2 + local MOUNT_PATH=$1 + local SUBVOL=$2 local NAME=$3 - local FRZR_VER=$4 + local FRZR_VER=$4 if [ -d "${SUBVOL}/boot" ]; then local bootdir="${SUBVOL}/boot/" diff --git a/rootfs/usr/lib/frzr.d/install-0010-default-subvol.migration b/rootfs/usr/lib/frzr.d/install-0010-default-subvol.migration index 904e56c15..eae778ff7 100755 --- a/rootfs/usr/lib/frzr.d/install-0010-default-subvol.migration +++ b/rootfs/usr/lib/frzr.d/install-0010-default-subvol.migration @@ -5,10 +5,10 @@ frzr_migration_version=0 post_install() { - local MOUNT_PATH=$1 - local SUBVOL=$2 + local MOUNT_PATH=$1 + local SUBVOL=$2 local NAME=$3 - local FRZR_VER=$4 + local FRZR_VER=$4 local subvolid=$(btrfs subvolume show "${SUBVOL}" | grep "Subvolume ID:" | cut -d ':' -f 2 | tr -d '[:space:]') diff --git a/rootfs/usr/lib/frzr.d/uninstall-0001-overlays.removal b/rootfs/usr/lib/frzr.d/uninstall-0001-overlays.removal index 92414790c..380dbb5d4 100755 --- a/rootfs/usr/lib/frzr.d/uninstall-0001-overlays.removal +++ b/rootfs/usr/lib/frzr.d/uninstall-0001-overlays.removal @@ -20,9 +20,9 @@ check_subvol() { pre_removal() { local MOUNT_PATH=$1 - local SUBVOL=$2 + local SUBVOL=$2 local NAME=$3 - local FRZR_VER=$4 + local FRZR_VER=$4 DEPLOYMENT_DATA="${MOUNT_PATH}/deployments_data" SUBVOL_DATA="${DEPLOYMENT_DATA}/${NAME}" diff --git a/rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal b/rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal index 1a5d38994..550ba9cea 100755 --- a/rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal +++ b/rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal @@ -20,9 +20,9 @@ check_subvol() { pre_removal() { local MOUNT_PATH=$1 - local SUBVOL=$2 + local SUBVOL=$2 local NAME=$3 - local FRZR_VER=$4 + local FRZR_VER=$4 DEPLOYMENT_QUIRKS="${MOUNT_PATH}/device_quirks" SUBVOL_QUIRKS="${DEPLOYMENT_QUIRKS}/${NAME}" From 5ac4c22c2b8411ab953b282efef45f61666e0390 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 22 Jun 2024 16:40:47 +0200 Subject: [PATCH 008/128] Change description of device-quirks removal hook --- rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal b/rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal index 550ba9cea..af85fb8b5 100755 --- a/rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal +++ b/rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal @@ -1,6 +1,6 @@ #! /bin/bash -# Remove the deployment-specific data +# Remove the deployment-specific device-quirks frzr_migration_version=1 From 1a9e6164cbbed4d3ac15bbeb9fee406af036b624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20Ignacio=20Aramend=C3=ADa?= Date: Wed, 17 Jul 2024 20:35:39 -0300 Subject: [PATCH 009/128] Remove old, unused and broken lib32-gamescope --- manifest | 1 - 1 file changed, 1 deletion(-) diff --git a/manifest b/manifest index 1cfbe3cb4..d1f64937a 100644 --- a/manifest +++ b/manifest @@ -212,7 +212,6 @@ export AUR_PACKAGES="\ hhfc-git \ inputplumber-bin \ legendary \ - lib32-gamescope-plus \ libretro-dosbox-pure-git \ libretro-opera-git \ libretro-prosystem-git \ From 16ab338f0c49981178620e2f410b9a3039019929 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 24 Jul 2024 14:50:25 +0200 Subject: [PATCH 010/128] dracut: fix problems where package conflicting with mkinitcpio cannot be built --- pkgs/build-package.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/build-package.sh b/pkgs/build-package.sh index 7f848588c..65daa2721 100755 --- a/pkgs/build-package.sh +++ b/pkgs/build-package.sh @@ -4,6 +4,11 @@ set -x sudo chown -R build:build /workdir/pkgs +# ChimeraOS now uses dracut and excludes mkinitcpio due to pacman hooks causing problems +# Ensure package conflicting with mkinitcpio can be built +sudo pacman -S --noconfirm dracut +sudo pacman -R --noconfirm mkinitcpio + PIKAUR_CMD="PKGDEST=/workdir/pkgs pikaur --noconfirm --build-gpgdir /etc/pacman.d/gnupg -S -P /workdir/${1}/PKGBUILD" PIKAUR_RUN=(bash -c "${PIKAUR_CMD}") "${PIKAUR_RUN[@]}" From 063641dedbe632505c4589b009f9031c55708165 Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Wed, 24 Jul 2024 08:02:52 -0500 Subject: [PATCH 011/128] Remove aw87559 package We want to handle this using the device-quirks in the future. I'm removing it now due to issues with the source having a limited quota stalling development. --- manifest | 1 - 1 file changed, 1 deletion(-) diff --git a/manifest b/manifest index 503ae2ee9..0b1e786c2 100644 --- a/manifest +++ b/manifest @@ -196,7 +196,6 @@ export PACKAGE_OVERRIDES="\ # Check on the AUR webpage if you are unsure export AUR_PACKAGES="\ asusctl \ - aw87559-firmware \ ayaneo-platform-dkms-git \ ayn-platform-dkms-git \ bcm20702a1-firmware \ From 8295e25aed59495e8ed89004372c4fde1585fc8b Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 24 Jul 2024 18:33:11 +0200 Subject: [PATCH 012/128] Fix unbootable image chimeraos dracut configuration depends on btrfs-progs: install the package as a dependency of the dracut configuration package --- pkgs/chimeraos-dracut-cfg/PKGBUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/chimeraos-dracut-cfg/PKGBUILD b/pkgs/chimeraos-dracut-cfg/PKGBUILD index f1126c615..4813607fa 100644 --- a/pkgs/chimeraos-dracut-cfg/PKGBUILD +++ b/pkgs/chimeraos-dracut-cfg/PKGBUILD @@ -10,6 +10,7 @@ license=('MIT') depends=( 'dracut' # regenerate the initramfs #'plymouth' # support for boot animations + 'btrfs-progs' # btrfs hook 'binutils' # allow usage of --strip ) source=( From c2b33f5707de2c035a2b3e34901c8df50cfe55dd Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Wed, 24 Jul 2024 20:48:35 -0500 Subject: [PATCH 013/128] Attempt to add Nvidia support back The explicit sync support has hit stable with the Nvidia drivers and it is now possible for us to begin to support Nvidia again. --- manifest | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/manifest b/manifest index 0b1e786c2..40c046b6e 100644 --- a/manifest +++ b/manifest @@ -121,6 +121,12 @@ export PACKAGES="\ nfs-utils \ noto-fonts-emoji \ nss-mdns \ + nvidia \ + opencl-nvidia \ + lib32-opencl-nvidia \ + nvidia-utils \ + lib32-nvidia-utils \ + nvidia-prime \ openal \ openrazer-daemon \ openssh \ From bcd9919551cccf548fe4e1fe477bf675c997f1ca Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Wed, 24 Jul 2024 21:04:42 -0500 Subject: [PATCH 014/128] Add Nvidia DRM modesetting bootloader option We need to use nvidia drm modesetting for gamescope --- rootfs/usr/lib/frzr.d/bootconfig.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootfs/usr/lib/frzr.d/bootconfig.conf b/rootfs/usr/lib/frzr.d/bootconfig.conf index 6bade742b..4ce262e41 100644 --- a/rootfs/usr/lib/frzr.d/bootconfig.conf +++ b/rootfs/usr/lib/frzr.d/bootconfig.conf @@ -1 +1 @@ -ibt=off split_lock_detect=off iomem=relaxed nowatchdog +nvidia-drm.modeset=1 ibt=off split_lock_detect=off iomem=relaxed nowatchdog From 1cb0736c53b13dbce9831c0300af4853b1cd86df Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Thu, 25 Jul 2024 18:31:21 +0200 Subject: [PATCH 015/128] Fix installation in non-nvme and non-mmcblk device types --- rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration b/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration index 08b1f8164..ec37c9ec1 100755 --- a/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration +++ b/rootfs/usr/lib/frzr.d/install-0003-root_part_gpt.migration @@ -23,16 +23,17 @@ post_install() { echo "Fetching partition number of partition '$subcmd'" local part_number=$(echo "${subcmd: -1}") - local disk=$(echo "$subcmd" | sed 's/p[0-9]*$//') + local disk=$(echo "$subcmd" | sed -E 's/p[0-9]+$|[0-9]+$//') local filtered_uuid=$(echo "${possible_uuid}" | grep -E '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}') echo "Setting partition ${part_number} of disk ${disk} (UUID='${filtered_uuid}') to GPT type 'Linux Root (x86-64)'" if [ -z $filtered_uuid ] || [ -z $subcmd ] || [ -z part_number ] || [ -z disk ]; then - echo "Error retrieving the rootfs UUID: ${rootfs_uuid}" + echo "ERROR: Could not retrieve the rootfs UUID: ${rootfs_uuid}" exit 1 else echo "Writing the correct GPT type to the partition ${part_number} of disk ${disk}" parted --script "${disk}" type "${part_number}" "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709" + echo "OK" fi } \ No newline at end of file From 5c870f81bfaf7942072daeb79b5ac7fa866d3472 Mon Sep 17 00:00:00 2001 From: Matthew Anderson Date: Thu, 25 Jul 2024 13:30:53 -0500 Subject: [PATCH 016/128] Use Nvidia-dkms and nvidia-powerd --- manifest | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manifest b/manifest index 40c046b6e..6253fcdca 100644 --- a/manifest +++ b/manifest @@ -121,7 +121,7 @@ export PACKAGES="\ nfs-utils \ noto-fonts-emoji \ nss-mdns \ - nvidia \ + nvidia-dkms \ opencl-nvidia \ lib32-opencl-nvidia \ nvidia-utils \ @@ -254,6 +254,7 @@ export SERVICES="\ inputplumber \ inputplumber-resume \ lightdm \ + nvidia-powerd \ powerstation \ steam-powerbuttond \ sshd \ From e9e31b770ea82163382f5459ad4830530fca1735 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sat, 27 Jul 2024 11:02:08 +0200 Subject: [PATCH 017/128] update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 6253fcdca..6945dfe8b 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.9.9-chos2-1/linux-chimeraos-6.9.9.chos2-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.9.9-chos2-1/linux-chimeraos-headers-6.9.9.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.1-chos6-1/linux-chimeraos-6.10.1.chos6-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.1-chos6-1/linux-chimeraos-headers-6.10.1.chos6-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ From 7a4ad343be48aa960712aac3cde69a53a49f12a1 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sat, 27 Jul 2024 11:22:24 +0200 Subject: [PATCH 018/128] Revert "Use archlinux-aur as Docker base image and install InputPlumber as a dependency to build OpenGamepadUI" This reverts commit 3d800f631925f7fd5cbe858b69159b2827c1f5d5. --- Dockerfile | 65 ++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/Dockerfile b/Dockerfile index 052651584..3ebafb193 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,54 +1,51 @@ -FROM greyltc/archlinux-aur:latest +FROM archlinux:base-devel LABEL contributor="shadowapex@gmail.com" COPY rootfs/etc/pacman.conf /etc/pacman.conf RUN echo -e "keyserver-options auto-key-retrieve" >> /etc/pacman.d/gnupg/gpg.conf && \ - # Cannot check space in chroot - sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf && \ - pacman-key --init && \ - pacman --noconfirm -Syyuu && \ - pacman --noconfirm -S \ - arch-install-scripts \ - btrfs-progs \ - fmt \ - xcb-util-wm \ - wget \ - pyalpm \ - python \ - python-build \ - python-installer \ - python-hatchling \ - python-markdown-it-py \ - python-setuptools \ - python-wheel \ - sudo \ - && \ - pacman --noconfirm -S --needed git && \ - echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ - useradd build -G wheel -m && \ - su - build -c "git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur" && \ - su - build -c "cd /tmp/pikaur && makepkg -f" && \ - pacman --noconfirm -U /tmp/pikaur/pikaur-*.pkg.tar.zst + # Cannot check space in chroot + sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf && \ + pacman-key --init && \ + pacman --noconfirm -Syyuu && \ + pacman --noconfirm -S \ + arch-install-scripts \ + btrfs-progs \ + fmt \ + xcb-util-wm \ + wget \ + pyalpm \ + python \ + python-build \ + python-installer \ + python-hatchling \ + python-markdown-it-py \ + python-setuptools \ + python-wheel \ + sudo \ + && \ + pacman --noconfirm -S --needed git && \ + echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ + useradd build -G wheel -m && \ + su - build -c "git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur" && \ + su - build -c "cd /tmp/pikaur && makepkg -f" && \ + pacman --noconfirm -U /tmp/pikaur/pikaur-*.pkg.tar.zst # Auto add PGP keys for users RUN mkdir -p /etc/gnupg/ && echo -e "keyserver-options auto-key-retrieve" >> /etc/gnupg/gpg.conf # Add a fake systemd-run script to workaround pikaur requirement. RUN echo -e "#!/bin/bash\nif [[ \"$1\" == \"--version\" ]]; then echo 'fake 244 version'; fi\nmkdir -p /var/cache/pikaur\n" >> /usr/bin/systemd-run && \ - chmod +x /usr/bin/systemd-run + chmod +x /usr/bin/systemd-run # substitute check with !check to avoid running software from AUR in the build machine # also remove creation of debug packages. RUN sed -i '/BUILDENV/s/check/!check/g' /etc/makepkg.conf && \ - sed -i '/OPTIONS/s/debug/!debug/g' /etc/makepkg.conf - -# Install aur dependencies -RUN aur-install inputplumber-bin + sed -i '/OPTIONS/s/debug/!debug/g' /etc/makepkg.conf COPY manifest /manifest # Freeze packages and overwrite with overrides when needed RUN source /manifest && \ - echo "Server=https://archive.archlinux.org/repos/${ARCHIVE_DATE}/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist && \ - pacman --noconfirm -Syyuu; if [ -n "${PACKAGE_OVERRIDES}" ]; then wget --directory-prefix=/tmp/extra_pkgs ${PACKAGE_OVERRIDES}; pacman --noconfirm -U --overwrite '*' /tmp/extra_pkgs/*; rm -rf /tmp/extra_pkgs; fi + echo "Server=https://archive.archlinux.org/repos/${ARCHIVE_DATE}/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist && \ + pacman --noconfirm -Syyuu; if [ -n "${PACKAGE_OVERRIDES}" ]; then wget --directory-prefix=/tmp/extra_pkgs ${PACKAGE_OVERRIDES}; pacman --noconfirm -U --overwrite '*' /tmp/extra_pkgs/*; rm -rf /tmp/extra_pkgs; fi USER build ENV BUILD_USER "build" From b5009b088e750ce498fe0a755762e4afe70b164a Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sat, 27 Jul 2024 11:34:17 +0200 Subject: [PATCH 019/128] don't install kernel twice --- build-image.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/build-image.sh b/build-image.sh index ce09c3c08..df85af4a5 100755 --- a/build-image.sh +++ b/build-image.sh @@ -105,6 +105,7 @@ pacman -S --noconfirm dracut if [ "$KERNEL_PACKAGE_ORIGIN" == "local" ] ; then pacman --noconfirm -U --overwrite '*' \ /own_pkgs/${KERNEL_PACKAGE}-*.pkg.tar.zst + rm -rf /own_pkgs/${KERNEL_PACKAGE}-*.pkg.tar.zst else pacman --noconfirm -S "${KERNEL_PACKAGE}" "${KERNEL_PACKAGE}-headers" fi From 31769bd557110f78a8d10bf2001c726650651e76 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sat, 27 Jul 2024 11:41:30 +0200 Subject: [PATCH 020/128] update build flow --- .github/workflows/build-builder.yml | 2 +- .github/workflows/build-system-image.yml | 12 +++++++----- .github/workflows/main.yml | 14 +++++++------- .github/workflows/release-branch.yml | 2 +- .github/workflows/stable.yml | 14 +++++++------- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build-builder.yml b/.github/workflows/build-builder.yml index 6eee5e3e8..11041a37e 100644 --- a/.github/workflows/build-builder.yml +++ b/.github/workflows/build-builder.yml @@ -13,7 +13,7 @@ jobs: name: Build base docker image runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: diff --git a/.github/workflows/build-system-image.yml b/.github/workflows/build-system-image.yml index 83fc45702..b6c0a4acb 100644 --- a/.github/workflows/build-system-image.yml +++ b/.github/workflows/build-system-image.yml @@ -33,19 +33,21 @@ jobs: sudo rm -rf /opt/hostedtoolcache sudo rm -rf /opt/az df -h - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: AUR-packages + pattern: AUR-packages* + merge-multiple: true path: aur-pkgs/ - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: Packages + pattern: Packages* + merge-multiple: true path: pkgs/ - name: Build system image id: build_image diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d2b940ef4..b5f43e758 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,7 +22,7 @@ jobs: aur-pkgs: ${{ steps.set-aur-pkgs.outputs.matrix }} pkgs: ${{ steps.set-pkgs.outputs.matrix }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - id: set-aur-pkgs run: source ./manifest ; echo "matrix=$(echo ${AUR_PACKAGES} | jq -R -s -c 'split(" ")')" >> $GITHUB_OUTPUT shell: bash @@ -41,7 +41,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.aur-pkgs) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 @@ -52,9 +52,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/aur-pkgs/build-aur-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: AUR-packages + name: AUR-packages-${{ matrix.package }} path: aur-pkgs/*.pkg.tar* pkgbuild: @@ -68,7 +68,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.pkgs) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 @@ -79,9 +79,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/pkgs/build-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: Packages + name: Packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: pkgs/*.pkg.tar* build: diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index 8b9348b36..1f35d3b19 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Read version id: set-version run: | diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index b14d34d2a..e40f4624b 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -22,7 +22,7 @@ jobs: aur-pkgs: ${{ steps.set-aur-pkgs.outputs.matrix }} pkgs: ${{ steps.set-pkgs.outputs.matrix }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - id: set-aur-pkgs @@ -43,7 +43,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.aur-pkgs) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: Extract metadata (tags, labels) for Docker @@ -56,9 +56,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/aur-pkgs/build-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: AUR-packages + name: AUR-packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: aur-pkgs/*.pkg.tar* pkgbuild: @@ -72,7 +72,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.pkgs) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 @@ -83,9 +83,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/pkgs/build-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: Packages + name: Packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: pkgs/*.pkg.tar* build: From 25a3eab41daf0e7c6b510dc75b47ccbfffed8547 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sat, 27 Jul 2024 12:15:32 +0200 Subject: [PATCH 021/128] update docker actions --- .github/workflows/build-builder.yml | 6 +++--- .github/workflows/build-system-image.yml | 2 +- .github/workflows/main.yml | 4 ++-- .github/workflows/stable.yml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-builder.yml b/.github/workflows/build-builder.yml index 11041a37e..3cbae8598 100644 --- a/.github/workflows/build-builder.yml +++ b/.github/workflows/build-builder.yml @@ -15,18 +15,18 @@ jobs: steps: - uses: actions/checkout@v4 - name: Login to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push Docker image - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: context: . push: true diff --git a/.github/workflows/build-system-image.yml b/.github/workflows/build-system-image.yml index b6c0a4acb..c86b9a9a0 100644 --- a/.github/workflows/build-system-image.yml +++ b/.github/workflows/build-system-image.yml @@ -36,7 +36,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - uses: actions/download-artifact@v4 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b5f43e758..36fe05006 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,7 +44,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages @@ -71,7 +71,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index e40f4624b..7227c6cc3 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -48,7 +48,7 @@ jobs: submodules: recursive - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages @@ -75,7 +75,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages From b4bd858a6e81707518dd3b42b02dd6e2eca3a071 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 27 Jul 2024 17:11:04 +0200 Subject: [PATCH 022/128] fix /root directory still being readonly after unlocking the filesystem --- build-image.sh | 1 + rootfs/usr/lib/frzr.d/install-0004-overlays.migration | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/build-image.sh b/build-image.sh index df85af4a5..d6556e710 100755 --- a/build-image.sh +++ b/build-image.sh @@ -174,6 +174,7 @@ Subsystem sftp /usr/lib/ssh/sftp-server echo " LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime,nodatacow 0 2 LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nodatacow,nofail 0 0 +overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/frzr_root/kernels/boot:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/boot:/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/frzr_root/kernels/usr:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/usr:/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/frzr_root/kernels/etc:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/etc:/sysroot/etc,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=etcoverlay 0 0 diff --git a/rootfs/usr/lib/frzr.d/install-0004-overlays.migration b/rootfs/usr/lib/frzr.d/install-0004-overlays.migration index 8a8084f37..866f666cb 100755 --- a/rootfs/usr/lib/frzr.d/install-0004-overlays.migration +++ b/rootfs/usr/lib/frzr.d/install-0004-overlays.migration @@ -33,12 +33,12 @@ post_install() { # clear the old /usr overlay if [ -d "${SUBVOL_DATA}/usr_overlay" ]; then - rm -rf "${SUBVOL_DATA}/usr_overlay" + rmdir "${SUBVOL_DATA}/usr_overlay" fi # clear the old /boot overlay if [ -d "${SUBVOL_DATA}/boot_overlay" ]; then - rm -rf "${SUBVOL_DATA}/boot_overlay" + rmdir "${SUBVOL_DATA}/boot_overlay" fi else echo "No previous overlay found: creating the overlay" @@ -52,6 +52,9 @@ post_install() { mkdir -p "${SUBVOL_DATA}/etc_overlay/workdir" mkdir -p "${SUBVOL_DATA}/var_overlay/upperdir" mkdir -p "${SUBVOL_DATA}/var_overlay/workdir" + mkdir -p "${SUBVOL_DATA}/root_overlay" + mkdir -p "${SUBVOL_DATA}/root_overlay/upperdir" + mkdir -p "${SUBVOL_DATA}/root_overlay/workdir" btrfs subvol create "${SUBVOL_DATA}/usr_overlay" mkdir "${SUBVOL_DATA}/usr_overlay/upperdir" mkdir "${SUBVOL_DATA}/usr_overlay/workdir" @@ -62,7 +65,7 @@ post_install() { btrfs property set -fts "${SUBVOL_DATA}/usr_overlay" ro true btrfs property set -fts "${SUBVOL_DATA}/boot_overlay" ro true - if [ ! -d "${MOUNT_PATH}/usr" ] && [ -d "${MOUNT_PATH}/etc" ] && [ -z $sysroot_snapshot ] && [ -d "${MOUNT_PATH}/.etc" ] && [ -z $sysroot_snapshot ]; then + if [ ! -d "${MOUNT_PATH}/usr" ] && [ -d "${MOUNT_PATH}/etc" ] && [ -z "$sysroot_snapshot" ] && [ -d "${MOUNT_PATH}/.etc" ]; then echo "Cloning the /etc overlay upperdir from '${MOUNT_PATH}/etc/' to '${SUBVOL_DATA}/etc_overlay/upperdir'..." cp -a "${MOUNT_PATH}/etc" "${SUBVOL_DATA}/etc_overlay/" rm -rf "${SUBVOL_DATA}/etc_overlay/upperdir" @@ -90,4 +93,6 @@ post_install() { echo "Clearing up pacman old pacman gnupg overlay in '${SUBVOL_DATA}/etc_overlay/upperdir/pacman.d/gnupg'..." rm -rf "${SUBVOL_DATA}/etc_overlay/upperdir/pacman.d/gnupg" fi + + echo "OK" } \ No newline at end of file From 474d3ef7de27fe5c5d441fe9c37b5af2f55decb1 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sun, 28 Jul 2024 01:08:36 +0200 Subject: [PATCH 023/128] don't compress artifacts (double compression that way) --- .github/workflows/main.yml | 2 ++ .github/workflows/stable.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 36fe05006..00f4f7ad3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,6 +56,7 @@ jobs: with: name: AUR-packages-${{ matrix.package }} path: aur-pkgs/*.pkg.tar* + compression-level: 0 pkgbuild: needs: @@ -83,6 +84,7 @@ jobs: with: name: Packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: pkgs/*.pkg.tar* + compression-level: 0 build: needs: diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index 7227c6cc3..425af0c44 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -60,6 +60,7 @@ jobs: with: name: AUR-packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: aur-pkgs/*.pkg.tar* + compression-level: 0 pkgbuild: needs: @@ -87,6 +88,7 @@ jobs: with: name: Packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: pkgs/*.pkg.tar* + compression-level: 0 build: needs: From 0e176e023fc81692c1afc9aadf20bae0b4accdda Mon Sep 17 00:00:00 2001 From: bouhaa Date: Sun, 28 Jul 2024 15:30:07 +0200 Subject: [PATCH 024/128] Update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 6945dfe8b..56d12ed95 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.1-chos6-1/linux-chimeraos-6.10.1.chos6-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.1-chos6-1/linux-chimeraos-headers-6.10.1.chos6-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos1-1/linux-chimeraos-6.10.2.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos1-1/linux-chimeraos-headers-6.10.2.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ From 513a70fe1364fe6333f64fc5c5eb56e24de14759 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 28 Jul 2024 15:45:47 +0200 Subject: [PATCH 025/128] Remove useless entries from dracut configuration --- pkgs/chimeraos-dracut-cfg/PKGBUILD | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/chimeraos-dracut-cfg/PKGBUILD b/pkgs/chimeraos-dracut-cfg/PKGBUILD index 4813607fa..bcf73e214 100644 --- a/pkgs/chimeraos-dracut-cfg/PKGBUILD +++ b/pkgs/chimeraos-dracut-cfg/PKGBUILD @@ -67,8 +67,5 @@ package() { install -m 644 "$srcdir/70-chimeraos_exclude-nvdimm.conf" "$pkgdir/etc/dracut.conf.d" install -m 644 "$srcdir/80-chimeraos_exclude-qemu.conf" "$pkgdir/etc/dracut.conf.d" install -m 644 "$srcdir/90-chimeraos_exclude-bluetooth.conf" "$pkgdir/etc/dracut.conf.d" - - install -m 644 "$srcdir/60-dracut-remove.hook" "$pkgdir/etc/dracut.conf.d" - install -m 644 "$srcdir/90-dracut-install.hook" "$pkgdir/etc/dracut.conf.d" } From b4063882603577a74a45ef2af5f853458bafa6a0 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sun, 28 Jul 2024 19:49:57 +0200 Subject: [PATCH 026/128] Revert "don't install kernel twice" This reverts commit b5009b088e750ce498fe0a755762e4afe70b164a. --- build-image.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/build-image.sh b/build-image.sh index d6556e710..898e9ebb6 100755 --- a/build-image.sh +++ b/build-image.sh @@ -105,7 +105,6 @@ pacman -S --noconfirm dracut if [ "$KERNEL_PACKAGE_ORIGIN" == "local" ] ; then pacman --noconfirm -U --overwrite '*' \ /own_pkgs/${KERNEL_PACKAGE}-*.pkg.tar.zst - rm -rf /own_pkgs/${KERNEL_PACKAGE}-*.pkg.tar.zst else pacman --noconfirm -S "${KERNEL_PACKAGE}" "${KERNEL_PACKAGE}-headers" fi From 3930cdf27ba342bc6130953a04213b3fcc53a16c Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sun, 28 Jul 2024 19:25:48 +0200 Subject: [PATCH 027/128] Revert "update docker actions" This reverts commit 25a3eab41daf0e7c6b510dc75b47ccbfffed8547. --- .github/workflows/build-builder.yml | 6 +++--- .github/workflows/build-system-image.yml | 2 +- .github/workflows/main.yml | 4 ++-- .github/workflows/stable.yml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-builder.yml b/.github/workflows/build-builder.yml index 3cbae8598..11041a37e 100644 --- a/.github/workflows/build-builder.yml +++ b/.github/workflows/build-builder.yml @@ -15,18 +15,18 @@ jobs: steps: - uses: actions/checkout@v4 - name: Login to GitHub Container Registry - uses: docker/login-action@v3 + uses: docker/login-action@v2 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push Docker image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v4 with: context: . push: true diff --git a/.github/workflows/build-system-image.yml b/.github/workflows/build-system-image.yml index c86b9a9a0..b6c0a4acb 100644 --- a/.github/workflows/build-system-image.yml +++ b/.github/workflows/build-system-image.yml @@ -36,7 +36,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - uses: actions/download-artifact@v4 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 00f4f7ad3..bf0b7fbc6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,7 +44,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages @@ -72,7 +72,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index 425af0c44..ebc83dc2c 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -48,7 +48,7 @@ jobs: submodules: recursive - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages @@ -76,7 +76,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages From b962bef5be64bbea506239aed5301c9dc500e510 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sun, 28 Jul 2024 19:25:51 +0200 Subject: [PATCH 028/128] Revert "update build flow" This reverts commit 31769bd557110f78a8d10bf2001c726650651e76. --- .github/workflows/build-builder.yml | 2 +- .github/workflows/build-system-image.yml | 12 +++++------- .github/workflows/main.yml | 14 +++++++------- .github/workflows/release-branch.yml | 2 +- .github/workflows/stable.yml | 14 +++++++------- 5 files changed, 21 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build-builder.yml b/.github/workflows/build-builder.yml index 11041a37e..6eee5e3e8 100644 --- a/.github/workflows/build-builder.yml +++ b/.github/workflows/build-builder.yml @@ -13,7 +13,7 @@ jobs: name: Build base docker image runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: diff --git a/.github/workflows/build-system-image.yml b/.github/workflows/build-system-image.yml index b6c0a4acb..83fc45702 100644 --- a/.github/workflows/build-system-image.yml +++ b/.github/workflows/build-system-image.yml @@ -33,21 +33,19 @@ jobs: sudo rm -rf /opt/hostedtoolcache sudo rm -rf /opt/az df -h - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v3 with: - pattern: AUR-packages* - merge-multiple: true + name: AUR-packages path: aur-pkgs/ - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v3 with: - pattern: Packages* - merge-multiple: true + name: Packages path: pkgs/ - name: Build system image id: build_image diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bf0b7fbc6..48066c948 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,7 +22,7 @@ jobs: aur-pkgs: ${{ steps.set-aur-pkgs.outputs.matrix }} pkgs: ${{ steps.set-pkgs.outputs.matrix }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - id: set-aur-pkgs run: source ./manifest ; echo "matrix=$(echo ${AUR_PACKAGES} | jq -R -s -c 'split(" ")')" >> $GITHUB_OUTPUT shell: bash @@ -41,7 +41,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.aur-pkgs) }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 @@ -52,9 +52,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/aur-pkgs/build-aur-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v3 with: - name: AUR-packages-${{ matrix.package }} + name: AUR-packages path: aur-pkgs/*.pkg.tar* compression-level: 0 @@ -69,7 +69,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.pkgs) }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 @@ -80,9 +80,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/pkgs/build-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v3 with: - name: Packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} + name: Packages path: pkgs/*.pkg.tar* compression-level: 0 diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index 1f35d3b19..8b9348b36 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - name: Read version id: set-version run: | diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index ebc83dc2c..a6b16e739 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -22,7 +22,7 @@ jobs: aur-pkgs: ${{ steps.set-aur-pkgs.outputs.matrix }} pkgs: ${{ steps.set-pkgs.outputs.matrix }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 with: submodules: recursive - id: set-aur-pkgs @@ -43,7 +43,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.aur-pkgs) }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 with: submodules: recursive - name: Extract metadata (tags, labels) for Docker @@ -56,9 +56,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/aur-pkgs/build-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v3 with: - name: AUR-packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} + name: AUR-packages path: aur-pkgs/*.pkg.tar* compression-level: 0 @@ -73,7 +73,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.pkgs) }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 @@ -84,9 +84,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/pkgs/build-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v3 with: - name: Packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} + name: Packages path: pkgs/*.pkg.tar* compression-level: 0 From e173441b068e65e403a5649ef35f7850fb79ca8a Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sun, 28 Jul 2024 19:27:27 +0200 Subject: [PATCH 029/128] Revert "don't compress artifacts (double compression that way)" This reverts commit 474d3ef7de27fe5c5d441fe9c37b5af2f55decb1. --- .github/workflows/main.yml | 2 -- .github/workflows/stable.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 48066c948..d2b940ef4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,7 +56,6 @@ jobs: with: name: AUR-packages path: aur-pkgs/*.pkg.tar* - compression-level: 0 pkgbuild: needs: @@ -84,7 +83,6 @@ jobs: with: name: Packages path: pkgs/*.pkg.tar* - compression-level: 0 build: needs: diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index a6b16e739..b14d34d2a 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -60,7 +60,6 @@ jobs: with: name: AUR-packages path: aur-pkgs/*.pkg.tar* - compression-level: 0 pkgbuild: needs: @@ -88,7 +87,6 @@ jobs: with: name: Packages path: pkgs/*.pkg.tar* - compression-level: 0 build: needs: From 7e308f1c0277d7d939b377a9b89b56df942be914 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sat, 27 Jul 2024 11:41:30 +0200 Subject: [PATCH 030/128] update build flow --- .github/workflows/build-builder.yml | 2 +- .github/workflows/build-system-image.yml | 12 +++++++----- .github/workflows/main.yml | 14 +++++++------- .github/workflows/release-branch.yml | 2 +- .github/workflows/stable.yml | 14 +++++++------- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build-builder.yml b/.github/workflows/build-builder.yml index 6eee5e3e8..11041a37e 100644 --- a/.github/workflows/build-builder.yml +++ b/.github/workflows/build-builder.yml @@ -13,7 +13,7 @@ jobs: name: Build base docker image runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: diff --git a/.github/workflows/build-system-image.yml b/.github/workflows/build-system-image.yml index 83fc45702..b6c0a4acb 100644 --- a/.github/workflows/build-system-image.yml +++ b/.github/workflows/build-system-image.yml @@ -33,19 +33,21 @@ jobs: sudo rm -rf /opt/hostedtoolcache sudo rm -rf /opt/az df -h - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: AUR-packages + pattern: AUR-packages* + merge-multiple: true path: aur-pkgs/ - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: Packages + pattern: Packages* + merge-multiple: true path: pkgs/ - name: Build system image id: build_image diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d2b940ef4..b5f43e758 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,7 +22,7 @@ jobs: aur-pkgs: ${{ steps.set-aur-pkgs.outputs.matrix }} pkgs: ${{ steps.set-pkgs.outputs.matrix }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - id: set-aur-pkgs run: source ./manifest ; echo "matrix=$(echo ${AUR_PACKAGES} | jq -R -s -c 'split(" ")')" >> $GITHUB_OUTPUT shell: bash @@ -41,7 +41,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.aur-pkgs) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 @@ -52,9 +52,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/aur-pkgs/build-aur-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: AUR-packages + name: AUR-packages-${{ matrix.package }} path: aur-pkgs/*.pkg.tar* pkgbuild: @@ -68,7 +68,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.pkgs) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 @@ -79,9 +79,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/pkgs/build-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: Packages + name: Packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: pkgs/*.pkg.tar* build: diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index 8b9348b36..1f35d3b19 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Read version id: set-version run: | diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index b14d34d2a..e40f4624b 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -22,7 +22,7 @@ jobs: aur-pkgs: ${{ steps.set-aur-pkgs.outputs.matrix }} pkgs: ${{ steps.set-pkgs.outputs.matrix }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - id: set-aur-pkgs @@ -43,7 +43,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.aur-pkgs) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: Extract metadata (tags, labels) for Docker @@ -56,9 +56,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/aur-pkgs/build-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: AUR-packages + name: AUR-packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: aur-pkgs/*.pkg.tar* pkgbuild: @@ -72,7 +72,7 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.pkgs) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v4 @@ -83,9 +83,9 @@ jobs: docker pull ${{ steps.meta.outputs.tags }} docker run --rm -v $(pwd):/workdir --entrypoint=/workdir/pkgs/build-package.sh ${{ steps.meta.outputs.tags }} ${{ matrix.package }} - name: Upload Package Archives - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: Packages + name: Packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: pkgs/*.pkg.tar* build: From 6c455dc7ae020e2df7d27e6712320de9d4c59915 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sat, 27 Jul 2024 12:15:32 +0200 Subject: [PATCH 031/128] update docker actions --- .github/workflows/build-builder.yml | 6 +++--- .github/workflows/build-system-image.yml | 2 +- .github/workflows/main.yml | 4 ++-- .github/workflows/stable.yml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-builder.yml b/.github/workflows/build-builder.yml index 11041a37e..3cbae8598 100644 --- a/.github/workflows/build-builder.yml +++ b/.github/workflows/build-builder.yml @@ -15,18 +15,18 @@ jobs: steps: - uses: actions/checkout@v4 - name: Login to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push Docker image - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: context: . push: true diff --git a/.github/workflows/build-system-image.yml b/.github/workflows/build-system-image.yml index b6c0a4acb..c86b9a9a0 100644 --- a/.github/workflows/build-system-image.yml +++ b/.github/workflows/build-system-image.yml @@ -36,7 +36,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - uses: actions/download-artifact@v4 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b5f43e758..36fe05006 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,7 +44,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages @@ -71,7 +71,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index e40f4624b..7227c6cc3 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -48,7 +48,7 @@ jobs: submodules: recursive - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages @@ -75,7 +75,7 @@ jobs: - uses: actions/checkout@v4 - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build packages From 6c953ea6eb63e4115343dc90e16a7dc08615d84d Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sun, 28 Jul 2024 01:08:36 +0200 Subject: [PATCH 032/128] don't compress artifacts (double compression that way) --- .github/workflows/main.yml | 2 ++ .github/workflows/stable.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 36fe05006..00f4f7ad3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,6 +56,7 @@ jobs: with: name: AUR-packages-${{ matrix.package }} path: aur-pkgs/*.pkg.tar* + compression-level: 0 pkgbuild: needs: @@ -83,6 +84,7 @@ jobs: with: name: Packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: pkgs/*.pkg.tar* + compression-level: 0 build: needs: diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index 7227c6cc3..425af0c44 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -60,6 +60,7 @@ jobs: with: name: AUR-packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: aur-pkgs/*.pkg.tar* + compression-level: 0 pkgbuild: needs: @@ -87,6 +88,7 @@ jobs: with: name: Packages-${{ hashFiles(format('{0}/PKGBUILD', matrix.package)) }} path: pkgs/*.pkg.tar* + compression-level: 0 build: needs: From f4e888023b4784fb44398ab9528d25365edca03b Mon Sep 17 00:00:00 2001 From: bouhaa Date: Mon, 29 Jul 2024 21:07:08 +0200 Subject: [PATCH 033/128] Update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 56d12ed95..d5d32e666 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos1-1/linux-chimeraos-6.10.2.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos1-1/linux-chimeraos-headers-6.10.2.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos1-2/linux-chimeraos-6.10.2.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos1-2/linux-chimeraos-headers-6.10.2.chos1-2-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ From 2f96808bcda9a1f2f818018b97030a84ffe8afe4 Mon Sep 17 00:00:00 2001 From: bouhaa Date: Wed, 31 Jul 2024 19:17:54 +0200 Subject: [PATCH 034/128] Update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index d5d32e666..b0b282229 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos1-2/linux-chimeraos-6.10.2.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos1-2/linux-chimeraos-headers-6.10.2.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos2-1/linux-chimeraos-6.10.2.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos2-1/linux-chimeraos-headers-6.10.2.chos2-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ From 5593fbb806998da09cb320dba902aa9feeb57b23 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Sat, 3 Aug 2024 14:36:57 +0200 Subject: [PATCH 035/128] trigger build From 641c68c1e2e56be2fccb828e60561d2c6d9258d0 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Mon, 5 Aug 2024 16:48:07 +0200 Subject: [PATCH 036/128] Move the whole pacman directory --- build-image.sh | 4 ++-- rootfs/usr/lib/frzr.d/unlock-0002-pacman-db.unlock | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build-image.sh b/build-image.sh index 898e9ebb6..4ac6a0f17 100755 --- a/build-image.sh +++ b/build-image.sh @@ -209,8 +209,8 @@ postinstallhook pacman -Q > /manifest # preserve installed package database -mkdir -p /usr/var/lib/pacman -cp -a /var/lib/pacman/local /usr/var/lib/pacman/ +mkdir -p /usr/var/lib/ +mv /var/lib/pacman /usr/var/lib/ # Remove the fallback: it is never used and takes up space if [ -e "/boot/initramfs-${KERNEL_PACKAGE}-fallback.img" ]; then diff --git a/rootfs/usr/lib/frzr.d/unlock-0002-pacman-db.unlock b/rootfs/usr/lib/frzr.d/unlock-0002-pacman-db.unlock index c3ea75277..1166f96ae 100755 --- a/rootfs/usr/lib/frzr.d/unlock-0002-pacman-db.unlock +++ b/rootfs/usr/lib/frzr.d/unlock-0002-pacman-db.unlock @@ -15,10 +15,10 @@ post_unlock() { SUBVOL_DATA="${DEPLOYMENT_DATA}/${NAME}" if [ -d "${SUBVOL_DATA}/var_overlay/upperdir" ]; then - if cp -a "${SUBVOL}/usr/var/lib/pacman/local" "${SUBVOL_DATA}/var_overlay/upperdir/lib/pacman/"; then + if cp -a "${SUBVOL}/usr/var/lib/pacman" "${SUBVOL_DATA}/var_overlay/upperdir/lib/"; then echo "OK" else - echo "ERROR: Could not copy the pacman database at '${SUBVOL_DATA}/var_overlay/upperdir/lib/pacman'" + echo "ERROR: Could not copy the pacman database at '${SUBVOL_DATA}/var_overlay/upperdir/lib/'" fi else echo "ERROR: Could not find the /var overlay directory '${SUBVOL_DATA}/var_overlay/upperdir'" From 4d9198cb76b0f5d5d9d4ee9d7195bfde92f0bd16 Mon Sep 17 00:00:00 2001 From: bouhaa Date: Tue, 6 Aug 2024 06:50:44 +0200 Subject: [PATCH 037/128] Update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index b0b282229..afd29b070 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos2-1/linux-chimeraos-6.10.2.chos2-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.2-chos2-1/linux-chimeraos-headers-6.10.2.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos1-1/linux-chimeraos-6.10.3.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos1-1/linux-chimeraos-headers-6.10.2.chos3-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ From 50d95cf488c0756923eeb81da50ba1506f1ab823 Mon Sep 17 00:00:00 2001 From: bouhaa Date: Tue, 6 Aug 2024 08:05:55 +0200 Subject: [PATCH 038/128] Update kernel, fix typo --- manifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest b/manifest index afd29b070..df7f1b2ca 100644 --- a/manifest +++ b/manifest @@ -174,7 +174,7 @@ export PACKAGES="\ export PACKAGE_OVERRIDES="\ https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos1-1/linux-chimeraos-6.10.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos1-1/linux-chimeraos-headers-6.10.2.chos3-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos1-1/linux-chimeraos-headers-6.10.3.chos3-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ From 446d5059918167abb5380a4a66b898c7385c5cf6 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Tue, 6 Aug 2024 16:52:46 +0200 Subject: [PATCH 039/128] update kernel --- manifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest b/manifest index df7f1b2ca..ca593fa45 100644 --- a/manifest +++ b/manifest @@ -174,7 +174,7 @@ export PACKAGES="\ export PACKAGE_OVERRIDES="\ https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos1-1/linux-chimeraos-6.10.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos1-1/linux-chimeraos-headers-6.10.3.chos3-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos1-1/linux-chimeraos-headers-6.10.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ From c79b8ea70d0cd1a58befd2319ab8bba0d3f20f23 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Tue, 6 Aug 2024 20:22:18 +0200 Subject: [PATCH 040/128] add preempt=full to kernel This is also what valve uses for SteamOS [skip ci] --- rootfs/usr/lib/frzr.d/bootconfig.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootfs/usr/lib/frzr.d/bootconfig.conf b/rootfs/usr/lib/frzr.d/bootconfig.conf index 4ce262e41..485bc0fea 100644 --- a/rootfs/usr/lib/frzr.d/bootconfig.conf +++ b/rootfs/usr/lib/frzr.d/bootconfig.conf @@ -1 +1 @@ -nvidia-drm.modeset=1 ibt=off split_lock_detect=off iomem=relaxed nowatchdog +nvidia-drm.modeset=1 ibt=off split_lock_detect=off iomem=relaxed preempt=full nowatchdog From 83095aa80068b7586316501aeb4fb5133d3eabfe Mon Sep 17 00:00:00 2001 From: bouhaa Date: Wed, 7 Aug 2024 22:35:59 +0200 Subject: [PATCH 041/128] Update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index ca593fa45..24e83611b 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos1-1/linux-chimeraos-6.10.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos1-1/linux-chimeraos-headers-6.10.3.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos2-1/linux-chimeraos-6.10.3.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos2-1/linux-chimeraos-headers-6.10.3.chos2-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ From 1271254ade5eb6a5e521f493f6500ea6c61ba9c2 Mon Sep 17 00:00:00 2001 From: bouhaa Date: Mon, 12 Aug 2024 22:58:30 +0200 Subject: [PATCH 042/128] Update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 24e83611b..1e5200c58 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos2-1/linux-chimeraos-6.10.3.chos2-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.3-chos2-1/linux-chimeraos-headers-6.10.3.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.4-chos2-1/linux-chimeraos-6.10.4.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.4-chos2-1/linux-chimeraos-headers-6.10.4.chos2-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ From 1b179a1533fefcf6c02de9a81994cfed36fc1d15 Mon Sep 17 00:00:00 2001 From: bouhaa Date: Mon, 12 Aug 2024 23:48:48 +0200 Subject: [PATCH 043/128] Remove inputplumber service --- manifest | 1 - 1 file changed, 1 deletion(-) diff --git a/manifest b/manifest index 1e5200c58..0b0b17188 100644 --- a/manifest +++ b/manifest @@ -252,7 +252,6 @@ export SERVICES="\ haveged \ home-swapfile.swap \ inputplumber \ - inputplumber-resume \ lightdm \ nvidia-powerd \ powerstation \ From 26bb07129c1c192a79b497ab1782e6b063e77d3c Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 14 Aug 2024 20:29:47 +0200 Subject: [PATCH 044/128] Update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 0b0b17188..b756567c4 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.4-chos2-1/linux-chimeraos-6.10.4.chos2-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.4-chos2-1/linux-chimeraos-headers-6.10.4.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.4-chos4-1/linux-chimeraos-6.10.4.chos4-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.4-chos4-1/linux-chimeraos-headers-6.10.4.chos4-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ From 69240cd2ea4e9e41219cbe2bf41095d3010434bf Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 14 Aug 2024 21:04:57 +0200 Subject: [PATCH 045/128] hack: solve opengamepadui build dependency --- aur-pkgs/build-aur-packages.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/aur-pkgs/build-aur-packages.sh b/aur-pkgs/build-aur-packages.sh index e955ee14f..ff2bd3ecf 100755 --- a/aur-pkgs/build-aur-packages.sh +++ b/aur-pkgs/build-aur-packages.sh @@ -8,6 +8,8 @@ source manifest; sudo mkdir -p /workdir/aur-pkgs sudo chown build:build /workdir/aur-pkgs +pikaur --noconfirm -S inputplumber-bin + PIKAUR_CMD="PKGDEST=/workdir/aur-pkgs pikaur --noconfirm -Sw ${AUR_PACKAGES}" PIKAUR_RUN=(bash -c "${PIKAUR_CMD}") "${PIKAUR_RUN[@]}" \ No newline at end of file From 7044eb10bcd6fd4f5ec4ddd63b567955ab24bd8c Mon Sep 17 00:00:00 2001 From: bouhaa Date: Wed, 14 Aug 2024 21:33:58 +0200 Subject: [PATCH 046/128] Hack: install inputplumber --- aur-pkgs/build-aur-package.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/aur-pkgs/build-aur-package.sh b/aur-pkgs/build-aur-package.sh index 0c673e6fd..d0814637e 100755 --- a/aur-pkgs/build-aur-package.sh +++ b/aur-pkgs/build-aur-package.sh @@ -11,6 +11,8 @@ sudo chown build:build /workdir/aur-pkgs git clone --depth=1 https://aur.archlinux.org/${1}.git /temp/package +pikaur --noconfirm -S inputplumber-bin + PIKAUR_CMD="PKGDEST=/workdir/aur-pkgs pikaur --noconfirm --build-gpgdir /etc/pacman.d/gnupg -S -P /temp/package/PKGBUILD" PIKAUR_RUN=(bash -c "${PIKAUR_CMD}") "${PIKAUR_RUN[@]}" @@ -20,4 +22,4 @@ if [ $? -ne 0 ]; then exit -1 fi # remove any epoch (:) in name, replace with -- since not allowed in artifacts -find /workdir/aur-pkgs/*.pkg.tar* -type f -name '*:*' -execdir bash -c 'mv "$1" "${1//:/--}"' bash {} \; \ No newline at end of file +find /workdir/aur-pkgs/*.pkg.tar* -type f -name '*:*' -execdir bash -c 'mv "$1" "${1//:/--}"' bash {} \; From 8034215b9adbd7464971e4418e40f0c2e4846c13 Mon Sep 17 00:00:00 2001 From: "Derek J. Clark" Date: Wed, 14 Aug 2024 14:06:09 -0700 Subject: [PATCH 047/128] Add xpadneo-dkms-git module to support bluetooth xbox controllers --- manifest | 79 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/manifest b/manifest index b756567c4..5117f3a2b 100644 --- a/manifest +++ b/manifest @@ -240,6 +240,7 @@ export AUR_PACKAGES="\ steam-powerbuttond-git \ steam-removable-media-git \ wyvern \ + xpadneo-dkms-git \ zenergy-dkms-git \ " @@ -277,53 +278,53 @@ export FILES_TO_DELETE="\ " postinstallhook() { - # Add sudo permissions - sed -i '/%wheel ALL=(ALL:ALL) ALL/s/^# //g' /etc/sudoers - echo "${USERNAME} ALL=(ALL) NOPASSWD: /usr/bin/dmidecode -t 11 + # Add sudo permissions + sed -i '/%wheel ALL=(ALL:ALL) ALL/s/^# //g' /etc/sudoers + echo "${USERNAME} ALL=(ALL) NOPASSWD: /usr/bin/dmidecode -t 11 " >/etc/sudoers.d/steam - echo "${USERNAME} ALL=(ALL) NOPASSWD: /usr/bin/chimera-session-use-gamescope + echo "${USERNAME} ALL=(ALL) NOPASSWD: /usr/bin/chimera-session-use-gamescope ${USERNAME} ALL=(ALL) NOPASSWD: /usr/bin/chimera-session-use-lightdm ${USERNAME} ALL=(ALL) NOPASSWD: /usr/share/chimera/bin/power-tool " >/etc/sudoers.d/chimera - # download and add racing wheel udev rules - pushd /usr/lib/udev/rules.d - curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-fanatec-wheel-perms.rules - curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-logitech-wheel-perms.rules - curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-thrustmaster-wheel-perms.rules - popd + # download and add racing wheel udev rules + pushd /usr/lib/udev/rules.d + curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-fanatec-wheel-perms.rules + curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-logitech-wheel-perms.rules + curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-thrustmaster-wheel-perms.rules + popd - # Remove build tools for slimmer image - rm /usr/share/libalpm/hooks/70-dkms-install.hook - rm /usr/share/libalpm/hooks/70-dkms-upgrade.hook - rm /usr/share/libalpm/hooks/71-dkms-remove.hook - pacman --noconfirm -Rnsdd make gcc dkms ${KERNEL_PACKAGE}-headers + # Remove build tools for slimmer image + rm /usr/share/libalpm/hooks/70-dkms-install.hook + rm /usr/share/libalpm/hooks/70-dkms-upgrade.hook + rm /usr/share/libalpm/hooks/71-dkms-remove.hook + pacman --noconfirm -Rnsdd make gcc dkms ${KERNEL_PACKAGE}-headers - # remove dolphin standalone emulator files (only need /usr/share/dolphin-emu/sys) - rm /usr/bin/dolphin-emu - rm /usr/bin/dolphin-emu-nogui - # dolphin-tool is no longer created in new builds? - #rm /usr/bin/dolphin-tool - rm /usr/share/applications/dolphin-emu.desktop + # remove dolphin standalone emulator files (only need /usr/share/dolphin-emu/sys) + rm /usr/bin/dolphin-emu + rm /usr/bin/dolphin-emu-nogui + # dolphin-tool is no longer created in new builds? + #rm /usr/bin/dolphin-tool + rm /usr/share/applications/dolphin-emu.desktop - # clean up desktop shortcuts - sed -i -e 's/Name=Steam (Runtime)/Name=Steam/' /usr/share/applications/steam.desktop - find /usr/share/applications/* | - grep -v org.chimeraos.Gamescope.desktop | - grep -v org.chimeraos.app.desktop | - grep -v org.gnome.Console.desktop | - grep -v org.gnome.DiskUtility.desktop | - grep -v org.gnome.FileRoller.desktop | - grep -v org.gnome.Nautilus.desktop | - grep -v org.gnome.Settings.desktop | - grep -v org.gnome.Software.desktop | - grep -v org.gnome.TextEditor.desktop | - grep -v steam.desktop | - xargs -I {} sh -c "echo NoDisplay=true >> {}" + # clean up desktop shortcuts + sed -i -e 's/Name=Steam (Runtime)/Name=Steam/' /usr/share/applications/steam.desktop + find /usr/share/applications/* | + grep -v org.chimeraos.Gamescope.desktop | + grep -v org.chimeraos.app.desktop | + grep -v org.gnome.Console.desktop | + grep -v org.gnome.DiskUtility.desktop | + grep -v org.gnome.FileRoller.desktop | + grep -v org.gnome.Nautilus.desktop | + grep -v org.gnome.Settings.desktop | + grep -v org.gnome.Software.desktop | + grep -v org.gnome.TextEditor.desktop | + grep -v steam.desktop | + xargs -I {} sh -c "echo NoDisplay=true >> {}" - # force -steamdeck option in desktop mode to prevent constant steam updates - sed -i 's,Exec=/usr/bin/steam-runtime,Exec=/usr/bin/steam-runtime -steamdeck,' /usr/share/applications/steam.desktop + # force -steamdeck option in desktop mode to prevent constant steam updates + sed -i 's,Exec=/usr/bin/steam-runtime,Exec=/usr/bin/steam-runtime -steamdeck,' /usr/share/applications/steam.desktop - # set permissions for intel_gpu_top and mangohud - setcap cap_perfmon=+ep /usr/bin/intel_gpu_top + # set permissions for intel_gpu_top and mangohud + setcap cap_perfmon=+ep /usr/bin/intel_gpu_top } From 1a4e554a550bdea485345cc124f3a7242c5c80c0 Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Thu, 15 Aug 2024 21:28:17 +0200 Subject: [PATCH 048/128] update mesa --- manifest | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/manifest b/manifest index 5117f3a2b..840e11828 100644 --- a/manifest +++ b/manifest @@ -175,24 +175,24 @@ export PACKAGES="\ export PACKAGE_OVERRIDES="\ https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.4-chos4-1/linux-chimeraos-6.10.4.chos4-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.4-chos4-1/linux-chimeraos-headers-6.10.4.chos4-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-opencl-rusticl-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-vulkan-intel-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-vulkan-mesa-layers-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-vulkan-radeon-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-vulkan-nouveau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/lib32-vulkan-swrast-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/libva-mesa-driver-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/mesa-vdpau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/opencl-rusticl-mesa-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/vulkan-intel-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/vulkan-mesa-layers-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/vulkan-radeon-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/vulkan-nouveau-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.1.3-chos1-1/vulkan-swrast-1--24.1.3.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-libva-mesa-driver-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-vdpau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-opencl-rusticl-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-vulkan-intel-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-vulkan-mesa-layers-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-vulkan-radeon-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-vulkan-nouveau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-vulkan-swrast-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/libva-mesa-driver-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/mesa-vdpau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/opencl-rusticl-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/vulkan-intel-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/vulkan-mesa-layers-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/vulkan-radeon-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/vulkan-nouveau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/vulkan-swrast-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://archive.archlinux.org/repos/2023/06/28/extra/os/x86_64/libretro-pcsx2-11900-2-x86_64.pkg.tar.zst \ https://archive.archlinux.org/packages/l/libretro-mame/libretro-mame-85763-1-x86_64.pkg.tar.zst \ " From 8330b23b0ec1157681af3308081146df8f02292e Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Thu, 15 Aug 2024 21:31:56 +0200 Subject: [PATCH 049/128] Revert "Add xpadneo-dkms-git module to support bluetooth xbox controllers" This reverts commit 8034215b9adbd7464971e4418e40f0c2e4846c13. --- manifest | 79 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 39 insertions(+), 40 deletions(-) diff --git a/manifest b/manifest index 840e11828..2b157c9c0 100644 --- a/manifest +++ b/manifest @@ -240,7 +240,6 @@ export AUR_PACKAGES="\ steam-powerbuttond-git \ steam-removable-media-git \ wyvern \ - xpadneo-dkms-git \ zenergy-dkms-git \ " @@ -278,53 +277,53 @@ export FILES_TO_DELETE="\ " postinstallhook() { - # Add sudo permissions - sed -i '/%wheel ALL=(ALL:ALL) ALL/s/^# //g' /etc/sudoers - echo "${USERNAME} ALL=(ALL) NOPASSWD: /usr/bin/dmidecode -t 11 + # Add sudo permissions + sed -i '/%wheel ALL=(ALL:ALL) ALL/s/^# //g' /etc/sudoers + echo "${USERNAME} ALL=(ALL) NOPASSWD: /usr/bin/dmidecode -t 11 " >/etc/sudoers.d/steam - echo "${USERNAME} ALL=(ALL) NOPASSWD: /usr/bin/chimera-session-use-gamescope + echo "${USERNAME} ALL=(ALL) NOPASSWD: /usr/bin/chimera-session-use-gamescope ${USERNAME} ALL=(ALL) NOPASSWD: /usr/bin/chimera-session-use-lightdm ${USERNAME} ALL=(ALL) NOPASSWD: /usr/share/chimera/bin/power-tool " >/etc/sudoers.d/chimera - # download and add racing wheel udev rules - pushd /usr/lib/udev/rules.d - curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-fanatec-wheel-perms.rules - curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-logitech-wheel-perms.rules - curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-thrustmaster-wheel-perms.rules - popd + # download and add racing wheel udev rules + pushd /usr/lib/udev/rules.d + curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-fanatec-wheel-perms.rules + curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-logitech-wheel-perms.rules + curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-thrustmaster-wheel-perms.rules + popd - # Remove build tools for slimmer image - rm /usr/share/libalpm/hooks/70-dkms-install.hook - rm /usr/share/libalpm/hooks/70-dkms-upgrade.hook - rm /usr/share/libalpm/hooks/71-dkms-remove.hook - pacman --noconfirm -Rnsdd make gcc dkms ${KERNEL_PACKAGE}-headers + # Remove build tools for slimmer image + rm /usr/share/libalpm/hooks/70-dkms-install.hook + rm /usr/share/libalpm/hooks/70-dkms-upgrade.hook + rm /usr/share/libalpm/hooks/71-dkms-remove.hook + pacman --noconfirm -Rnsdd make gcc dkms ${KERNEL_PACKAGE}-headers - # remove dolphin standalone emulator files (only need /usr/share/dolphin-emu/sys) - rm /usr/bin/dolphin-emu - rm /usr/bin/dolphin-emu-nogui - # dolphin-tool is no longer created in new builds? - #rm /usr/bin/dolphin-tool - rm /usr/share/applications/dolphin-emu.desktop + # remove dolphin standalone emulator files (only need /usr/share/dolphin-emu/sys) + rm /usr/bin/dolphin-emu + rm /usr/bin/dolphin-emu-nogui + # dolphin-tool is no longer created in new builds? + #rm /usr/bin/dolphin-tool + rm /usr/share/applications/dolphin-emu.desktop - # clean up desktop shortcuts - sed -i -e 's/Name=Steam (Runtime)/Name=Steam/' /usr/share/applications/steam.desktop - find /usr/share/applications/* | - grep -v org.chimeraos.Gamescope.desktop | - grep -v org.chimeraos.app.desktop | - grep -v org.gnome.Console.desktop | - grep -v org.gnome.DiskUtility.desktop | - grep -v org.gnome.FileRoller.desktop | - grep -v org.gnome.Nautilus.desktop | - grep -v org.gnome.Settings.desktop | - grep -v org.gnome.Software.desktop | - grep -v org.gnome.TextEditor.desktop | - grep -v steam.desktop | - xargs -I {} sh -c "echo NoDisplay=true >> {}" + # clean up desktop shortcuts + sed -i -e 's/Name=Steam (Runtime)/Name=Steam/' /usr/share/applications/steam.desktop + find /usr/share/applications/* | + grep -v org.chimeraos.Gamescope.desktop | + grep -v org.chimeraos.app.desktop | + grep -v org.gnome.Console.desktop | + grep -v org.gnome.DiskUtility.desktop | + grep -v org.gnome.FileRoller.desktop | + grep -v org.gnome.Nautilus.desktop | + grep -v org.gnome.Settings.desktop | + grep -v org.gnome.Software.desktop | + grep -v org.gnome.TextEditor.desktop | + grep -v steam.desktop | + xargs -I {} sh -c "echo NoDisplay=true >> {}" - # force -steamdeck option in desktop mode to prevent constant steam updates - sed -i 's,Exec=/usr/bin/steam-runtime,Exec=/usr/bin/steam-runtime -steamdeck,' /usr/share/applications/steam.desktop + # force -steamdeck option in desktop mode to prevent constant steam updates + sed -i 's,Exec=/usr/bin/steam-runtime,Exec=/usr/bin/steam-runtime -steamdeck,' /usr/share/applications/steam.desktop - # set permissions for intel_gpu_top and mangohud - setcap cap_perfmon=+ep /usr/bin/intel_gpu_top + # set permissions for intel_gpu_top and mangohud + setcap cap_perfmon=+ep /usr/bin/intel_gpu_top } From d83e31889ff2b17c43d4fec23a6af4f86815af5a Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Thu, 15 Aug 2024 21:32:24 +0200 Subject: [PATCH 050/128] add xpadneo-dkms-git --- manifest | 1 + 1 file changed, 1 insertion(+) diff --git a/manifest b/manifest index 2b157c9c0..aafdaa027 100644 --- a/manifest +++ b/manifest @@ -240,6 +240,7 @@ export AUR_PACKAGES="\ steam-powerbuttond-git \ steam-removable-media-git \ wyvern \ + xpadneo-dkms-git \ zenergy-dkms-git \ " From 936c922877b313233ed005f868bad599fb302f2f Mon Sep 17 00:00:00 2001 From: Bouke Sybren Haarsma Date: Fri, 16 Aug 2024 00:04:56 +0200 Subject: [PATCH 051/128] Update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index aafdaa027..67988b91e 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.4-chos4-1/linux-chimeraos-6.10.4.chos4-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.4-chos4-1/linux-chimeraos-headers-6.10.4.chos4-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos2-1/linux-chimeraos-6.10.5.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos2-1/linux-chimeraos-headers-6.10.5.chos2-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-libva-mesa-driver-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-vdpau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ From 2a9a827ecbe163a71e986521e9040f4396eea422 Mon Sep 17 00:00:00 2001 From: "Derek J. Clark" Date: Thu, 15 Aug 2024 20:18:40 -0700 Subject: [PATCH 052/128] Trigger Build - Update to linux-chimeraos-6.10.5.chos3-1 --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 67988b91e..47cb03ca8 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos2-1/linux-chimeraos-6.10.5.chos2-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos2-1/linux-chimeraos-headers-6.10.5.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos3-1/linux-chimeraos-6.10.5.chos3-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos3-1/linux-chimeraos-headers-6.10.5.chos3-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-libva-mesa-driver-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-vdpau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ From cfcea6210b43f401650aef214ddccfe732da5be7 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 17 Aug 2024 23:22:26 +0200 Subject: [PATCH 053/128] Update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 47cb03ca8..c03d7b6cb 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos3-1/linux-chimeraos-6.10.5.chos3-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos3-1/linux-chimeraos-headers-6.10.5.chos3-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos4-1/linux-chimeraos-6.10.5.chos4-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos4-1/linux-chimeraos-headers-6.10.5.chos4-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-libva-mesa-driver-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-vdpau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ From dbc6b0fe2d643f4cd57371b8e42f99ff2ee4d987 Mon Sep 17 00:00:00 2001 From: bouhaa Date: Tue, 20 Aug 2024 07:22:48 +0200 Subject: [PATCH 054/128] Update kernel --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index c03d7b6cb..6885afc9a 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos4-1/linux-chimeraos-6.10.5.chos4-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.5-chos4-1/linux-chimeraos-headers-6.10.5.chos4-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.6-chos1-2/linux-chimeraos-6.10.6.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.6-chos1-2/linux-chimeraos-headers-6.10.6.chos1-2-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-libva-mesa-driver-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-vdpau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ From 530a29ecb11db51d3849531e49520d094dca1878 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 18 Aug 2024 22:01:36 +0200 Subject: [PATCH 055/128] Remove both: the kernel overlay and the device-quirks overlay --- build-image.sh | 14 +-- .../frzr.d/install-0004-overlays.migration | 4 +- ...install-0005-device-quirks-apply.migration | 82 +++++++++++++ .../install-0005-kernel-overlays.migration | 70 ----------- .../install-0006-device-quirks.migration | 45 ------- ...e-extraneous-wireplumber-config.migration} | 0 ...install-0007-device-quirks-apply.migration | 110 ------------------ ... install-0007-initramfs-renamed.migration} | 0 ... => install-0008-default-subvol.migration} | 0 .../uninstall-0002-device-quirks.removal | 49 -------- 10 files changed, 91 insertions(+), 283 deletions(-) create mode 100755 rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration delete mode 100755 rootfs/usr/lib/frzr.d/install-0005-kernel-overlays.migration delete mode 100755 rootfs/usr/lib/frzr.d/install-0006-device-quirks.migration rename rootfs/usr/lib/frzr.d/{install-0008-remove-extraneous-wireplumber-config.migration => install-0006-remove-extraneous-wireplumber-config.migration} (100%) delete mode 100755 rootfs/usr/lib/frzr.d/install-0007-device-quirks-apply.migration rename rootfs/usr/lib/frzr.d/{install-0009-initramfs-renamed.migration => install-0007-initramfs-renamed.migration} (100%) rename rootfs/usr/lib/frzr.d/{install-0010-default-subvol.migration => install-0008-default-subvol.migration} (100%) delete mode 100755 rootfs/usr/lib/frzr.d/uninstall-0002-device-quirks.removal diff --git a/build-image.sh b/build-image.sh index 4ac6a0f17..22e3ba247 100755 --- a/build-image.sh +++ b/build-image.sh @@ -171,13 +171,13 @@ Subsystem sftp /usr/lib/ssh/sftp-server # Write the fstab file # WARNING: mounting partitions using LABEL exposes us to a bug where multiple disks cannot have frzr systems and how to solve this still is an open question echo " -LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime,nodatacow 0 2 -LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nodatacow,nofail 0 0 -overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 -overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/frzr_root/kernels/boot:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/boot:/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 -overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/frzr_root/kernels/usr:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/usr:/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 -overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/frzr_root/kernels/etc:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/etc:/sysroot/etc,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=etcoverlay 0 0 -overlay /var overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/frzr_root/kernels/var:/sysroot/frzr_root/device_quirks/${SYSTEM_NAME}-${VERSION}/var:/sysroot/var,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=varoverlay 0 0 +LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime,nodatacow 0 2 +LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nodatacow,nofail 0 0 +overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 +overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 +overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 +overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/etc,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=etcoverlay 0 0 +overlay /var overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/var,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=varoverlay 0 0 " > /etc/fstab echo " diff --git a/rootfs/usr/lib/frzr.d/install-0004-overlays.migration b/rootfs/usr/lib/frzr.d/install-0004-overlays.migration index 866f666cb..88028f7b3 100755 --- a/rootfs/usr/lib/frzr.d/install-0004-overlays.migration +++ b/rootfs/usr/lib/frzr.d/install-0004-overlays.migration @@ -11,8 +11,8 @@ post_install() { local FRZR_VER=$4 # check unlock-0001-overlays.migration - DEPLOYMENT_DATA="${MOUNT_PATH}/deployments_data" - SUBVOL_DATA="${DEPLOYMENT_DATA}/${NAME}" + local DEPLOYMENT_DATA="${MOUNT_PATH}/deployments_data" + local SUBVOL_DATA="${DEPLOYMENT_DATA}/${NAME}" local OLD_NAME="does_not_exist" if [ -e "/build_info" ]; then diff --git a/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration b/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration new file mode 100755 index 000000000..88dbbca2d --- /dev/null +++ b/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration @@ -0,0 +1,82 @@ +#! /bin/bash + +# Install device-quirks (filling previously build overlays) + +frzr_migration_version=1 + +post_install() { + local MOUNT_PATH=$1 + local SUBVOL=$2 + local NAME=$3 + local FRZR_VER=$4 + + local DEPLOYMENT_DATA="${MOUNT_PATH}/deployments_data" + local SUBVOL_DATA="${DEPLOYMENT_DATA}/${NAME}" + + local DEPLOYMENT_QUIRKS="${DEPLOYMENT_DATA}" + local SUBVOL_QUIRKS="${SUBVOL_DATA}" + + # NOTE: it is important this file is named in a way that will be listed + # after the migration that creates the overlays, thus ensuring overlays exists. + if [ -n "${FIRMWARE_OVERRIDE}" ]; then + # Execute a batch of mounts + if mount -t proc /proc "${SUBVOL}/proc"; then + if mount -t sysfs /sys "${SUBVOL}/sys"; then + if mount --rbind /dev "${SUBVOL}/dev"; then + if [ -e "${SUBVOL}/usr/share/device-quirks/id-device" ]; then + # mount device quirks directory on /mnt + if mount --bind "${SUBVOL_QUIRKS}" "${SUBVOL}/mnt"; then + if mount -t overlay -o lowerdir=${SUBVOL}/usr,upperdir=${SUBVOL_QUIRKS}/usr_overlay/upperdir,workdir=${SUBVOL_QUIRKS_WORKDIR}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/usr"; then + if mount -t overlay -o lowerdir=${SUBVOL}/etc,upperdir=${SUBVOL_QUIRKS}/etc_overlay/upperdir,workdir=${SUBVOL_QUIRKS_WORKDIR}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/etc"; then + if mount -t overlay -o lowerdir=${SUBVOL}/boot,upperdir=${SUBVOL_QUIRKS}/boot_overlay/upperdir,workdir=${SUBVOL_QUIRKS_WORKDIR}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/boot"; then + if mount -t overlay -o lowerdir=${SUBVOL}/var,upperdir=${SUBVOL_QUIRKS}/var_overlay/upperdir,workdir=${SUBVOL_QUIRKS_WORKDIR}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/var"; then + echo "export USE_FIRMWARE_OVERRIDES=1" >> "${SUBVOL}/etc/device-quirks.conf" + + # Run the following in chroot + chroot "${SUBVOL}" /bin/bash < "${SUBVOL_QUIRKS}/etc/device-quirks.conf" - - if mount -t overlay -o lowerdir=${SUBVOL}/usr,upperdir=${SUBVOL_QUIRKS}/usr,workdir=${SUBVOL_QUIRKS_WORKDIR}/usr,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/usr"; then - if mount -t overlay -o lowerdir=${SUBVOL}/etc,upperdir=${SUBVOL_QUIRKS}/etc,workdir=${SUBVOL_QUIRKS_WORKDIR}/etc,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/etc"; then - if mount -t overlay -o lowerdir=${SUBVOL}/boot,upperdir=${SUBVOL_QUIRKS}/boot,workdir=${SUBVOL_QUIRKS_WORKDIR}/boot,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/boot"; then - if mount -t overlay -o lowerdir=${SUBVOL}/var,upperdir=${SUBVOL_QUIRKS}/var,workdir=${SUBVOL_QUIRKS_WORKDIR}/var,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/var"; then - # Run the following in chroot - chroot ${SUBVOL} /bin/bash < Date: Sat, 24 Aug 2024 17:53:33 +0200 Subject: [PATCH 056/128] fstab: add mount entry for the /efi directory Mount the ESP partition in /efi as gpt-auto would do, but including frzr group. --- build-image.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build-image.sh b/build-image.sh index 22e3ba247..4bdf86a56 100755 --- a/build-image.sh +++ b/build-image.sh @@ -169,8 +169,10 @@ Subsystem sftp /usr/lib/ssh/sftp-server " > /etc/ssh/sshd_config # Write the fstab file +# NOTE: gid=379 is the group ID of the frzr group # WARNING: mounting partitions using LABEL exposes us to a bug where multiple disks cannot have frzr systems and how to solve this still is an open question echo " +LABEL=frzr_efi /efi vfat uid=0,gid=379,fmask=0077,dmask=0077,rw,noatime,nofail 0 2 LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime,nodatacow 0 2 LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nodatacow,nofail 0 0 overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 From ce7c13ace07b03401162e7dfa782b2473bbbe7de Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 24 Aug 2024 17:57:12 +0200 Subject: [PATCH 057/128] Improve the boot process Include the resume hook to restore the system from hibernation. Rename dracut conf files. --- pkgs/chimeraos-dracut-cfg/00-chimeraos.conf | 4 +- ...use-fstab.conf => 10-chimeraos_fstab.conf} | 0 ...ems.conf => 30-chimeraos_filesystems.conf} | 0 ...tion.conf => 40-chimeraos_encryption.conf} | 0 ...e-mdraid.conf => 50-chimeraos_mdraid.conf} | 0 ...king.conf => 60-chimeraos_networking.conf} | 0 ...e-nvdimm.conf => 70-chimeraos_nvdimm.conf} | 0 ...clude-qemu.conf => 80-chimeraos_qemu.conf} | 0 ...tooth.conf => 90-chimeraos_bluetooth.conf} | 0 pkgs/chimeraos-dracut-cfg/PKGBUILD | 50 +++++++++---------- 10 files changed, 28 insertions(+), 26 deletions(-) rename pkgs/chimeraos-dracut-cfg/{10-chimeraos_use-fstab.conf => 10-chimeraos_fstab.conf} (100%) rename pkgs/chimeraos-dracut-cfg/{30-chimeraos_include-filesystems.conf => 30-chimeraos_filesystems.conf} (100%) rename pkgs/chimeraos-dracut-cfg/{40-chimeraos_exclude-encryption.conf => 40-chimeraos_encryption.conf} (100%) rename pkgs/chimeraos-dracut-cfg/{50-chimeraos_exclude-mdraid.conf => 50-chimeraos_mdraid.conf} (100%) rename pkgs/chimeraos-dracut-cfg/{60-chimeraos_exclude-networking.conf => 60-chimeraos_networking.conf} (100%) rename pkgs/chimeraos-dracut-cfg/{70-chimeraos_exclude-nvdimm.conf => 70-chimeraos_nvdimm.conf} (100%) rename pkgs/chimeraos-dracut-cfg/{80-chimeraos_exclude-qemu.conf => 80-chimeraos_qemu.conf} (100%) rename pkgs/chimeraos-dracut-cfg/{90-chimeraos_exclude-bluetooth.conf => 90-chimeraos_bluetooth.conf} (100%) diff --git a/pkgs/chimeraos-dracut-cfg/00-chimeraos.conf b/pkgs/chimeraos-dracut-cfg/00-chimeraos.conf index 5161f4889..aa57865d1 100644 --- a/pkgs/chimeraos-dracut-cfg/00-chimeraos.conf +++ b/pkgs/chimeraos-dracut-cfg/00-chimeraos.conf @@ -1,4 +1,6 @@ early_microcode="yes" compress="xz -9e --check=crc32 -v" -omit_dracutmodules+=" squash " \ No newline at end of file +omit_dracutmodules+=" squash " + +add_dracutmodules+=" resume " \ No newline at end of file diff --git a/pkgs/chimeraos-dracut-cfg/10-chimeraos_use-fstab.conf b/pkgs/chimeraos-dracut-cfg/10-chimeraos_fstab.conf similarity index 100% rename from pkgs/chimeraos-dracut-cfg/10-chimeraos_use-fstab.conf rename to pkgs/chimeraos-dracut-cfg/10-chimeraos_fstab.conf diff --git a/pkgs/chimeraos-dracut-cfg/30-chimeraos_include-filesystems.conf b/pkgs/chimeraos-dracut-cfg/30-chimeraos_filesystems.conf similarity index 100% rename from pkgs/chimeraos-dracut-cfg/30-chimeraos_include-filesystems.conf rename to pkgs/chimeraos-dracut-cfg/30-chimeraos_filesystems.conf diff --git a/pkgs/chimeraos-dracut-cfg/40-chimeraos_exclude-encryption.conf b/pkgs/chimeraos-dracut-cfg/40-chimeraos_encryption.conf similarity index 100% rename from pkgs/chimeraos-dracut-cfg/40-chimeraos_exclude-encryption.conf rename to pkgs/chimeraos-dracut-cfg/40-chimeraos_encryption.conf diff --git a/pkgs/chimeraos-dracut-cfg/50-chimeraos_exclude-mdraid.conf b/pkgs/chimeraos-dracut-cfg/50-chimeraos_mdraid.conf similarity index 100% rename from pkgs/chimeraos-dracut-cfg/50-chimeraos_exclude-mdraid.conf rename to pkgs/chimeraos-dracut-cfg/50-chimeraos_mdraid.conf diff --git a/pkgs/chimeraos-dracut-cfg/60-chimeraos_exclude-networking.conf b/pkgs/chimeraos-dracut-cfg/60-chimeraos_networking.conf similarity index 100% rename from pkgs/chimeraos-dracut-cfg/60-chimeraos_exclude-networking.conf rename to pkgs/chimeraos-dracut-cfg/60-chimeraos_networking.conf diff --git a/pkgs/chimeraos-dracut-cfg/70-chimeraos_exclude-nvdimm.conf b/pkgs/chimeraos-dracut-cfg/70-chimeraos_nvdimm.conf similarity index 100% rename from pkgs/chimeraos-dracut-cfg/70-chimeraos_exclude-nvdimm.conf rename to pkgs/chimeraos-dracut-cfg/70-chimeraos_nvdimm.conf diff --git a/pkgs/chimeraos-dracut-cfg/80-chimeraos_exclude-qemu.conf b/pkgs/chimeraos-dracut-cfg/80-chimeraos_qemu.conf similarity index 100% rename from pkgs/chimeraos-dracut-cfg/80-chimeraos_exclude-qemu.conf rename to pkgs/chimeraos-dracut-cfg/80-chimeraos_qemu.conf diff --git a/pkgs/chimeraos-dracut-cfg/90-chimeraos_exclude-bluetooth.conf b/pkgs/chimeraos-dracut-cfg/90-chimeraos_bluetooth.conf similarity index 100% rename from pkgs/chimeraos-dracut-cfg/90-chimeraos_exclude-bluetooth.conf rename to pkgs/chimeraos-dracut-cfg/90-chimeraos_bluetooth.conf diff --git a/pkgs/chimeraos-dracut-cfg/PKGBUILD b/pkgs/chimeraos-dracut-cfg/PKGBUILD index bcf73e214..07c1b08ca 100644 --- a/pkgs/chimeraos-dracut-cfg/PKGBUILD +++ b/pkgs/chimeraos-dracut-cfg/PKGBUILD @@ -17,31 +17,31 @@ source=( "dracut-install.sh" "dracut-remove.sh" "00-chimeraos.conf" - "10-chimeraos_use-fstab.conf" + "10-chimeraos_fstab.conf" "20-chimeraos_plymouth.conf" - "30-chimeraos_include-filesystems.conf" - "40-chimeraos_exclude-encryption.conf" - "50-chimeraos_exclude-mdraid.conf" - "60-chimeraos_exclude-networking.conf" - "70-chimeraos_exclude-nvdimm.conf" - "80-chimeraos_exclude-qemu.conf" - "90-chimeraos_exclude-bluetooth.conf" + "30-chimeraos_filesystems.conf" + "40-chimeraos_encryption.conf" + "50-chimeraos_mdraid.conf" + "60-chimeraos_networking.conf" + "70-chimeraos_nvdimm.conf" + "80-chimeraos_qemu.conf" + "90-chimeraos_bluetooth.conf" "60-dracut-remove.hook" "90-dracut-install.hook" ) sha256sums=( '827d59e8fda5c16b3fc45eb89ce7cd5be6c40d35dd8fe9a8d5ea825a63d3a089' # dracut-install.sh 'daefb58a0bf6df48cceaf4f7a898c17ca1f24e18cd7981b19f5f2034499592ed' # dracut-remove.sh - '1f356cc895156064cec63f589ea49acc59a4faab94b7ebe99dc904893da85907' # 00-chimeraos.conf - '7886062a7293d2e6bd6e975c4a8aaae63342af366479db8adf1b75860081cf53' # 10-chimeraos_use-fstab.conf + 'f15631cd887d1167af89cc4363a879e3aa1d5a2068f34a9ca8278f3d5c11fa1b' # 00-chimeraos.conf + '7886062a7293d2e6bd6e975c4a8aaae63342af366479db8adf1b75860081cf53' # 10-chimeraos_fstab.conf '103cf3322954202c3f0f740cd9079546d059f919c8b1b07ac703ec6f94cf17fb' # 20-chimeraos_plymouth.conf - '676b4a216cd3787882edf2e5bdaebce4577a11dbae176f81bab1c1b72917fc09' # 30-chimeraos_include-filesystems.conf - '8b4247161bb9158bf382517bb061360c184315e71fea244420d8db99d2730129' # 40-chimeraos_exclude-encryption.conf - '84cccef9706590795b37b4d949c0a34e6ee7ba34ee7ff01a8c808a2fe3ff7f89' # 50-chimeraos_exclude-mdraid.conf - 'e1f9caf3878e65ca28951642ad02c1b167eacba777b4ccc893f6b8702a6d474e' # 60-chimeraos_exclude-networking.conf - '5822aa5a698577937820ab2565a203492b6af81434bf1423664ef68bba8c1617' # 70-chimeraos_exclude-nvdimm.conf - 'b126149ca9f79bb1deb7ec640f4452dd61f4214558f954b7bc9196c5e9ca6ef0' # 80-chimeraos_exclude-qemu.conf - 'e983493fe3e7d9395dd8d1c8949150144c8d4318ff17ff2aca004235734c8299' # 90-chimeraos_exclude-bluetooth.conf + '676b4a216cd3787882edf2e5bdaebce4577a11dbae176f81bab1c1b72917fc09' # 30-chimeraos_filesystems.conf + '8b4247161bb9158bf382517bb061360c184315e71fea244420d8db99d2730129' # 40-chimeraos_encryption.conf + '84cccef9706590795b37b4d949c0a34e6ee7ba34ee7ff01a8c808a2fe3ff7f89' # 50-chimeraos_mdraid.conf + 'e1f9caf3878e65ca28951642ad02c1b167eacba777b4ccc893f6b8702a6d474e' # 60-chimeraos_networking.conf + '5822aa5a698577937820ab2565a203492b6af81434bf1423664ef68bba8c1617' # 70-chimeraos_nvdimm.conf + 'b126149ca9f79bb1deb7ec640f4452dd61f4214558f954b7bc9196c5e9ca6ef0' # 80-chimeraos_qemu.conf + 'e983493fe3e7d9395dd8d1c8949150144c8d4318ff17ff2aca004235734c8299' # 90-chimeraos_bluetooth.conf '41c996bf7ef90e6a81690c4a06cbef89167882a036699834fe22637a1a184982' # 60-dracut-remove.hook 'df94baaf97d110f65f1443dd7063fe0e8ec1f73b5baf142c6ff08c260e571fcb' # 90-dracut-install.hook ) @@ -58,14 +58,14 @@ package() { install -m 644 "$srcdir/90-dracut-install.hook" "$pkgdir/usr/share/libalpm/hooks" install -m 644 "$srcdir/00-chimeraos.conf" "$pkgdir/etc/dracut.conf.d" - install -m 644 "$srcdir/10-chimeraos_use-fstab.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/10-chimeraos_fstab.conf" "$pkgdir/etc/dracut.conf.d" install -m 644 "$srcdir/20-chimeraos_plymouth.conf" "$pkgdir/etc/dracut.conf.d" - install -m 644 "$srcdir/30-chimeraos_include-filesystems.conf" "$pkgdir/etc/dracut.conf.d" - install -m 644 "$srcdir/40-chimeraos_exclude-encryption.conf" "$pkgdir/etc/dracut.conf.d" - install -m 644 "$srcdir/50-chimeraos_exclude-mdraid.conf" "$pkgdir/etc/dracut.conf.d" - install -m 644 "$srcdir/60-chimeraos_exclude-networking.conf" "$pkgdir/etc/dracut.conf.d" - install -m 644 "$srcdir/70-chimeraos_exclude-nvdimm.conf" "$pkgdir/etc/dracut.conf.d" - install -m 644 "$srcdir/80-chimeraos_exclude-qemu.conf" "$pkgdir/etc/dracut.conf.d" - install -m 644 "$srcdir/90-chimeraos_exclude-bluetooth.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/30-chimeraos_filesystems.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/40-chimeraos_encryption.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/50-chimeraos_mdraid.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/60-chimeraos_networking.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/70-chimeraos_nvdimm.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/80-chimeraos_qemu.conf" "$pkgdir/etc/dracut.conf.d" + install -m 644 "$srcdir/90-chimeraos_bluetooth.conf" "$pkgdir/etc/dracut.conf.d" } From 1d2e5a68fdcf3a40bbd01140ff20b5a84a761737 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 14:42:04 +0200 Subject: [PATCH 058/128] Split the large RUN command The big RUN command is failing: to better debug the issue and explain what it does split it into multiple RUN commands --- Dockerfile | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3ebafb193..1f1db69ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,12 @@ FROM archlinux:base-devel LABEL contributor="shadowapex@gmail.com" COPY rootfs/etc/pacman.conf /etc/pacman.conf -RUN echo -e "keyserver-options auto-key-retrieve" >> /etc/pacman.d/gnupg/gpg.conf && \ - # Cannot check space in chroot - sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf && \ - pacman-key --init && \ +RUN echo -e "keyserver-options auto-key-retrieve" >> /etc/pacman.d/gnupg/gpg.conf + +# Cannot check space in chroot +RUN sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf + +RUN pacman-key --init && \ pacman --noconfirm -Syyuu && \ pacman --noconfirm -S \ arch-install-scripts \ @@ -20,12 +22,20 @@ RUN echo -e "keyserver-options auto-key-retrieve" >> /etc/pacman.d/gnupg/gpg.con python-markdown-it-py \ python-setuptools \ python-wheel \ - sudo \ - && \ - pacman --noconfirm -S --needed git && \ - echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ - useradd build -G wheel -m && \ - su - build -c "git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur" && \ + sudo + +RUN pacman --noconfirm -S --needed git + +# No password asked for wheel group +RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers + +# The makepkg tool cannot use root: add a temp user to build packages +# and add that user to wheel group so that it can install packages +# without being asked for a password +RUN useradd build -G wheel -m + +# Build and install pikaur +RUN su - build -c "git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur" su - build -c "cd /tmp/pikaur && makepkg -f" && \ pacman --noconfirm -U /tmp/pikaur/pikaur-*.pkg.tar.zst From c212c9188b156eb9a7eb4d0096384b67649bc0a9 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 14:43:53 +0200 Subject: [PATCH 059/128] Fix Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 1f1db69ee..492c1c875 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,7 @@ RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers RUN useradd build -G wheel -m # Build and install pikaur -RUN su - build -c "git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur" +RUN su - build -c "git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur" && \ su - build -c "cd /tmp/pikaur && makepkg -f" && \ pacman --noconfirm -U /tmp/pikaur/pikaur-*.pkg.tar.zst From 92f2c2838ba90dededf7ee9196c48d2fc8767f3e Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 16:01:35 +0200 Subject: [PATCH 060/128] Use cloudflare to resolve hostnames Resolving 'aur.archlinux.org' is not working: try to workaround the issue by using cloudflare dns --- Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Dockerfile b/Dockerfile index 492c1c875..1572a5b09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -57,6 +57,10 @@ RUN source /manifest && \ echo "Server=https://archive.archlinux.org/repos/${ARCHIVE_DATE}/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist && \ pacman --noconfirm -Syyuu; if [ -n "${PACKAGE_OVERRIDES}" ]; then wget --directory-prefix=/tmp/extra_pkgs ${PACKAGE_OVERRIDES}; pacman --noconfirm -U --overwrite '*' /tmp/extra_pkgs/*; rm -rf /tmp/extra_pkgs; fi +# Use cloudflare DNS to resolve hostnames while building aur packages +RUN echo "nameserver 1.1.1.1" >> /etc/resolve.conf +RUN echo "nameserver 8.8.8.8" >> /etc/resolve.conf + USER build ENV BUILD_USER "build" ENV GNUPGHOME "/etc/pacman.d/gnupg" From 94fd24c03d908e7342f1172216f97a96c610982f Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 16:05:48 +0200 Subject: [PATCH 061/128] Fix wrong filename: /etc/resolv.conf --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1572a5b09..827b38791 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,8 +58,8 @@ RUN source /manifest && \ pacman --noconfirm -Syyuu; if [ -n "${PACKAGE_OVERRIDES}" ]; then wget --directory-prefix=/tmp/extra_pkgs ${PACKAGE_OVERRIDES}; pacman --noconfirm -U --overwrite '*' /tmp/extra_pkgs/*; rm -rf /tmp/extra_pkgs; fi # Use cloudflare DNS to resolve hostnames while building aur packages -RUN echo "nameserver 1.1.1.1" >> /etc/resolve.conf -RUN echo "nameserver 8.8.8.8" >> /etc/resolve.conf +RUN echo "nameserver 1.1.1.1" >> /etc/resolv.conf +RUN echo "nameserver 8.8.8.8" >> /etc/resolv.conf USER build ENV BUILD_USER "build" From f8a2f46b8a69df5b559dbb9f10940c073db0e659 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 16:24:49 +0200 Subject: [PATCH 062/128] Use cloudflare DNS for pikaur clone --- Dockerfile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 827b38791..c33a23308 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,12 @@ RUN echo -e "keyserver-options auto-key-retrieve" >> /etc/pacman.d/gnupg/gpg.con # Cannot check space in chroot RUN sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf - + +# Use cloudflare DNS to resolve hostnames +RUN echo "nameserver 1.1.1.1" >> /etc/resolv.conf +RUN echo "nameserver 8.8.8.8" >> /etc/resolv.conf +RUN echo "nameserver 8.8.4.4" >> /etc/resolv.conf + RUN pacman-key --init && \ pacman --noconfirm -Syyuu && \ pacman --noconfirm -S \ @@ -57,10 +62,6 @@ RUN source /manifest && \ echo "Server=https://archive.archlinux.org/repos/${ARCHIVE_DATE}/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist && \ pacman --noconfirm -Syyuu; if [ -n "${PACKAGE_OVERRIDES}" ]; then wget --directory-prefix=/tmp/extra_pkgs ${PACKAGE_OVERRIDES}; pacman --noconfirm -U --overwrite '*' /tmp/extra_pkgs/*; rm -rf /tmp/extra_pkgs; fi -# Use cloudflare DNS to resolve hostnames while building aur packages -RUN echo "nameserver 1.1.1.1" >> /etc/resolv.conf -RUN echo "nameserver 8.8.8.8" >> /etc/resolv.conf - USER build ENV BUILD_USER "build" ENV GNUPGHOME "/etc/pacman.d/gnupg" From b3dd81a5abfa7fdd078b84cd734e4dddb3e0576d Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 16:47:50 +0200 Subject: [PATCH 063/128] Revert cloudflare DNS usage --- Dockerfile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index c33a23308..f8db80288 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,11 +6,6 @@ RUN echo -e "keyserver-options auto-key-retrieve" >> /etc/pacman.d/gnupg/gpg.con # Cannot check space in chroot RUN sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf -# Use cloudflare DNS to resolve hostnames -RUN echo "nameserver 1.1.1.1" >> /etc/resolv.conf -RUN echo "nameserver 8.8.8.8" >> /etc/resolv.conf -RUN echo "nameserver 8.8.4.4" >> /etc/resolv.conf - RUN pacman-key --init && \ pacman --noconfirm -Syyuu && \ pacman --noconfirm -S \ From 65693c36785a83e54fa1dc8158db3176c3e5ac3f Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 17:17:02 +0200 Subject: [PATCH 064/128] Use the release /etc/resolv.conf for resolving names in the build process --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index f8db80288..414c105af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ FROM archlinux:base-devel LABEL contributor="shadowapex@gmail.com" COPY rootfs/etc/pacman.conf /etc/pacman.conf +COPY rootfs/etc/resolv.conf /etc/resolv.conf RUN echo -e "keyserver-options auto-key-retrieve" >> /etc/pacman.d/gnupg/gpg.conf # Cannot check space in chroot From f1dd5df3ef0ce4fd6bd9f485b56e5376f2b90a49 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 18:05:28 +0200 Subject: [PATCH 065/128] Use google's DNS everywhere --- .github/workflows/build-builder.yml | 9 ++++++++ .github/workflows/build-system-image.yml | 9 ++++++++ .github/workflows/main.yml | 27 ++++++++++++++++++++++++ .github/workflows/release-branch.yml | 9 ++++++++ .github/workflows/stable.yml | 27 ++++++++++++++++++++++++ 5 files changed, 81 insertions(+) diff --git a/.github/workflows/build-builder.yml b/.github/workflows/build-builder.yml index 6eee5e3e8..dafbcf559 100644 --- a/.github/workflows/build-builder.yml +++ b/.github/workflows/build-builder.yml @@ -13,6 +13,15 @@ jobs: name: Build base docker image runs-on: ubuntu-latest steps: + - name: Set 8.8.8.8 as dns server + run: | + sudo sed -i 's/#DNS=/DNS=8.8.8.8 8.8.4.4/g' /etc/systemd/resolved.conf + sudo systemctl daemon-reload + sudo systemctl restart systemd-networkd + sudo systemctl restart systemd-resolved + - run: | + sudo prlimit --pid $$ --nofile=500000:500000 + ulimit -a - uses: actions/checkout@v3 - name: Login to GitHub Container Registry uses: docker/login-action@v2 diff --git a/.github/workflows/build-system-image.yml b/.github/workflows/build-system-image.yml index 83fc45702..ed9bb876d 100644 --- a/.github/workflows/build-system-image.yml +++ b/.github/workflows/build-system-image.yml @@ -22,6 +22,15 @@ jobs: display_version: ${{ steps.build_image.outputs.display_version }} image_filename: ${{ steps.build_image.outputs.image_filename }} steps: + - name: Set 8.8.8.8 as dns server + run: | + sudo sed -i 's/#DNS=/DNS=8.8.8.8 8.8.4.4/g' /etc/systemd/resolved.conf + sudo systemctl daemon-reload + sudo systemctl restart systemd-networkd + sudo systemctl restart systemd-resolved + - run: | + sudo prlimit --pid $$ --nofile=500000:500000 + ulimit -a - name: Maximize build space run: | df -h diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d2b940ef4..9cece7a7b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,6 +22,15 @@ jobs: aur-pkgs: ${{ steps.set-aur-pkgs.outputs.matrix }} pkgs: ${{ steps.set-pkgs.outputs.matrix }} steps: + - name: Set 8.8.8.8 as dns server + run: | + sudo sed -i 's/#DNS=/DNS=8.8.8.8 8.8.4.4/g' /etc/systemd/resolved.conf + sudo systemctl daemon-reload + sudo systemctl restart systemd-networkd + sudo systemctl restart systemd-resolved + - run: | + sudo prlimit --pid $$ --nofile=500000:500000 + ulimit -a - uses: actions/checkout@v3 - id: set-aur-pkgs run: source ./manifest ; echo "matrix=$(echo ${AUR_PACKAGES} | jq -R -s -c 'split(" ")')" >> $GITHUB_OUTPUT @@ -41,6 +50,15 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.aur-pkgs) }} steps: + - name: Set 8.8.8.8 as dns server + run: | + sudo sed -i 's/#DNS=/DNS=8.8.8.8 8.8.4.4/g' /etc/systemd/resolved.conf + sudo systemctl daemon-reload + sudo systemctl restart systemd-networkd + sudo systemctl restart systemd-resolved + - run: | + sudo prlimit --pid $$ --nofile=500000:500000 + ulimit -a - uses: actions/checkout@v3 - name: Extract metadata (tags, labels) for Docker id: meta @@ -68,6 +86,15 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.pkgs) }} steps: + - name: Set 8.8.8.8 as dns server + run: | + sudo sed -i 's/#DNS=/DNS=8.8.8.8 8.8.4.4/g' /etc/systemd/resolved.conf + sudo systemctl daemon-reload + sudo systemctl restart systemd-networkd + sudo systemctl restart systemd-resolved + - run: | + sudo prlimit --pid $$ --nofile=500000:500000 + ulimit -a - uses: actions/checkout@v3 - name: Extract metadata (tags, labels) for Docker id: meta diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index 8b9348b36..6a8c3ad91 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -9,6 +9,15 @@ jobs: runs-on: ubuntu-latest steps: + - name: Set 8.8.8.8 as dns server + run: | + sudo sed -i 's/#DNS=/DNS=8.8.8.8 8.8.4.4/g' /etc/systemd/resolved.conf + sudo systemctl daemon-reload + sudo systemctl restart systemd-networkd + sudo systemctl restart systemd-resolved + - run: | + sudo prlimit --pid $$ --nofile=500000:500000 + ulimit -a - uses: actions/checkout@v3 - name: Read version id: set-version diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml index b14d34d2a..a55e61945 100644 --- a/.github/workflows/stable.yml +++ b/.github/workflows/stable.yml @@ -22,6 +22,15 @@ jobs: aur-pkgs: ${{ steps.set-aur-pkgs.outputs.matrix }} pkgs: ${{ steps.set-pkgs.outputs.matrix }} steps: + - name: Set 8.8.8.8 as dns server + run: | + sudo sed -i 's/#DNS=/DNS=8.8.8.8 8.8.4.4/g' /etc/systemd/resolved.conf + sudo systemctl daemon-reload + sudo systemctl restart systemd-networkd + sudo systemctl restart systemd-resolved + - run: | + sudo prlimit --pid $$ --nofile=500000:500000 + ulimit -a - uses: actions/checkout@v3 with: submodules: recursive @@ -43,6 +52,15 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.aur-pkgs) }} steps: + - name: Set 8.8.8.8 as dns server + run: | + sudo sed -i 's/#DNS=/DNS=8.8.8.8 8.8.4.4/g' /etc/systemd/resolved.conf + sudo systemctl daemon-reload + sudo systemctl restart systemd-networkd + sudo systemctl restart systemd-resolved + - run: | + sudo prlimit --pid $$ --nofile=500000:500000 + ulimit -a - uses: actions/checkout@v3 with: submodules: recursive @@ -72,6 +90,15 @@ jobs: matrix: package: ${{ fromJson(needs.list-pkgbuilds.outputs.pkgs) }} steps: + - name: Set 8.8.8.8 as dns server + run: | + sudo sed -i 's/#DNS=/DNS=8.8.8.8 8.8.4.4/g' /etc/systemd/resolved.conf + sudo systemctl daemon-reload + sudo systemctl restart systemd-networkd + sudo systemctl restart systemd-resolved + - run: | + sudo prlimit --pid $$ --nofile=500000:500000 + ulimit -a - uses: actions/checkout@v3 - name: Extract metadata (tags, labels) for Docker id: meta From 954402072fc44d98573cfa575a58cd4cfbe8600f Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 18:40:50 +0200 Subject: [PATCH 066/128] Use frzr-git during development --- manifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest b/manifest index 6885afc9a..dcaa20d83 100644 --- a/manifest +++ b/manifest @@ -210,7 +210,7 @@ export AUR_PACKAGES="\ chimeraos-device-quirks-git \ downgrade \ evdev-keepalive \ - frzr \ + frzr-git \ gamescope-plus \ gamescope-session-steam-git \ gamescope-session-steam-plus-git \ From 29082039fa86f7007e8a0ccd1508fdfab13c53bc Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 20:36:34 +0200 Subject: [PATCH 067/128] Revert splitting a single RUN command --- Dockerfile | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index 414c105af..7fa82095c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,12 +2,10 @@ FROM archlinux:base-devel LABEL contributor="shadowapex@gmail.com" COPY rootfs/etc/pacman.conf /etc/pacman.conf COPY rootfs/etc/resolv.conf /etc/resolv.conf -RUN echo -e "keyserver-options auto-key-retrieve" >> /etc/pacman.d/gnupg/gpg.conf - -# Cannot check space in chroot -RUN sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf - -RUN pacman-key --init && \ +RUN echo -e "keyserver-options auto-key-retrieve" >> /etc/pacman.d/gnupg/gpg.conf && \ + # Cannot check space in chroot + sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf && \ + pacman-key --init && \ pacman --noconfirm -Syyuu && \ pacman --noconfirm -S \ arch-install-scripts \ @@ -23,20 +21,12 @@ RUN pacman-key --init && \ python-markdown-it-py \ python-setuptools \ python-wheel \ - sudo - -RUN pacman --noconfirm -S --needed git - -# No password asked for wheel group -RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers - -# The makepkg tool cannot use root: add a temp user to build packages -# and add that user to wheel group so that it can install packages -# without being asked for a password -RUN useradd build -G wheel -m - -# Build and install pikaur -RUN su - build -c "git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur" && \ + sudo \ + && \ + pacman --noconfirm -S --needed git && \ + echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ + useradd build -G wheel -m && \ + su - build -c "git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur" && \ su - build -c "cd /tmp/pikaur && makepkg -f" && \ pacman --noconfirm -U /tmp/pikaur/pikaur-*.pkg.tar.zst From 519f3871c339463ac0261a726cddfac26152440f Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 21:14:54 +0200 Subject: [PATCH 068/128] Remove racing wheel udev rules As part of the udev rules moving to device-quirks remove udev rules downloaded on ponstinstall function --- manifest | 7 ------- 1 file changed, 7 deletions(-) diff --git a/manifest b/manifest index dcaa20d83..a2de83d79 100644 --- a/manifest +++ b/manifest @@ -287,13 +287,6 @@ postinstallhook() { ${USERNAME} ALL=(ALL) NOPASSWD: /usr/share/chimera/bin/power-tool " >/etc/sudoers.d/chimera - # download and add racing wheel udev rules - pushd /usr/lib/udev/rules.d - curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-fanatec-wheel-perms.rules - curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-logitech-wheel-perms.rules - curl -L -O https://raw.githubusercontent.com/berarma/oversteer/master/data/udev/99-thrustmaster-wheel-perms.rules - popd - # Remove build tools for slimmer image rm /usr/share/libalpm/hooks/70-dkms-install.hook rm /usr/share/libalpm/hooks/70-dkms-upgrade.hook From 1a9870f7cb7429e64e3f053e5ff124be8d54599e Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 25 Aug 2024 21:17:28 +0200 Subject: [PATCH 069/128] Remove udev rules from chimeraos Udev rules are being moved to chimeraos-device-quirk package: to avoid duplicate entries remove them from this repo. Also remove ethtool: since the udev rule for wake-on-lan is stored on that package it's that package that is responsible for declaring its dependencies. --- manifest | 1 - rootfs/etc/udev/rules.d/00-ntfs3-default-mount.rules | 1 - rootfs/etc/udev/rules.d/81-wol.rules | 1 - 3 files changed, 3 deletions(-) delete mode 100644 rootfs/etc/udev/rules.d/00-ntfs3-default-mount.rules delete mode 100644 rootfs/etc/udev/rules.d/81-wol.rules diff --git a/manifest b/manifest index a2de83d79..b59121b75 100644 --- a/manifest +++ b/manifest @@ -31,7 +31,6 @@ export PACKAGES="\ dosbox \ efibootmgr \ epiphany \ - ethtool \ evtest \ fakeroot \ ffmpeg \ diff --git a/rootfs/etc/udev/rules.d/00-ntfs3-default-mount.rules b/rootfs/etc/udev/rules.d/00-ntfs3-default-mount.rules deleted file mode 100644 index c436d2f63..000000000 --- a/rootfs/etc/udev/rules.d/00-ntfs3-default-mount.rules +++ /dev/null @@ -1 +0,0 @@ -SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="ntfs", ENV{ID_FS_TYPE}="ntfs3" diff --git a/rootfs/etc/udev/rules.d/81-wol.rules b/rootfs/etc/udev/rules.d/81-wol.rules deleted file mode 100644 index f4d01169e..000000000 --- a/rootfs/etc/udev/rules.d/81-wol.rules +++ /dev/null @@ -1 +0,0 @@ -ACTION=="add", SUBSYSTEM=="net", NAME=="enp*", RUN+="/usr/bin/ethtool -s $name wol g" From 18c4a531d64e5b9f8479b920a8b5e9fe6afa6ebb Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Mon, 26 Aug 2024 22:41:47 +0200 Subject: [PATCH 070/128] Fix error in migration from pre-refactor frzr Use the migration method for etc in var as well, fixing "cp: cannot stat '/frzr_root/var/*': no such file or directory". --- rootfs/usr/lib/frzr.d/install-0004-overlays.migration | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rootfs/usr/lib/frzr.d/install-0004-overlays.migration b/rootfs/usr/lib/frzr.d/install-0004-overlays.migration index 88028f7b3..36e699171 100755 --- a/rootfs/usr/lib/frzr.d/install-0004-overlays.migration +++ b/rootfs/usr/lib/frzr.d/install-0004-overlays.migration @@ -77,9 +77,9 @@ post_install() { if [ ! -d "${MOUNT_PATH}/usr" ] && [ -d "${MOUNT_PATH}/var" ] && [ -z $sysroot_snapshot ]; then echo "Transforming the /var subolume in '${MOUNT_PATH}/var/' to an overlay upperdir in '${SUBVOL_DATA}/var_overlay/upperdir'..." - mount -t overlay overlay -o lowerdir="${SUBVOL}/var",upperdir="${SUBVOL_DATA}/var_overlay/upperdir",workdir="${SUBVOL_DATA}/var_overlay/workdir" "${SUBVOL}/var" - cp -a ${MOUNT_PATH}/var/* "${SUBVOL}/var" - umount "${SUBVOL}/var" + rm -rf "${SUBVOL_DATA}/var_overlay/upperdir" + cp -a "${MOUNT_PATH}/var" "${SUBVOL_DATA}/var_overlay/" + mv "${SUBVOL_DATA}/var_overlay/var" "${SUBVOL_DATA}/var_overlay/upperdir" fi # clear out old pacman database From bf009ef81f610bcf2976bfbb19ce1ad91176eb84 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 28 Aug 2024 14:07:19 +0200 Subject: [PATCH 071/128] Update kernel to 6.10.6.chos2-1 --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index dcaa20d83..311ab37e3 100644 --- a/manifest +++ b/manifest @@ -173,8 +173,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.6-chos1-2/linux-chimeraos-6.10.6.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.6-chos1-2/linux-chimeraos-headers-6.10.6.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.6-chos2-1/linux-chimeraos-6.10.6.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.6-chos2-1/linux-chimeraos-headers-6.10.6.chos2-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-libva-mesa-driver-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-vdpau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ From a8d4b6f1775bc5b9bec57cca9bf9025f6b379957 Mon Sep 17 00:00:00 2001 From: Alesh Slovak Date: Fri, 6 Sep 2024 09:33:43 -0400 Subject: [PATCH 072/128] trigger build From a7b28cbe7dd33464fb7bee4d85a61438787bee00 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 7 Sep 2024 15:40:04 +0200 Subject: [PATCH 073/128] asusctl-git instead asusctl: the current -git version fixes a bug related to leds of the ROG ally: use this new version instead. --- manifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest b/manifest index d8a1ef925..5f3bede98 100644 --- a/manifest +++ b/manifest @@ -200,7 +200,7 @@ export PACKAGE_OVERRIDES="\ # Which is often the same as the package name but it can be different. # Check on the AUR webpage if you are unsure export AUR_PACKAGES="\ - asusctl \ + asusctl-git \ ayaneo-platform-dkms-git \ ayn-platform-dkms-git \ bcm20702a1-firmware \ From fe35bb69553bce055cfa9f311944c8cc4b697a95 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 29 Sep 2024 14:40:49 +0200 Subject: [PATCH 074/128] Replace 1GB /home swapfile with a 4GB one in /frzr_root/swap/swapfile also enabling hibernation --- build-image.sh | 17 +++--- rootfs/etc/systemd/system/home-swapfile.swap | 19 ------- rootfs/etc/systemd/system/swapfile.service | 26 --------- rootfs/usr/bin/mkswapfile | 35 ------------ .../frzr.d/install-0009-swapfile.migration | 57 +++++++++++++++++++ .../systemd/sleep.conf.d/hibernatemode.conf | 2 + 6 files changed, 68 insertions(+), 88 deletions(-) delete mode 100644 rootfs/etc/systemd/system/home-swapfile.swap delete mode 100644 rootfs/etc/systemd/system/swapfile.service delete mode 100755 rootfs/usr/bin/mkswapfile create mode 100755 rootfs/usr/lib/frzr.d/install-0009-swapfile.migration create mode 100644 rootfs/usr/lib/systemd/sleep.conf.d/hibernatemode.conf diff --git a/build-image.sh b/build-image.sh index 4bdf86a56..8ba5f2474 100755 --- a/build-image.sh +++ b/build-image.sh @@ -172,14 +172,15 @@ Subsystem sftp /usr/lib/ssh/sftp-server # NOTE: gid=379 is the group ID of the frzr group # WARNING: mounting partitions using LABEL exposes us to a bug where multiple disks cannot have frzr systems and how to solve this still is an open question echo " -LABEL=frzr_efi /efi vfat uid=0,gid=379,fmask=0077,dmask=0077,rw,noatime,nofail 0 2 -LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime,nodatacow 0 2 -LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nodatacow,nofail 0 0 -overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 -overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 -overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 -overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/etc,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=etcoverlay 0 0 -overlay /var overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/var,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=varoverlay 0 0 +LABEL=frzr_efi /efi vfat uid=0,gid=379,fmask=0077,dmask=0077,rw,noatime,nofail 0 2 +LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime,nodatacow 0 2 +LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nodatacow,nofail 0 0 +overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 +overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 +overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 +overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/etc,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=etcoverlay 0 0 +overlay /var overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/var,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=varoverlay 0 0 +/frzr_root/swap/swapfile none swap defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,sw 0 0 " > /etc/fstab echo " diff --git a/rootfs/etc/systemd/system/home-swapfile.swap b/rootfs/etc/systemd/system/home-swapfile.swap deleted file mode 100644 index 9b2e9f397..000000000 --- a/rootfs/etc/systemd/system/home-swapfile.swap +++ /dev/null @@ -1,19 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1+ -# -# This file is part of steamos-customizations. -# -# steamos-customizations is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License as -# published by the Free Software Foundation; either version 2.1 of the License, -# or (at your option) any later version. - -[Unit] -Description=Swap -Requires=swapfile.service -After=swapfile.service - -[Swap] -What=/home/swapfile - -[Install] -WantedBy=swap.target \ No newline at end of file diff --git a/rootfs/etc/systemd/system/swapfile.service b/rootfs/etc/systemd/system/swapfile.service deleted file mode 100644 index e2e6b33d1..000000000 --- a/rootfs/etc/systemd/system/swapfile.service +++ /dev/null @@ -1,26 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1+ -# -# This file is part of steamos-customizations. -# -# steamos-customizations is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License as -# published by the Free Software Foundation; either version 2.1 of the License, -# or (at your option) any later version. - -[Unit] -Description=Create Swap File -DefaultDependencies=no -Before=shutdown.target home-swapfile.swap -Conflicts=shutdown.target -ConditionFileIsExecutable=/usr/bin/mkswapfile -ConditionPathExists=!/home/swapfile -RequiresMountsFor=/home/swapfile - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/usr/bin/mkswapfile /home/swapfile 1024 - -[Install] -WantedBy=swap.target - diff --git a/rootfs/usr/bin/mkswapfile b/rootfs/usr/bin/mkswapfile deleted file mode 100755 index 3f5d4f076..000000000 --- a/rootfs/usr/bin/mkswapfile +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -# -*- mode: sh; indent-tabs-mode: nil; sh-basic-offset: 4; -*- -# vim: et sts=4 sw=4 - -# SPDX-License-Identifier: LGPL-2.1+ -# -# Copyright © 2019-2021 Collabora Ltd. -# Copyright © 2019-2021 Valve Corporation. -# -# This file is part of steamos-customizations. -# -# steamos-customizations is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License as -# published by the Free Software Foundation; either version 2.1 of the License, -# or (at your option) any later version. - -set -euo pipefail - -SWAPFILE=${1:-} -SWAPSIZE=${2:-} - -fail() { echo >&2 "$@"; exit 1; } -usage() { echo >&2 "Usage: $(basename $0) FILE SIZE"; exit 1; } - -[ "$SWAPFILE" ] || usage -[ "$SWAPSIZE" ] || usage - -[ -e "$SWAPFILE" ] && fail "File '$SWAPFILE' already exists" - -touch "$SWAPFILE" -chattr +C "$SWAPFILE" -btrfs property set "$SWAPFILE" compression none -dd if=/dev/zero of="$SWAPFILE" bs=1M count="$SWAPSIZE" -chmod 600 "$SWAPFILE" -mkswap "$SWAPFILE" diff --git a/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration b/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration new file mode 100755 index 000000000..068d8a95c --- /dev/null +++ b/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration @@ -0,0 +1,57 @@ +#! /bin/bash + +# Install swapfile + +frzr_migration_version=0 + +post_install() { + local MOUNT_PATH=$1 + + if [ ! -f "${MOUNT_PATH}/swap/swapfile" ]; then + + # Create a directory to contain the swapfile + if mkdir -p "${MOUNT_PATH}/swap"; then + + # Create a 4G swap file + if touch "${MOUNT_PATH}/swap/swapfile"; then + + # Disable copy-on-write on the swapfile + if chattr +C "${MOUNT_PATH}/swap/swapfile"; then + + # Disable btrfs compression + if btrfs property set "${MOUNT_PATH}/swap/swapfile" compression none; then + + # Set the correct permissions + if chmod 600 "${MOUNT_PATH}/swap/swapfile"; then + + # Write 4GB of zeroes into swapfile + if dd if=/dev/zero of="${MOUNT_PATH}/swap/swapfile" bs=1G count=4; then + + # Initialize the swapfile + if mkswap "${MOUNT_PATH}/swap/swapfile"; then + echo "OK" + else + echo "ERROR: Could not create the swap filesystem on swapfile '${MOUNT_PATH}/swap/swapfile'" + fi + else + echo "ERROR: Could not initialize swapfile '${MOUNT_PATH}/swap/swapfile'" + fi + else + echo "ERROR: Could not change permissions to swapfile '${MOUNT_PATH}/swap/swapfile'" + fi + else + echo "ERROR: Could not disable compression for swapfile '${MOUNT_PATH}/swap/swapfile'" + fi + else + echo "ERROR: Could not disable Copy-On-Write for swapfile '${MOUNT_PATH}/swap/swapfile'" + fi + else + echo "ERROR: Could not create swapfile '${MOUNT_PATH}/swap/swapfile'" + fi + else + echo "ERROR: Could not create swap directory at '${MOUNT_PATH}/swap'" + fi + else + echo "OK" + fi +} diff --git a/rootfs/usr/lib/systemd/sleep.conf.d/hibernatemode.conf b/rootfs/usr/lib/systemd/sleep.conf.d/hibernatemode.conf new file mode 100644 index 000000000..5ede80363 --- /dev/null +++ b/rootfs/usr/lib/systemd/sleep.conf.d/hibernatemode.conf @@ -0,0 +1,2 @@ +[Sleep] +HibernateMode=shutdown \ No newline at end of file From ac3da457089f7a7a0f950c0f0eb7acfe1e9963aa Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 29 Sep 2024 15:39:11 +0200 Subject: [PATCH 075/128] Use AUR inputplumber instead of inputplumber-bin package --- aur-pkgs/build-aur-package.sh | 2 +- aur-pkgs/build-aur-packages.sh | 2 +- manifest | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/aur-pkgs/build-aur-package.sh b/aur-pkgs/build-aur-package.sh index d0814637e..04ce7f015 100755 --- a/aur-pkgs/build-aur-package.sh +++ b/aur-pkgs/build-aur-package.sh @@ -11,7 +11,7 @@ sudo chown build:build /workdir/aur-pkgs git clone --depth=1 https://aur.archlinux.org/${1}.git /temp/package -pikaur --noconfirm -S inputplumber-bin +pikaur --noconfirm -S inputplumber PIKAUR_CMD="PKGDEST=/workdir/aur-pkgs pikaur --noconfirm --build-gpgdir /etc/pacman.d/gnupg -S -P /temp/package/PKGBUILD" PIKAUR_RUN=(bash -c "${PIKAUR_CMD}") diff --git a/aur-pkgs/build-aur-packages.sh b/aur-pkgs/build-aur-packages.sh index ff2bd3ecf..691a995b0 100755 --- a/aur-pkgs/build-aur-packages.sh +++ b/aur-pkgs/build-aur-packages.sh @@ -8,7 +8,7 @@ source manifest; sudo mkdir -p /workdir/aur-pkgs sudo chown build:build /workdir/aur-pkgs -pikaur --noconfirm -S inputplumber-bin +pikaur --noconfirm -S inputplumber PIKAUR_CMD="PKGDEST=/workdir/aur-pkgs pikaur --noconfirm -Sw ${AUR_PACKAGES}" PIKAUR_RUN=(bash -c "${PIKAUR_CMD}") diff --git a/manifest b/manifest index 5f3bede98..d875fba3c 100644 --- a/manifest +++ b/manifest @@ -214,7 +214,7 @@ export AUR_PACKAGES="\ gamescope-session-steam-git \ gamescope-session-steam-plus-git \ hhfc-git \ - inputplumber-bin \ + inputplumber \ legendary \ libretro-dosbox-pure-git \ libretro-opera-git \ From 9972fe9c04b46a66f5126252f4723ece211ed603 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 29 Sep 2024 15:40:56 +0200 Subject: [PATCH 076/128] Change font on initramfs --- rootfs/etc/vconsole.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rootfs/etc/vconsole.conf b/rootfs/etc/vconsole.conf index f20166b67..7a03d485f 100644 --- a/rootfs/etc/vconsole.conf +++ b/rootfs/etc/vconsole.conf @@ -4,4 +4,5 @@ KEYMAP=us # console font in initramfs: get the list of supported fonts using: # ls -l /usr/share/kbd/consolefonts/ | grep -i ".psfu.gz" -FONT=iso01-12x22 \ No newline at end of file +# default8x16 and default8x9 are good choices +FONT=default8x9 \ No newline at end of file From 34854b5f6e28dc1d7b1ddcceef2446834fab8d8e Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Mon, 30 Sep 2024 19:29:45 +0200 Subject: [PATCH 077/128] fstab: fix the swap mount --- build-image.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/build-image.sh b/build-image.sh index 8ba5f2474..f1eb5f8e6 100755 --- a/build-image.sh +++ b/build-image.sh @@ -172,15 +172,15 @@ Subsystem sftp /usr/lib/ssh/sftp-server # NOTE: gid=379 is the group ID of the frzr group # WARNING: mounting partitions using LABEL exposes us to a bug where multiple disks cannot have frzr systems and how to solve this still is an open question echo " -LABEL=frzr_efi /efi vfat uid=0,gid=379,fmask=0077,dmask=0077,rw,noatime,nofail 0 2 -LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime,nodatacow 0 2 -LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nodatacow,nofail 0 0 -overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 -overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 -overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 -overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/etc,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=etcoverlay 0 0 -overlay /var overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/var,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=varoverlay 0 0 -/frzr_root/swap/swapfile none swap defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,sw 0 0 +LABEL=frzr_efi /efi vfat uid=0,gid=379,fmask=0077,dmask=0077,rw,noatime,nofail 0 2 +LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime,nodatacow 0 2 +LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nodatacow,nofail 0 0 +overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 +overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 +overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 +overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/etc,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=etcoverlay 0 0 +overlay /var overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/var,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=varoverlay 0 0 +/sysroot/frzr_root/swap/swapfile none swap defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,sw 0 0 " > /etc/fstab echo " From bf8ae03cde3ab929b175d2fda0139788960fc8e4 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Mon, 30 Sep 2024 19:31:43 +0200 Subject: [PATCH 078/128] fstab: remove nodatacow nodatacow is applied to every subvolume or none, depending on the mount order: it is far better to use set chattr +C to mark /home not copy-on-write. --- build-image.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-image.sh b/build-image.sh index f1eb5f8e6..26f2e0f7c 100755 --- a/build-image.sh +++ b/build-image.sh @@ -173,8 +173,8 @@ Subsystem sftp /usr/lib/ssh/sftp-server # WARNING: mounting partitions using LABEL exposes us to a bug where multiple disks cannot have frzr systems and how to solve this still is an open question echo " LABEL=frzr_efi /efi vfat uid=0,gid=379,fmask=0077,dmask=0077,rw,noatime,nofail 0 2 -LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime,nodatacow 0 2 -LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nodatacow,nofail 0 0 +LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime 0 2 +LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nofail 0 0 overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 From 0dadf054915ce28ad746eadbb9314c64e04f53a5 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 1 Oct 2024 01:11:22 +0200 Subject: [PATCH 079/128] fstab: mount swapfile after initrd --- build-image.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/build-image.sh b/build-image.sh index 26f2e0f7c..cf9ed19b1 100755 --- a/build-image.sh +++ b/build-image.sh @@ -172,15 +172,15 @@ Subsystem sftp /usr/lib/ssh/sftp-server # NOTE: gid=379 is the group ID of the frzr group # WARNING: mounting partitions using LABEL exposes us to a bug where multiple disks cannot have frzr systems and how to solve this still is an open question echo " -LABEL=frzr_efi /efi vfat uid=0,gid=379,fmask=0077,dmask=0077,rw,noatime,nofail 0 2 -LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime 0 2 -LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nofail 0 0 -overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 -overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 -overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 -overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/etc,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=etcoverlay 0 0 -overlay /var overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/var,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=varoverlay 0 0 -/sysroot/frzr_root/swap/swapfile none swap defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,sw 0 0 +LABEL=frzr_efi /efi vfat uid=0,gid=379,fmask=0077,dmask=0077,rw,noatime,nofail 0 2 +LABEL=frzr_root /frzr_root btrfs defaults,x-initrd.mount,subvolid=5,rw,noatime 0 2 +LABEL=frzr_root /home btrfs defaults,x-systemd.rw-only,subvol=/home,rw,noatime,nofail 0 0 +overlay /root overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/root,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/root_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=rootoverlay 0 0 +overlay /boot overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/boot,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=bootoverlay 0 0 +overlay /usr overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,lowerdir=/sysroot/usr,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=usroverlay 0 0 +overlay /etc overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/etc,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=etcoverlay 0 0 +overlay /var overlay defaults,x-systemd.requires-mounts-for=/frzr_root,x-systemd.requires-mounts-for=/sysroot/frzr_root,x-initrd.mount,x-systemd.rw-only,lowerdir=/sysroot/var,upperdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/upperdir,workdir=/sysroot/frzr_root/deployments_data/${SYSTEM_NAME}-${VERSION}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off,comment=varoverlay 0 0 +/frzr_root/swap/swapfile none swap sw 0 0 " > /etc/fstab echo " From a5cba59f7efa209caf9008ddf0b22ac2cf361e1e Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 1 Oct 2024 01:47:26 +0200 Subject: [PATCH 080/128] Generate kernel cmdline to resume from hibernation --- .../lib/frzr.d/boot-0001-swapfile.bootloader | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader diff --git a/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader b/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader new file mode 100755 index 000000000..3a89b1082 --- /dev/null +++ b/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader @@ -0,0 +1,57 @@ +#! /bin/bash + +# Resume from hibernation using swapfile + +frzr_migration_version=1 + +# Get the UUID of the disk containing the given directory +# $1 the directory +# stdout UUID (compatible with /dev/disk/by-uuid/), an error otherwise +swapfile_uuid() { + local dir=$1 + + if [ -d "${dir}" ]; then + local subcmd=$(df -P "${dir}" | tail -n1 | cut -d' ' -f1) + + if [ "$subcmd" = "-" ]; then + subcmd=$(findmnt --target "${dir}" | grep "/dev" | tail -n1 | cut -d' ' -f2 ) + fi + + local possible_uuid=$(lsblk -n -o UUID "${subcmd}") + local filtered_uuid=$(echo "${possible_uuid}" | grep -E '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}') + + if [ -z "$filtered_uuid" ]; then + echo "" + else + echo "${filtered_uuid}" + fi + else + echo "" + fi +} + +boot_cmdline() { + local MOUNT_PATH=$1 + local SUBVOL=$2 + local NAME=$3 + local FRZR_VER=$4 + + if [ -f "${MOUNT_PATH}/swap/swapfile" ]; then + + local resume_uuid=$(swapfile_uuid "${MOUNT_PATH}/swap/swapfile") + + if [ ! -z "${resume_uuid}" ]; then + local resume_offset=$(btrfs inspect-internal map-swapfile -r "${MOUNT_PATH}/swap/swapfile") + + if [ ! -z "${resume_offset}" ]; then + echo "resume=UUID=${resume_uuid} resume_offset=${resume_offset}" + else + echo "" + fi + else + echo "" + fi + else + echo "" + fi +} \ No newline at end of file From 5a04893d5c4c515355a66090b65aab45bd0093e8 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Thu, 25 Jul 2024 03:57:19 +0200 Subject: [PATCH 081/128] Use the highest compression method available for the final image --- build-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-image.sh b/build-image.sh index cf9ed19b1..0b19f4c1b 100755 --- a/build-image.sh +++ b/build-image.sh @@ -287,7 +287,7 @@ rm -rf ${BUILD_IMG} IMG_FILENAME="${SYSTEM_NAME}-${VERSION}.img.tar.xz" if [ -z "${NO_COMPRESS}" ]; then - tar -c -I'xz -8 -T4' -f ${IMG_FILENAME} ${SYSTEM_NAME}-${VERSION}.img + tar -c -I'xz -9e --verbose -T4' -f ${IMG_FILENAME} ${SYSTEM_NAME}-${VERSION}.img rm ${SYSTEM_NAME}-${VERSION}.img sha256sum ${SYSTEM_NAME}-${VERSION}.img.tar.xz > sha256sum.txt From e383cac29721c9b95e65de0c80cf5fffb58c95bc Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Thu, 25 Jul 2024 04:09:04 +0200 Subject: [PATCH 082/128] image compression: make it easier to switch to a better one --- build-image.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/build-image.sh b/build-image.sh index 0b19f4c1b..9b59442eb 100755 --- a/build-image.sh +++ b/build-image.sh @@ -287,10 +287,19 @@ rm -rf ${BUILD_IMG} IMG_FILENAME="${SYSTEM_NAME}-${VERSION}.img.tar.xz" if [ -z "${NO_COMPRESS}" ]; then + # This can be used only when installing from the refactored frzr + # Maximizes the github building space and makes the build faster + # + # Remember to remove the "btrfs send -f ${SYSTEM_NAME}-${VERSION}.img ${SNAP_PATH}" line + # alongside with this commend when implemented. + # + # btrfs send ${SNAP_PATH} | xz -9e --memory=95% -T0 > ${IMG_FILENAME} + # + # When implementing this remember to change $IMG_FILENAME extension to .img.xz tar -c -I'xz -9e --verbose -T4' -f ${IMG_FILENAME} ${SYSTEM_NAME}-${VERSION}.img - rm ${SYSTEM_NAME}-${VERSION}.img + rm -f ${SYSTEM_NAME}-${VERSION}.img - sha256sum ${SYSTEM_NAME}-${VERSION}.img.tar.xz > sha256sum.txt + sha256sum "$IMG_FILENAME" > sha256sum.txt cat sha256sum.txt # Move the image to the output directory, if one was specified. From 927890b632384f1780942e1d7d1925e3ec9802fe Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 1 Oct 2024 02:05:00 +0200 Subject: [PATCH 083/128] Move systemd config files to /usr Moving configuration files to /usr makes /etc less full of distro-configuration files while retaining the ability of the user to override default behaviours writing a file with the same name in /etc since .conf files in /etc takes precedence. --- .../lib}/systemd/journald.conf.d/00-journal-persistent.conf | 0 .../{etc => usr/lib}/systemd/journald.conf.d/00-journal-size.conf | 0 rootfs/{etc => usr/lib}/systemd/logind.conf.d/power_off.conf | 0 .../{etc => usr/lib}/systemd/system/bluetooth-workaround.service | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename rootfs/{etc => usr/lib}/systemd/journald.conf.d/00-journal-persistent.conf (100%) rename rootfs/{etc => usr/lib}/systemd/journald.conf.d/00-journal-size.conf (100%) rename rootfs/{etc => usr/lib}/systemd/logind.conf.d/power_off.conf (100%) rename rootfs/{etc => usr/lib}/systemd/system/bluetooth-workaround.service (100%) diff --git a/rootfs/etc/systemd/journald.conf.d/00-journal-persistent.conf b/rootfs/usr/lib/systemd/journald.conf.d/00-journal-persistent.conf similarity index 100% rename from rootfs/etc/systemd/journald.conf.d/00-journal-persistent.conf rename to rootfs/usr/lib/systemd/journald.conf.d/00-journal-persistent.conf diff --git a/rootfs/etc/systemd/journald.conf.d/00-journal-size.conf b/rootfs/usr/lib/systemd/journald.conf.d/00-journal-size.conf similarity index 100% rename from rootfs/etc/systemd/journald.conf.d/00-journal-size.conf rename to rootfs/usr/lib/systemd/journald.conf.d/00-journal-size.conf diff --git a/rootfs/etc/systemd/logind.conf.d/power_off.conf b/rootfs/usr/lib/systemd/logind.conf.d/power_off.conf similarity index 100% rename from rootfs/etc/systemd/logind.conf.d/power_off.conf rename to rootfs/usr/lib/systemd/logind.conf.d/power_off.conf diff --git a/rootfs/etc/systemd/system/bluetooth-workaround.service b/rootfs/usr/lib/systemd/system/bluetooth-workaround.service similarity index 100% rename from rootfs/etc/systemd/system/bluetooth-workaround.service rename to rootfs/usr/lib/systemd/system/bluetooth-workaround.service From 94c5222013cae4ce4f0e4de66725287b4322c748 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 1 Oct 2024 23:23:40 +0200 Subject: [PATCH 084/128] Fix swapfile uuid discovery --- rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader b/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader index 3a89b1082..904fe1dee 100755 --- a/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader +++ b/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader @@ -10,7 +10,7 @@ frzr_migration_version=1 swapfile_uuid() { local dir=$1 - if [ -d "${dir}" ]; then + if [ -d "${dir}" ] || [ -f "${dir}" ]; then local subcmd=$(df -P "${dir}" | tail -n1 | cut -d' ' -f1) if [ "$subcmd" = "-" ]; then @@ -20,10 +20,10 @@ swapfile_uuid() { local possible_uuid=$(lsblk -n -o UUID "${subcmd}") local filtered_uuid=$(echo "${possible_uuid}" | grep -E '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}') - if [ -z "$filtered_uuid" ]; then - echo "" - else + if [ ! -z "$filtered_uuid" ]; then echo "${filtered_uuid}" + else + echo "" fi else echo "" From 900174ecf0ae37f66b7555c3706985cc56e141cf Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 5 Oct 2024 16:32:27 +0200 Subject: [PATCH 085/128] swapfile: remove the old swapfile in home folder and use mkswapfile on swapfile migration --- rootfs/usr/bin/mkswapfile | 2 + .../frzr.d/install-0009-swapfile.migration | 50 ++++--------------- ...nstall-0010-remove-old-swapfile.migration} | 2 + 3 files changed, 13 insertions(+), 41 deletions(-) rename rootfs/usr/lib/frzr.d/{swap-fix.migration => install-0010-remove-old-swapfile.migration} (95%) mode change 100644 => 100755 diff --git a/rootfs/usr/bin/mkswapfile b/rootfs/usr/bin/mkswapfile index ec09e67a0..349465b50 100755 --- a/rootfs/usr/bin/mkswapfile +++ b/rootfs/usr/bin/mkswapfile @@ -33,6 +33,8 @@ AVAIL_DISK_MB=$(df -BM "$BASE_DIR" | tail -1 | tr -s ' ' | cut -d' ' -f4 | sed ' REQUIRED_BUFFER_MB=$(($BUFFER_MB + $SWAPSIZE)) [ "$AVAIL_DISK_MB" -lt "$REQUIRED_BUFFER_MB" ] && fail "Not enough free disk space" +mkdir -p "$BASE_DIR" +chattr +C "$BASE_DIR" touch "$SWAPFILE" chattr +C "$SWAPFILE" btrfs property set "$SWAPFILE" compression none && true # prevent script failure when using nodatacow diff --git a/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration b/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration index 068d8a95c..815a518ec 100755 --- a/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration +++ b/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration @@ -6,50 +6,18 @@ frzr_migration_version=0 post_install() { local MOUNT_PATH=$1 + local SUBVOL=$2 + local NAME=$3 + local FRZR_VER=$4 - if [ ! -f "${MOUNT_PATH}/swap/swapfile" ]; then - - # Create a directory to contain the swapfile - if mkdir -p "${MOUNT_PATH}/swap"; then - - # Create a 4G swap file - if touch "${MOUNT_PATH}/swap/swapfile"; then - - # Disable copy-on-write on the swapfile - if chattr +C "${MOUNT_PATH}/swap/swapfile"; then - - # Disable btrfs compression - if btrfs property set "${MOUNT_PATH}/swap/swapfile" compression none; then + local SWAPFILE="${MOUNT_PATH}/swap/swapfile" + local SWAPSIZE="4096" # Multiples of 1M used in dd - # Set the correct permissions - if chmod 600 "${MOUNT_PATH}/swap/swapfile"; then - - # Write 4GB of zeroes into swapfile - if dd if=/dev/zero of="${MOUNT_PATH}/swap/swapfile" bs=1G count=4; then - - # Initialize the swapfile - if mkswap "${MOUNT_PATH}/swap/swapfile"; then - echo "OK" - else - echo "ERROR: Could not create the swap filesystem on swapfile '${MOUNT_PATH}/swap/swapfile'" - fi - else - echo "ERROR: Could not initialize swapfile '${MOUNT_PATH}/swap/swapfile'" - fi - else - echo "ERROR: Could not change permissions to swapfile '${MOUNT_PATH}/swap/swapfile'" - fi - else - echo "ERROR: Could not disable compression for swapfile '${MOUNT_PATH}/swap/swapfile'" - fi - else - echo "ERROR: Could not disable Copy-On-Write for swapfile '${MOUNT_PATH}/swap/swapfile'" - fi - else - echo "ERROR: Could not create swapfile '${MOUNT_PATH}/swap/swapfile'" - fi + if [ ! -f "${MOUNT_PATH}/swap/swapfile" ]; then + if "${SUBVOL}/usr/bin/mkswapfile" "${SWAPFILE}" "${SWAPSIZE}"; then + echo "OK" else - echo "ERROR: Could not create swap directory at '${MOUNT_PATH}/swap'" + echo "ERROR: Could not create swapfile in '${SWAPFILE}'" fi else echo "OK" diff --git a/rootfs/usr/lib/frzr.d/swap-fix.migration b/rootfs/usr/lib/frzr.d/install-0010-remove-old-swapfile.migration old mode 100644 new mode 100755 similarity index 95% rename from rootfs/usr/lib/frzr.d/swap-fix.migration rename to rootfs/usr/lib/frzr.d/install-0010-remove-old-swapfile.migration index 296c16618..d2f51ad0a --- a/rootfs/usr/lib/frzr.d/swap-fix.migration +++ b/rootfs/usr/lib/frzr.d/install-0010-remove-old-swapfile.migration @@ -1,3 +1,5 @@ +#! /bin/bash + # Delete broken swapfile post_install() { SWAPFILE="/home/swapfile" From 7e6fb8e8f8a8db47bd2972126d323fedfccd01e7 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 5 Oct 2024 16:34:57 +0200 Subject: [PATCH 086/128] swapfile: replace full paths with $SWAPFILE --- rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader | 8 +++++--- rootfs/usr/lib/frzr.d/install-0009-swapfile.migration | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader b/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader index 904fe1dee..4c45fcf21 100755 --- a/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader +++ b/rootfs/usr/lib/frzr.d/boot-0001-swapfile.bootloader @@ -36,12 +36,14 @@ boot_cmdline() { local NAME=$3 local FRZR_VER=$4 - if [ -f "${MOUNT_PATH}/swap/swapfile" ]; then + local SWAPFILE="${MOUNT_PATH}/swap/swapfile" - local resume_uuid=$(swapfile_uuid "${MOUNT_PATH}/swap/swapfile") + if [ -f "${SWAPFILE}" ]; then + + local resume_uuid=$(swapfile_uuid "${SWAPFILE}") if [ ! -z "${resume_uuid}" ]; then - local resume_offset=$(btrfs inspect-internal map-swapfile -r "${MOUNT_PATH}/swap/swapfile") + local resume_offset=$(btrfs inspect-internal map-swapfile -r "${SWAPFILE}") if [ ! -z "${resume_offset}" ]; then echo "resume=UUID=${resume_uuid} resume_offset=${resume_offset}" diff --git a/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration b/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration index 815a518ec..41a2edd70 100755 --- a/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration +++ b/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration @@ -13,7 +13,7 @@ post_install() { local SWAPFILE="${MOUNT_PATH}/swap/swapfile" local SWAPSIZE="4096" # Multiples of 1M used in dd - if [ ! -f "${MOUNT_PATH}/swap/swapfile" ]; then + if [ ! -f "${SWAPFILE}" ]; then if "${SUBVOL}/usr/bin/mkswapfile" "${SWAPFILE}" "${SWAPSIZE}"; then echo "OK" else From 829a9b88ea3339eb05a7611c00385e4cf98600b2 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 5 Oct 2024 16:35:29 +0200 Subject: [PATCH 087/128] Use -git version of chimeraos-device-quirks --- manifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest b/manifest index c8f659c60..d875fba3c 100644 --- a/manifest +++ b/manifest @@ -206,7 +206,7 @@ export AUR_PACKAGES="\ bcm20702a1-firmware \ boxtron \ chimera \ - chimeraos-device-quirks \ + chimeraos-device-quirks-git \ downgrade \ evdev-keepalive \ frzr-git \ From 22f5d54cd41a4dc8760d68e45df7fb536662bcdf Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 5 Oct 2024 17:21:33 +0200 Subject: [PATCH 088/128] device-quirks: call the installation file --- .../lib/frzr.d/install-0005-device-quirks-apply.migration | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration b/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration index 88dbbca2d..fe17c70e8 100755 --- a/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration +++ b/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration @@ -34,8 +34,9 @@ post_install() { # Run the following in chroot chroot "${SUBVOL}" /bin/bash < "/var/log/device-quirks/${CURR_DATE}.log" EOF # umount mounted devices From c11b735a23945fd4f390ef50b0facc8c3dab081e Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 5 Oct 2024 18:16:00 +0200 Subject: [PATCH 089/128] Remove unused references to home-swapfile --- manifest | 2 -- 1 file changed, 2 deletions(-) diff --git a/manifest b/manifest index d875fba3c..2f5be9ceb 100644 --- a/manifest +++ b/manifest @@ -250,7 +250,6 @@ export SERVICES="\ bluetooth-workaround \ fstrim.timer \ haveged \ - home-swapfile.swap \ inputplumber \ lightdm \ nvidia-powerd \ @@ -258,7 +257,6 @@ export SERVICES="\ steam-powerbuttond \ sshd \ systemd-timesyncd \ - swapfile \ " export USER_SERVICES="\ From fe21f7c541e4d2c8d26898d72bf89e9402c5231e Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 26 Oct 2024 19:33:41 +0200 Subject: [PATCH 090/128] Use the official archlinux inputplumber InputPlumber is a (runtime) dependency of opengamepadui and dependencies are downloaded automatically: remove every mention of it as an AUR package. --- aur-pkgs/build-aur-package.sh | 2 -- aur-pkgs/build-aur-packages.sh | 2 -- manifest | 1 - 3 files changed, 5 deletions(-) diff --git a/aur-pkgs/build-aur-package.sh b/aur-pkgs/build-aur-package.sh index 04ce7f015..d24200298 100755 --- a/aur-pkgs/build-aur-package.sh +++ b/aur-pkgs/build-aur-package.sh @@ -11,8 +11,6 @@ sudo chown build:build /workdir/aur-pkgs git clone --depth=1 https://aur.archlinux.org/${1}.git /temp/package -pikaur --noconfirm -S inputplumber - PIKAUR_CMD="PKGDEST=/workdir/aur-pkgs pikaur --noconfirm --build-gpgdir /etc/pacman.d/gnupg -S -P /temp/package/PKGBUILD" PIKAUR_RUN=(bash -c "${PIKAUR_CMD}") "${PIKAUR_RUN[@]}" diff --git a/aur-pkgs/build-aur-packages.sh b/aur-pkgs/build-aur-packages.sh index 691a995b0..e955ee14f 100755 --- a/aur-pkgs/build-aur-packages.sh +++ b/aur-pkgs/build-aur-packages.sh @@ -8,8 +8,6 @@ source manifest; sudo mkdir -p /workdir/aur-pkgs sudo chown build:build /workdir/aur-pkgs -pikaur --noconfirm -S inputplumber - PIKAUR_CMD="PKGDEST=/workdir/aur-pkgs pikaur --noconfirm -Sw ${AUR_PACKAGES}" PIKAUR_RUN=(bash -c "${PIKAUR_CMD}") "${PIKAUR_RUN[@]}" \ No newline at end of file diff --git a/manifest b/manifest index 2f5be9ceb..0f44669f2 100644 --- a/manifest +++ b/manifest @@ -214,7 +214,6 @@ export AUR_PACKAGES="\ gamescope-session-steam-git \ gamescope-session-steam-plus-git \ hhfc-git \ - inputplumber \ legendary \ libretro-dosbox-pure-git \ libretro-opera-git \ From b1e9fc556cb4da6f2b7dd36a2c0b6ce518cdcded Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Thu, 31 Oct 2024 00:17:54 +0100 Subject: [PATCH 091/128] Update kernel to v6.11.5-chos1-2 --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 0f44669f2..27400bea7 100644 --- a/manifest +++ b/manifest @@ -172,8 +172,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.6-chos2-1/linux-chimeraos-6.10.6.chos2-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.10.6-chos2-1/linux-chimeraos-headers-6.10.6.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.11.5-chos1-2/linux-chimeraos-6.11.5.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.11.5-chos1-2/linux-chimeraos-headers-6.11.5.chos1-2-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-libva-mesa-driver-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-vdpau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ From 593656a9ddc20dc89019eb09fe63363bad1d8958 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Fri, 1 Nov 2024 14:51:24 +0100 Subject: [PATCH 092/128] fix swapfile creation and make it clear when a migration is to be run --- ...all-0006-remove-extraneous-wireplumber-config.migration | 3 +++ rootfs/usr/lib/frzr.d/install-0009-swapfile.migration | 7 +++++-- .../lib/frzr.d/install-0010-remove-old-swapfile.migration | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/rootfs/usr/lib/frzr.d/install-0006-remove-extraneous-wireplumber-config.migration b/rootfs/usr/lib/frzr.d/install-0006-remove-extraneous-wireplumber-config.migration index a1f013769..bab3d9203 100755 --- a/rootfs/usr/lib/frzr.d/install-0006-remove-extraneous-wireplumber-config.migration +++ b/rootfs/usr/lib/frzr.d/install-0006-remove-extraneous-wireplumber-config.migration @@ -2,6 +2,9 @@ # Remove extraneous wireplumber configuration made by quirks that # interferes with first boot + +frzr_migration_version=0 + post_install() { local MOUNT_PATH=$1 diff --git a/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration b/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration index 41a2edd70..83ca28929 100755 --- a/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration +++ b/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration @@ -2,7 +2,7 @@ # Install swapfile -frzr_migration_version=0 +frzr_migration_version=1 post_install() { local MOUNT_PATH=$1 @@ -10,10 +10,13 @@ post_install() { local NAME=$3 local FRZR_VER=$4 - local SWAPFILE="${MOUNT_PATH}/swap/swapfile" + local SWAPDIR="${MOUNT_PATH}/swap" + local SWAPFILE="${SWAPDIR}/swapfile" local SWAPSIZE="4096" # Multiples of 1M used in dd if [ ! -f "${SWAPFILE}" ]; then + mkdir -p "${SWAPDIR}" + if "${SUBVOL}/usr/bin/mkswapfile" "${SWAPFILE}" "${SWAPSIZE}"; then echo "OK" else diff --git a/rootfs/usr/lib/frzr.d/install-0010-remove-old-swapfile.migration b/rootfs/usr/lib/frzr.d/install-0010-remove-old-swapfile.migration index d2f51ad0a..b9520ce87 100755 --- a/rootfs/usr/lib/frzr.d/install-0010-remove-old-swapfile.migration +++ b/rootfs/usr/lib/frzr.d/install-0010-remove-old-swapfile.migration @@ -1,6 +1,9 @@ #! /bin/bash # Delete broken swapfile + +frzr_migration_version=1 + post_install() { SWAPFILE="/home/swapfile" if [ -e "$SWAPFILE" ] && [ $(stat -c%s "$SWAPFILE") -gt 0 ]; then From 570f3cf9918197b194477023fb545c8dbd6f22a6 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Fri, 1 Nov 2024 19:21:43 +0100 Subject: [PATCH 093/128] Fix device-quirks application --- ...install-0005-device-quirks-apply.migration | 74 +++++++++---------- 1 file changed, 34 insertions(+), 40 deletions(-) diff --git a/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration b/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration index fe17c70e8..3d5e62d5a 100755 --- a/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration +++ b/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration @@ -16,68 +16,62 @@ post_install() { local DEPLOYMENT_QUIRKS="${DEPLOYMENT_DATA}" local SUBVOL_QUIRKS="${SUBVOL_DATA}" - # NOTE: it is important this file is named in a way that will be listed - # after the migration that creates the overlays, thus ensuring overlays exists. - if [ -n "${FIRMWARE_OVERRIDE}" ]; then - # Execute a batch of mounts - if mount -t proc /proc "${SUBVOL}/proc"; then - if mount -t sysfs /sys "${SUBVOL}/sys"; then - if mount --rbind /dev "${SUBVOL}/dev"; then - if [ -e "${SUBVOL}/usr/share/device-quirks/id-device" ]; then - # mount device quirks directory on /mnt - if mount --bind "${SUBVOL_QUIRKS}" "${SUBVOL}/mnt"; then - if mount -t overlay -o lowerdir=${SUBVOL}/usr,upperdir=${SUBVOL_QUIRKS}/usr_overlay/upperdir,workdir=${SUBVOL_QUIRKS_WORKDIR}/usr_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/usr"; then - if mount -t overlay -o lowerdir=${SUBVOL}/etc,upperdir=${SUBVOL_QUIRKS}/etc_overlay/upperdir,workdir=${SUBVOL_QUIRKS_WORKDIR}/etc_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/etc"; then - if mount -t overlay -o lowerdir=${SUBVOL}/boot,upperdir=${SUBVOL_QUIRKS}/boot_overlay/upperdir,workdir=${SUBVOL_QUIRKS_WORKDIR}/boot_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/boot"; then - if mount -t overlay -o lowerdir=${SUBVOL}/var,upperdir=${SUBVOL_QUIRKS}/var_overlay/upperdir,workdir=${SUBVOL_QUIRKS_WORKDIR}/var_overlay/workdir,index=off,metacopy=off,xino=off,redirect_dir=off overlay "${SUBVOL}/var"; then - echo "export USE_FIRMWARE_OVERRIDES=1" >> "${SUBVOL}/etc/device-quirks.conf" - - # Run the following in chroot - chroot "${SUBVOL}" /bin/bash <> "${SUBVOL}/etc/device-quirks.conf" + + # Run the following in chroot + chroot "${SUBVOL}" /bin/bash < "/var/log/device-quirks/${CURR_DATE}.log" EOF - # umount mounted devices - umount -l "${SUBVOL}/mnt" - umount -l "${SUBVOL}/proc" - umount -l "${SUBVOL}/sys" - mount --make-rslave "${SUBVOL}/dev" - umount -l "${SUBVOL}/dev" - - # Do not umount the subvol as the following steps will copy SUBVOL/boot/initramfs-* to efi - #umount -l -R "${SUBVOL}" + # umount mounted devices + umount -l "${SUBVOL}/mnt" + umount -l "${SUBVOL}/proc" + umount -l "${SUBVOL}/sys" + mount --make-rslave "${SUBVOL}/dev" + umount -l "${SUBVOL}/dev" + + # Do not umount the subvol as the following steps will copy SUBVOL/boot/initramfs-* to efi + #umount -l -R "${SUBVOL}" - echo "OK" - else - echo "ERROR: Could not mount the /var device-quirks overlay" - fi + echo "OK" else - echo "ERROR: Could not mount the /boot device-quirks overlay" + echo "ERROR: Could not mount the /var device-quirks overlay" fi else - echo "ERROR: Could not mount the /etc device-quirks overlay" + echo "ERROR: Could not mount the /boot device-quirks overlay" fi else - echo "ERROR: Could not mount the /usr device-quirks overlay" + echo "ERROR: Could not mount the /etc device-quirks overlay" fi else - echo "ERROR: Could not bind-mount '${SUBVOL_QUIRKS}' into '${SUBVOL}/mnt'" + echo "ERROR: Could not mount the /usr device-quirks overlay" fi else - echo "WARNING: Device-quirks package was not found" + echo "ERROR: Could not bind-mount '${SUBVOL_QUIRKS}' into '${SUBVOL}/mnt'" fi else - echo "ERROR: Could not bind-mount /dev to '${SUBVOL}/dev'" + echo "WARNING: Device-quirks package was not found" fi else - echo "ERROR: Could not mount sysfs to '${SUBVOL}/sys'" + echo "ERROR: Could not bind-mount /dev to '${SUBVOL}/dev'" fi else - echo "ERROR: Could not mount proc to '${SUBVOL}/proc'" + echo "ERROR: Could not mount sysfs to '${SUBVOL}/sys'" fi else - echo "OK" + echo "ERROR: Could not mount proc to '${SUBVOL}/proc'" fi } \ No newline at end of file From bed0d2fa49638772e02f9fe6e35d15b6e84d8a56 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 26 Nov 2024 22:45:49 +0100 Subject: [PATCH 094/128] swapfile creation at install time fixed --- rootfs/usr/bin/mkswapfile | 30 +++++++++++++++++-- .../frzr.d/install-0009-swapfile.migration | 2 -- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/rootfs/usr/bin/mkswapfile b/rootfs/usr/bin/mkswapfile index 349465b50..deb3f9c3b 100755 --- a/rootfs/usr/bin/mkswapfile +++ b/rootfs/usr/bin/mkswapfile @@ -16,6 +16,24 @@ set -euo pipefail +is_btrfs_subvol() { + local dir=$1 + if [ ! -d "${dir}" ]; then + return 1 + fi + + [ "$(stat -f --format="%T" "$dir")" == "btrfs" ] || return 1 + inode="$(stat --format="%i" "$dir")" + case "$inode" in + 2 | 256) + return 0 + ;; + *) + return 1 + ;; + esac +} + SWAPFILE=${1:-} SWAPSIZE=${2:-} @@ -27,17 +45,23 @@ usage() { echo >&2 "Usage: $(basename $0) FILE SIZE"; exit 1; } [ -e "$SWAPFILE" ] && fail "File '$SWAPFILE' already exists" +if [ ! -d "$BASE_DIR" ]; then + btrfs subvolume create "$BASE_DIR" +fi + BASE_DIR=$(dirname "$SWAPFILE") BUFFER_MB=10000 AVAIL_DISK_MB=$(df -BM "$BASE_DIR" | tail -1 | tr -s ' ' | cut -d' ' -f4 | sed 's/M//') REQUIRED_BUFFER_MB=$(($BUFFER_MB + $SWAPSIZE)) [ "$AVAIL_DISK_MB" -lt "$REQUIRED_BUFFER_MB" ] && fail "Not enough free disk space" - -mkdir -p "$BASE_DIR" chattr +C "$BASE_DIR" touch "$SWAPFILE" chattr +C "$SWAPFILE" -btrfs property set "$SWAPFILE" compression none && true # prevent script failure when using nodatacow + +if is_btrfs_subvol "$BASE_DIR"; then + btrfs property set "$BASE_DIR" compression none && true # prevent script failure when using nodatacow +fi + dd if=/dev/zero of="$SWAPFILE" bs=1M count="$SWAPSIZE" chmod 600 "$SWAPFILE" mkswap "$SWAPFILE" diff --git a/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration b/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration index 83ca28929..2de596437 100755 --- a/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration +++ b/rootfs/usr/lib/frzr.d/install-0009-swapfile.migration @@ -15,8 +15,6 @@ post_install() { local SWAPSIZE="4096" # Multiples of 1M used in dd if [ ! -f "${SWAPFILE}" ]; then - mkdir -p "${SWAPDIR}" - if "${SUBVOL}/usr/bin/mkswapfile" "${SWAPFILE}" "${SWAPSIZE}"; then echo "OK" else From f99fc4581c5ecc9fa94db88bd7f40e841c6514ba Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 30 Nov 2024 19:49:16 +0100 Subject: [PATCH 095/128] Fix xonedo for kernel version 6.12 --- pkgs/xonedo-dkms/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/xonedo-dkms/PKGBUILD b/pkgs/xonedo-dkms/PKGBUILD index 24089970e..be295cb70 100644 --- a/pkgs/xonedo-dkms/PKGBUILD +++ b/pkgs/xonedo-dkms/PKGBUILD @@ -3,7 +3,7 @@ _pkgname=xonedo pkgname=xonedo-dkms -pkgver=0.1.r0.g87d1863 +pkgver=0.5.r0.g0c1c508 pkgrel=1 pkgdesc='Modern Linux driver for Xbox One and Xbox Series X|S controllers via the official dongle only' arch=('x86_64') @@ -15,7 +15,7 @@ makedepends=('git') conflicts=('xone-dkms' 'xow') provides=('xone-dkms') -source=("git+https://github.com/boukehaarsma23/xonedo.git") +source=("git+https://github.com/NeroReflex/xonedo.git") sha256sums=('SKIP') pkgver() { From e57651bcfdfbd97eca6f1c7554fc911ce3138629 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Mon, 2 Dec 2024 19:52:28 +0100 Subject: [PATCH 096/128] Update kernel and mesa --- manifest | 39 ++++++++++++++------------------------- 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/manifest b/manifest index 27400bea7..08c13518d 100644 --- a/manifest +++ b/manifest @@ -73,9 +73,6 @@ export PACKAGES="\ lib32-libnm \ lib32-libxinerama \ lib32-libxcrypt-compat \ - lib32-libva \ - lib32-libva-intel-driver \ - lib32-libva-vdpau-driver \ lib32-mangohud \ lib32-openal \ lib32-pipewire \ @@ -100,8 +97,6 @@ export PACKAGES="\ libretro-ppsspp \ libretro-shaders-slang \ libretro-snes9x \ - libva-intel-driver \ - libva-vdpau-driver \ libxcrypt-compat \ libxss \ lightdm \ @@ -172,26 +167,20 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.11.5-chos1-2/linux-chimeraos-6.11.5.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.11.5-chos1-2/linux-chimeraos-headers-6.11.5.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-libva-mesa-driver-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-mesa-vdpau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-opencl-rusticl-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-vulkan-intel-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-vulkan-mesa-layers-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-vulkan-radeon-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-vulkan-nouveau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/lib32-vulkan-swrast-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/libva-mesa-driver-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/mesa-vdpau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/opencl-rusticl-mesa-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/vulkan-intel-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/vulkan-mesa-layers-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/vulkan-radeon-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/vulkan-nouveau-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.2.0-chos1-1/vulkan-swrast-1--24.2.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.1-chos1-2/linux-chimeraos-6.12.1.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.1-chos1-2/linux-chimeraos-headers-6.12.1.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-mesa-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-opencl-rusticl-mesa-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-vulkan-intel-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-vulkan-mesa-layers-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-vulkan-radeon-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-vulkan-swrast-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/mesa-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/opencl-rusticl-mesa-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/vulkan-intel-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/vulkan-mesa-layers-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/vulkan-radeon-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/vulkan-swrast-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ https://archive.archlinux.org/repos/2023/06/28/extra/os/x86_64/libretro-pcsx2-11900-2-x86_64.pkg.tar.zst \ https://archive.archlinux.org/packages/l/libretro-mame/libretro-mame-85763-1-x86_64.pkg.tar.zst \ " From 1d1376b505fc2445fdf90db73cf6d278196bd79c Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Mon, 2 Dec 2024 19:55:11 +0100 Subject: [PATCH 097/128] Add hid-msi-claw-dkms-git to support MSI Claw hardware --- manifest | 1 + 1 file changed, 1 insertion(+) diff --git a/manifest b/manifest index 08c13518d..8efb53e36 100644 --- a/manifest +++ b/manifest @@ -203,6 +203,7 @@ export AUR_PACKAGES="\ gamescope-session-steam-git \ gamescope-session-steam-plus-git \ hhfc-git \ + hid-msi-claw-dkms-git \ legendary \ libretro-dosbox-pure-git \ libretro-opera-git \ From fbea38e3883fbe746cecd80256cbf4014f86d19d Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 9 Oct 2024 20:28:20 +0200 Subject: [PATCH 098/128] Do not grab rtl88x2bu-dkms-git from AUR The package introduces a wrong dependency on linux-headers. --- manifest | 1 - pkgs/rtl88x2bu-dkms/PKGBUILD | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 pkgs/rtl88x2bu-dkms/PKGBUILD diff --git a/manifest b/manifest index 8efb53e36..200ea086b 100644 --- a/manifest +++ b/manifest @@ -221,7 +221,6 @@ export AUR_PACKAGES="\ python-vdf \ rtl8812au-dkms-git \ rtl8814au-dkms-git \ - rtl88x2bu-dkms-git \ rtl8821au-dkms-git \ ryzenadj-git \ steam_notif_daemon \ diff --git a/pkgs/rtl88x2bu-dkms/PKGBUILD b/pkgs/rtl88x2bu-dkms/PKGBUILD new file mode 100644 index 000000000..e4a61a6ea --- /dev/null +++ b/pkgs/rtl88x2bu-dkms/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Rin Cat + +pkgname=rtl88x2bu-dkms-git +_pkgbase=rtl88x2bu +pkgver=5.13.1.r199.bf52727 +_pkgver=5.13.1 +pkgrel=1 +pkgdesc="Kernel module for Realtek rtl88x2bu WiFi chipset" +arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64') +url="https://github.com/RinCat/RTL88x2BU-Linux-Driver" +license=('GPL2') +depends=('dkms' 'bc') +makedepends=('git') +source=("git+https://github.com/RinCat/RTL88x2BU-Linux-Driver.git") +sha256sums=('SKIP') + +pkgver() { + cd "${srcdir}/RTL88x2BU-Linux-Driver" + printf '%s.r%s.%s' "${_pkgver}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +package() { + cd "${srcdir}/RTL88x2BU-Linux-Driver" + mkdir -p "${pkgdir}/usr/src/${_pkgbase}-${pkgver}" + cp -pr * "${pkgdir}/usr/src/${_pkgbase}-${pkgver}" + install -Dm644 dkms.conf "${pkgdir}/usr/src/${_pkgbase}-${pkgver}/dkms.conf" + sed -e "s/@PKGVER@/${pkgver}/" -i "${pkgdir}/usr/src/${_pkgbase}-${pkgver}/dkms.conf" + mkdir -p "${pkgdir}/usr/lib/modprobe.d/" + echo "blacklist rtw88_8822bu" > "${pkgdir}/usr/lib/modprobe.d/rtw8822bu.conf" +} From 04affbcdf0f164334030056792d18b298ca6272d Mon Sep 17 00:00:00 2001 From: Alesh Slovak Date: Fri, 11 Oct 2024 08:44:54 -0400 Subject: [PATCH 099/128] keep dolphin binaries --- manifest | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/manifest b/manifest index 200ea086b..c75d2473f 100644 --- a/manifest +++ b/manifest @@ -278,11 +278,7 @@ postinstallhook() { rm /usr/share/libalpm/hooks/71-dkms-remove.hook pacman --noconfirm -Rnsdd make gcc dkms ${KERNEL_PACKAGE}-headers - # remove dolphin standalone emulator files (only need /usr/share/dolphin-emu/sys) - rm /usr/bin/dolphin-emu - rm /usr/bin/dolphin-emu-nogui - # dolphin-tool is no longer created in new builds? - #rm /usr/bin/dolphin-tool + # remove dolphin shortcut to not clutter up the desktop rm /usr/share/applications/dolphin-emu.desktop # clean up desktop shortcuts From c433a63b5ef48d1abbff9820fb72d4d4c268312e Mon Sep 17 00:00:00 2001 From: Alesh Slovak Date: Fri, 11 Oct 2024 08:45:29 -0400 Subject: [PATCH 100/128] try giving gamescope ability to renice --- manifest | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manifest b/manifest index c75d2473f..b3bc78f8d 100644 --- a/manifest +++ b/manifest @@ -299,6 +299,7 @@ postinstallhook() { # force -steamdeck option in desktop mode to prevent constant steam updates sed -i 's,Exec=/usr/bin/steam-runtime,Exec=/usr/bin/steam-runtime -steamdeck,' /usr/share/applications/steam.desktop - # set permissions for intel_gpu_top and mangohud + # set permissions for intel_gpu_top and gamescope setcap cap_perfmon=+ep /usr/bin/intel_gpu_top + setcap 'CAP_SYS_NICE=eip' /usr/bin/gamescope } From ac468da3c06ec07ce1b075e8524f6deb0666d7c8 Mon Sep 17 00:00:00 2001 From: "D.A.Pelasgus" Date: Sat, 28 Sep 2024 01:30:02 +0300 Subject: [PATCH 101/128] Update README.md More descriptive. Employs GitHub Markdown features. --- README.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bfa82fa30..360c6963d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,19 @@ -DO NOT DOWNLOAD DIRECTLY FROM THE RELEASES PAGE. THIS IS NOT INSTALLATION MEDIA. FOLLOW THE LINK BELOW FOR DOWNLOAD AND INSTALLATION INSTRUCTIONS. +# ChimeraOS +Bringing the console experience to pc. -[ChimeraOS website](https://chimeraos.org) +> [!CAUTION] +> DO NOT DOWNLOAD DIRECTLY FROM THE RELEASES PAGE. +> THIS IS NOT INSTALLATION MEDIA. + +> [!IMPORTANT] +> To download use the following link: +> [ChimeraOS website](https://chimeraos.org) + +> [!NOTE] +> Instantly turn any PC into a gaming console. +> +> Thousands of games, dozens of platforms. +> +> Fully controller compatible interface. +> +> Automatic updates that stay out of the way. From e50d6257f191cf3c45bd6fbc9ffb6b7a5f9d10d9 Mon Sep 17 00:00:00 2001 From: "D.A.Pelasgus" Date: Mon, 30 Sep 2024 22:41:03 +0300 Subject: [PATCH 102/128] Dependabot --- .github/dependabot.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..023458a49 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,34 @@ +# dependabot.yml +# Author: D.A.Pelasgus + +version: 2 +updates: + - package-ecosystem: "docker" + directory: "/" + schedule: + interval: "daily" + commit-message: + prefix: "chore" + labels: + - "docker" + - "dependencies" + reviewers: + - "alkazar" + - "samsagax" + - "pastaq" + - "neroreflex" + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + commit-message: + prefix: "chore" + labels: + - "github-actions" + - "dependencies" + reviewers: + - "alkazar" + - "samsagax" + - "pastaq" + - "neroreflex" From e042192984d5f3992741ee0831eca7ab1d82fde4 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 15 Oct 2024 21:18:58 +0200 Subject: [PATCH 103/128] gpd-fan-driver-dkms-git: add back support for certain gpd devices --- manifest | 1 + 1 file changed, 1 insertion(+) diff --git a/manifest b/manifest index b3bc78f8d..6fd2df4c9 100644 --- a/manifest +++ b/manifest @@ -202,6 +202,7 @@ export AUR_PACKAGES="\ gamescope-plus \ gamescope-session-steam-git \ gamescope-session-steam-plus-git \ + gpd-fan-driver-dkms-git \ hhfc-git \ hid-msi-claw-dkms-git \ legendary \ From 279ac38fde80a896822be2fcd0f250a8dd32b471 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 08:07:13 -0400 Subject: [PATCH 104/128] chore: bump docker/build-push-action from 5 to 6 (#1031) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v5...v6) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-builder.yml b/.github/workflows/build-builder.yml index 051958de5..c18a1cd3f 100644 --- a/.github/workflows/build-builder.yml +++ b/.github/workflows/build-builder.yml @@ -35,7 +35,7 @@ jobs: with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push Docker image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: . push: true From 74984733222fb75090257da78019b200521f69e0 Mon Sep 17 00:00:00 2001 From: "D.A.Pelasgus" Date: Wed, 16 Oct 2024 15:07:50 +0300 Subject: [PATCH 105/128] Dependabot: label removal (#1032) * Update dependabot.yml Removed labels as they are not being used by CI * Update dependabot.yml * chore: bump docker/build-push-action from 5 to 6 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v5...v6) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * chore: bump softprops/action-gh-release from 1 to 2 Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2. - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/v1...v2) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/dependabot.yml | 6 ------ .github/workflows/build-system-image.yml | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 023458a49..15950b224 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,9 +9,6 @@ updates: interval: "daily" commit-message: prefix: "chore" - labels: - - "docker" - - "dependencies" reviewers: - "alkazar" - "samsagax" @@ -24,9 +21,6 @@ updates: interval: "daily" commit-message: prefix: "chore" - labels: - - "github-actions" - - "dependencies" reviewers: - "alkazar" - "samsagax" diff --git a/.github/workflows/build-system-image.yml b/.github/workflows/build-system-image.yml index 339ac6dc1..6147f242d 100644 --- a/.github/workflows/build-system-image.yml +++ b/.github/workflows/build-system-image.yml @@ -66,7 +66,7 @@ jobs: echo -e "$(docker inspect --format='{{index .RepoDigests 0}}' ${{ steps.meta.outputs.tags }})" > output/container.txt - name: Create release id: create_release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: token: ${{ secrets.GITHUB_TOKEN }} tag_name: ${{ steps.build_image.outputs.version }} From ba9e1957a067da9e8a42d8bf7952f6fa9a8ca881 Mon Sep 17 00:00:00 2001 From: "D.A.Pelasgus" Date: Wed, 16 Oct 2024 15:19:52 +0300 Subject: [PATCH 106/128] ISO/IEC 5962:2021 (#1028) --- LICENSE.spdx | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 LICENSE.spdx diff --git a/LICENSE.spdx b/LICENSE.spdx new file mode 100644 index 000000000..e0d5c9ea2 --- /dev/null +++ b/LICENSE.spdx @@ -0,0 +1,50 @@ +SPDXVersion: SPDX-2.1 +DataLicense: CC0-1.0 +DataFormat: SPDXRef-1 +SPDXID: SPDXRef-DOCUMENT +DocumentName: ChimeraOS +DocumentNamespace: http://spdx.org/spdxdocs/chimeraos-2024 +Creator: Person: D.A.Pelasgus +Created: 2024-10-02T12:00:00Z +LicenseListVersion: 3.9 + +##### Package Information ##### +PackageName: ChimeraOS +SPDXID: SPDXRef-Package +PackageVersion: 1.0.0 +PackageFileName: ChimeraOS +PackageSupplier: Organization: ChimeraOS +PackageOriginator: Organization: ChimeraOS +PackageDownloadLocation: https://chimeraos.org/download +PackageLicenseConcluded: MIT +PackageLicenseDeclared: MIT +PackageCopyrightText: Copyright (c) 2024 ChimeraOS + +##### License Information ##### +LicenseID: MIT +LicenseName: MIT License +ExtractedText: | + MIT License + + Copyright (c) 2019 Alesh Slovak, Wouter Wijsman, Thomas Wilhelm-Stein + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +LicenseCrossReference: https://opensource.org/licenses/MIT +LicenseComment: This is the standard MIT License used by ChimeraOS. From b108c4ae5e3c05eeac2b508ab7207a504bbce7c0 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 26 Oct 2024 19:31:30 +0200 Subject: [PATCH 107/128] Use official archlinux inputplumber --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7fa82095c..6e06b4967 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,7 +40,7 @@ RUN echo -e "#!/bin/bash\nif [[ \"$1\" == \"--version\" ]]; then echo 'fake 244 # substitute check with !check to avoid running software from AUR in the build machine # also remove creation of debug packages. RUN sed -i '/BUILDENV/s/check/!check/g' /etc/makepkg.conf && \ - sed -i '/OPTIONS/s/debug/!debug/g' /etc/makepkg.conf + sed -i '/OPTIONS/s/debug/!debug/g' /etc/makepkg.conf COPY manifest /manifest # Freeze packages and overwrite with overrides when needed From 5e74129681979fe21ca736936e740b038d76977b Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 27 Nov 2024 18:49:47 +0100 Subject: [PATCH 108/128] Change nvidia-dkms to nvidia-open-dkms The package nvidia-open-dkms is the suggested option by both archlinux and nvidia. It works generally better. It supports nvidia 2000 and up: unlinke nvidia-dkms, but 1000 series cards have problems with directx12 games anyway. --- manifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest b/manifest index 6fd2df4c9..0750ddc6d 100644 --- a/manifest +++ b/manifest @@ -115,7 +115,7 @@ export PACKAGES="\ nfs-utils \ noto-fonts-emoji \ nss-mdns \ - nvidia-dkms \ + nvidia-open-dkms \ opencl-nvidia \ lib32-opencl-nvidia \ nvidia-utils \ From eb07c73b0576ffd1495841cca04941fb67db4e91 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 27 Nov 2024 18:41:54 +0100 Subject: [PATCH 109/128] Disable check and debug for makepkg on the final image Check and debug both increase the build time for package, while debug also increase size for no benefit as chimera does not ship with a debugger and people don't use one on system software anyway: remove both options. --- build-image.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build-image.sh b/build-image.sh index 9b59442eb..ec8efbcf2 100755 --- a/build-image.sh +++ b/build-image.sh @@ -100,6 +100,9 @@ pacman --noconfirm -Syy # Avoid mkintcpio being auto-installed while installing the kernel (we want dracut) pacman -S --noconfirm dracut +# Disable check and debug for makepkg on the final image +sed -i '/BUILDENV/s/ check/ !check/g' /etc/makepkg.conf +sed -i '/OPTIONS/s/ debug/ !debug/g' /etc/makepkg.conf # install kernel package if [ "$KERNEL_PACKAGE_ORIGIN" == "local" ] ; then From 7629eb17a9145e4779436c6af57ab7341778d405 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Fri, 29 Nov 2024 02:26:06 +0100 Subject: [PATCH 110/128] Use upstream mesa mesa-chimeraos needs to be fixed as it won't run properly in a new image: use upstream in the meanwhile. --- manifest | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/manifest b/manifest index 0750ddc6d..d131f2653 100644 --- a/manifest +++ b/manifest @@ -164,6 +164,18 @@ export PACKAGES="\ xorg-server \ xz \ zip \ + mesa \ + vulkan-intel \ + opencl-rusticl-mesa \ + vulkan-mesa-layers \ + vulkan-radeon \ + vulkan-swrast \ + lib32-mesa \ + lib32-opencl-rusticl-mesa \ + lib32-vulkan-intel \ + lib32-vulkan-mesa-layers \ + lib32-vulkan-radeon \ + lib32-vulkan-swrast \ " export PACKAGE_OVERRIDES="\ From b296f7e0baa66f91c56f35c15a32832d1a136ae9 Mon Sep 17 00:00:00 2001 From: Alesh Slovak Date: Fri, 29 Nov 2024 08:20:36 -0500 Subject: [PATCH 111/128] add python build dependency (python-pyglet) --- Dockerfile | 53 +++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6e06b4967..38319678b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,32 +3,33 @@ LABEL contributor="shadowapex@gmail.com" COPY rootfs/etc/pacman.conf /etc/pacman.conf COPY rootfs/etc/resolv.conf /etc/resolv.conf RUN echo -e "keyserver-options auto-key-retrieve" >> /etc/pacman.d/gnupg/gpg.conf && \ - # Cannot check space in chroot - sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf && \ - pacman-key --init && \ - pacman --noconfirm -Syyuu && \ - pacman --noconfirm -S \ - arch-install-scripts \ - btrfs-progs \ - fmt \ - xcb-util-wm \ - wget \ - pyalpm \ - python \ - python-build \ - python-installer \ - python-hatchling \ - python-markdown-it-py \ - python-setuptools \ - python-wheel \ - sudo \ - && \ - pacman --noconfirm -S --needed git && \ - echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ - useradd build -G wheel -m && \ - su - build -c "git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur" && \ - su - build -c "cd /tmp/pikaur && makepkg -f" && \ - pacman --noconfirm -U /tmp/pikaur/pikaur-*.pkg.tar.zst + # Cannot check space in chroot + sed -i '/CheckSpace/s/^/#/g' /etc/pacman.conf && \ + pacman-key --init && \ + pacman --noconfirm -Syyuu && \ + pacman --noconfirm -S \ + arch-install-scripts \ + btrfs-progs \ + fmt \ + xcb-util-wm \ + wget \ + pyalpm \ + python \ + python-build \ + python-flit-core \ + python-installer \ + python-hatchling \ + python-markdown-it-py \ + python-setuptools \ + python-wheel \ + sudo \ + && \ + pacman --noconfirm -S --needed git && \ + echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ + useradd build -G wheel -m && \ + su - build -c "git clone https://aur.archlinux.org/pikaur.git /tmp/pikaur" && \ + su - build -c "cd /tmp/pikaur && makepkg -f" && \ + pacman --noconfirm -U /tmp/pikaur/pikaur-*.pkg.tar.zst # Auto add PGP keys for users RUN mkdir -p /etc/gnupg/ && echo -e "keyserver-options auto-key-retrieve" >> /etc/gnupg/gpg.conf From 6bc0394ac01089a2773a22d3823546a3e3b215a5 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Mon, 2 Dec 2024 19:39:56 +0100 Subject: [PATCH 112/128] Switch back to mesa-chimeraos After the fps limiter patch have been ported to mesa v24.3.0 use that mesa package to regain fps limiting functionalities --- manifest | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/manifest b/manifest index d131f2653..0750ddc6d 100644 --- a/manifest +++ b/manifest @@ -164,18 +164,6 @@ export PACKAGES="\ xorg-server \ xz \ zip \ - mesa \ - vulkan-intel \ - opencl-rusticl-mesa \ - vulkan-mesa-layers \ - vulkan-radeon \ - vulkan-swrast \ - lib32-mesa \ - lib32-opencl-rusticl-mesa \ - lib32-vulkan-intel \ - lib32-vulkan-mesa-layers \ - lib32-vulkan-radeon \ - lib32-vulkan-swrast \ " export PACKAGE_OVERRIDES="\ From ed00532bbc2038acab0c8dbb694b2e7d6a54070a Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 3 Dec 2024 19:58:47 +0100 Subject: [PATCH 113/128] Update mesa to 24.3.0-chos1-6 --- manifest | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/manifest b/manifest index 0750ddc6d..f2eb9bc20 100644 --- a/manifest +++ b/manifest @@ -169,18 +169,18 @@ export PACKAGES="\ export PACKAGE_OVERRIDES="\ https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.1-chos1-2/linux-chimeraos-6.12.1.chos1-2-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.1-chos1-2/linux-chimeraos-headers-6.12.1.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-mesa-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-opencl-rusticl-mesa-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-vulkan-intel-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-vulkan-mesa-layers-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-vulkan-radeon-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/lib32-vulkan-swrast-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/mesa-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/opencl-rusticl-mesa-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/vulkan-intel-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/vulkan-mesa-layers-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/vulkan-radeon-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-1/vulkan-swrast-1--24.3.0.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-mesa-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-opencl-rusticl-mesa-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-vulkan-intel-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-vulkan-mesa-layers-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-vulkan-radeon-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-vulkan-swrast-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/mesa-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/opencl-rusticl-mesa-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/vulkan-intel-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/vulkan-mesa-layers-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/vulkan-radeon-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/vulkan-swrast-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ https://archive.archlinux.org/repos/2023/06/28/extra/os/x86_64/libretro-pcsx2-11900-2-x86_64.pkg.tar.zst \ https://archive.archlinux.org/packages/l/libretro-mame/libretro-mame-85763-1-x86_64.pkg.tar.zst \ " From c6f7c39a117ae972e229eb5cee0c739b05abd637 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 3 Dec 2024 20:11:39 +0100 Subject: [PATCH 114/128] Fix mkswapfile: create a subvolume after the variable with the path is defined --- rootfs/usr/bin/mkswapfile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/rootfs/usr/bin/mkswapfile b/rootfs/usr/bin/mkswapfile index deb3f9c3b..f4b33870d 100755 --- a/rootfs/usr/bin/mkswapfile +++ b/rootfs/usr/bin/mkswapfile @@ -45,15 +45,16 @@ usage() { echo >&2 "Usage: $(basename $0) FILE SIZE"; exit 1; } [ -e "$SWAPFILE" ] && fail "File '$SWAPFILE' already exists" -if [ ! -d "$BASE_DIR" ]; then - btrfs subvolume create "$BASE_DIR" -fi - BASE_DIR=$(dirname "$SWAPFILE") BUFFER_MB=10000 AVAIL_DISK_MB=$(df -BM "$BASE_DIR" | tail -1 | tr -s ' ' | cut -d' ' -f4 | sed 's/M//') REQUIRED_BUFFER_MB=$(($BUFFER_MB + $SWAPSIZE)) [ "$AVAIL_DISK_MB" -lt "$REQUIRED_BUFFER_MB" ] && fail "Not enough free disk space" + +if [ ! -d "$BASE_DIR" ]; then + btrfs subvolume create "$BASE_DIR" +fi + chattr +C "$BASE_DIR" touch "$SWAPFILE" chattr +C "$SWAPFILE" From 9d7f01c27ba6aef7862a1a490bf6622512c03ed0 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 3 Dec 2024 23:52:13 +0100 Subject: [PATCH 115/128] Fix mkswapfile --- rootfs/usr/bin/mkswapfile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/rootfs/usr/bin/mkswapfile b/rootfs/usr/bin/mkswapfile index f4b33870d..1d7f5d47d 100755 --- a/rootfs/usr/bin/mkswapfile +++ b/rootfs/usr/bin/mkswapfile @@ -47,17 +47,15 @@ usage() { echo >&2 "Usage: $(basename $0) FILE SIZE"; exit 1; } BASE_DIR=$(dirname "$SWAPFILE") BUFFER_MB=10000 -AVAIL_DISK_MB=$(df -BM "$BASE_DIR" | tail -1 | tr -s ' ' | cut -d' ' -f4 | sed 's/M//') -REQUIRED_BUFFER_MB=$(($BUFFER_MB + $SWAPSIZE)) -[ "$AVAIL_DISK_MB" -lt "$REQUIRED_BUFFER_MB" ] && fail "Not enough free disk space" if [ ! -d "$BASE_DIR" ]; then btrfs subvolume create "$BASE_DIR" fi -chattr +C "$BASE_DIR" +AVAIL_DISK_MB=$(df -BM "$BASE_DIR" | tail -1 | tr -s ' ' | cut -d' ' -f4 | sed 's/M//') +REQUIRED_BUFFER_MB=$(($BUFFER_MB + $SWAPSIZE)) +[ "$AVAIL_DISK_MB" -lt "$REQUIRED_BUFFER_MB" ] && fail "Not enough free disk space" touch "$SWAPFILE" -chattr +C "$SWAPFILE" if is_btrfs_subvol "$BASE_DIR"; then btrfs property set "$BASE_DIR" compression none && true # prevent script failure when using nodatacow From ad5f4912db6e5cf0beee6f70375aa67e96306c82 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 4 Dec 2024 12:54:07 +0100 Subject: [PATCH 116/128] Revert "Fix mkswapfile" This reverts commit 9d7f01c27ba6aef7862a1a490bf6622512c03ed0. --- rootfs/usr/bin/mkswapfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/rootfs/usr/bin/mkswapfile b/rootfs/usr/bin/mkswapfile index 1d7f5d47d..f4b33870d 100755 --- a/rootfs/usr/bin/mkswapfile +++ b/rootfs/usr/bin/mkswapfile @@ -47,15 +47,17 @@ usage() { echo >&2 "Usage: $(basename $0) FILE SIZE"; exit 1; } BASE_DIR=$(dirname "$SWAPFILE") BUFFER_MB=10000 +AVAIL_DISK_MB=$(df -BM "$BASE_DIR" | tail -1 | tr -s ' ' | cut -d' ' -f4 | sed 's/M//') +REQUIRED_BUFFER_MB=$(($BUFFER_MB + $SWAPSIZE)) +[ "$AVAIL_DISK_MB" -lt "$REQUIRED_BUFFER_MB" ] && fail "Not enough free disk space" if [ ! -d "$BASE_DIR" ]; then btrfs subvolume create "$BASE_DIR" fi -AVAIL_DISK_MB=$(df -BM "$BASE_DIR" | tail -1 | tr -s ' ' | cut -d' ' -f4 | sed 's/M//') -REQUIRED_BUFFER_MB=$(($BUFFER_MB + $SWAPSIZE)) -[ "$AVAIL_DISK_MB" -lt "$REQUIRED_BUFFER_MB" ] && fail "Not enough free disk space" +chattr +C "$BASE_DIR" touch "$SWAPFILE" +chattr +C "$SWAPFILE" if is_btrfs_subvol "$BASE_DIR"; then btrfs property set "$BASE_DIR" compression none && true # prevent script failure when using nodatacow From 542667558f1d498f25f5e56f303d6f5ed1f4752e Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 4 Dec 2024 12:57:45 +0100 Subject: [PATCH 117/128] Remove set compression to none btrfs compression is a feature only enabled when CoW is enabled, but chattr +C disables CoW therefore attempting to set a compression algorithm (even if it is set to none) is an error. --- rootfs/usr/bin/mkswapfile | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/rootfs/usr/bin/mkswapfile b/rootfs/usr/bin/mkswapfile index f4b33870d..297928b24 100755 --- a/rootfs/usr/bin/mkswapfile +++ b/rootfs/usr/bin/mkswapfile @@ -47,22 +47,19 @@ usage() { echo >&2 "Usage: $(basename $0) FILE SIZE"; exit 1; } BASE_DIR=$(dirname "$SWAPFILE") BUFFER_MB=10000 -AVAIL_DISK_MB=$(df -BM "$BASE_DIR" | tail -1 | tr -s ' ' | cut -d' ' -f4 | sed 's/M//') -REQUIRED_BUFFER_MB=$(($BUFFER_MB + $SWAPSIZE)) -[ "$AVAIL_DISK_MB" -lt "$REQUIRED_BUFFER_MB" ] && fail "Not enough free disk space" if [ ! -d "$BASE_DIR" ]; then btrfs subvolume create "$BASE_DIR" fi +AVAIL_DISK_MB=$(df -BM "$BASE_DIR" | tail -1 | tr -s ' ' | cut -d' ' -f4 | sed 's/M//') +REQUIRED_BUFFER_MB=$(($BUFFER_MB + $SWAPSIZE)) +[ "$AVAIL_DISK_MB" -lt "$REQUIRED_BUFFER_MB" ] && fail "Not enough free disk space" + chattr +C "$BASE_DIR" touch "$SWAPFILE" chattr +C "$SWAPFILE" -if is_btrfs_subvol "$BASE_DIR"; then - btrfs property set "$BASE_DIR" compression none && true # prevent script failure when using nodatacow -fi - dd if=/dev/zero of="$SWAPFILE" bs=1M count="$SWAPSIZE" chmod 600 "$SWAPFILE" mkswap "$SWAPFILE" From eb465b7ad50056563b4690902a22bc95479f44c5 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 4 Dec 2024 16:44:54 +0100 Subject: [PATCH 118/128] Add wireless-regdb to packages --- manifest | 1 + 1 file changed, 1 insertion(+) diff --git a/manifest b/manifest index 5352bfd19..921ae7a64 100644 --- a/manifest +++ b/manifest @@ -156,6 +156,7 @@ export PACKAGES="\ wget \ which \ wireplumber \ + wireless-regdb \ wqy-zenhei \ xdg-desktop-portal \ xdg-desktop-portal-gnome \ From 7242de50b264d835870d60bcf3f9ba04a8d6d6b8 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 24 Dec 2024 21:36:16 +0100 Subject: [PATCH 119/128] Update kernel to 6.12.6-chos2-1 --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 7892a61a5..e019dc8ab 100644 --- a/manifest +++ b/manifest @@ -168,8 +168,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.1-chos1-2/linux-chimeraos-6.12.1.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.1-chos1-2/linux-chimeraos-headers-6.12.1.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.6-chos2-1/linux-chimeraos-6.12.6.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.6-chos2-1/linux-chimeraos-headers-6.12.6.chos2-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-mesa-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-opencl-rusticl-mesa-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-vulkan-intel-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ From a514dca200b7e778da5ea50e4a165e3b16732d5b Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Mon, 30 Dec 2024 03:55:40 +0100 Subject: [PATCH 120/128] Update kernel to v6.12.7-chos1-1 --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index e019dc8ab..ee4c77caf 100644 --- a/manifest +++ b/manifest @@ -168,8 +168,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.6-chos2-1/linux-chimeraos-6.12.6.chos2-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.6-chos2-1/linux-chimeraos-headers-6.12.6.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.7-chos1-1/linux-chimeraos-6.12.7.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.7-chos1-1/linux-chimeraos-headers-6.12.7.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-mesa-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-opencl-rusticl-mesa-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-vulkan-intel-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ From 15c45b4d8f001dbcf0a0adf02d824ca545b022ef Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 8 Jan 2025 17:18:40 +0100 Subject: [PATCH 121/128] Move systemd chimeraos files into /etc This makes files modifications made by the user being permanent: especially useful when toggling the power button action. --- .../systemd/journald.conf.d/00-journal-persistent.conf | 0 .../{usr/lib => etc}/systemd/journald.conf.d/00-journal-size.conf | 0 rootfs/{usr/lib => etc}/systemd/logind.conf.d/power_off.conf | 0 rootfs/{usr/lib => etc}/systemd/sleep.conf.d/hibernatemode.conf | 0 .../{usr/lib => etc}/systemd/system/bluetooth-workaround.service | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename rootfs/{usr/lib => etc}/systemd/journald.conf.d/00-journal-persistent.conf (100%) rename rootfs/{usr/lib => etc}/systemd/journald.conf.d/00-journal-size.conf (100%) rename rootfs/{usr/lib => etc}/systemd/logind.conf.d/power_off.conf (100%) rename rootfs/{usr/lib => etc}/systemd/sleep.conf.d/hibernatemode.conf (100%) rename rootfs/{usr/lib => etc}/systemd/system/bluetooth-workaround.service (100%) diff --git a/rootfs/usr/lib/systemd/journald.conf.d/00-journal-persistent.conf b/rootfs/etc/systemd/journald.conf.d/00-journal-persistent.conf similarity index 100% rename from rootfs/usr/lib/systemd/journald.conf.d/00-journal-persistent.conf rename to rootfs/etc/systemd/journald.conf.d/00-journal-persistent.conf diff --git a/rootfs/usr/lib/systemd/journald.conf.d/00-journal-size.conf b/rootfs/etc/systemd/journald.conf.d/00-journal-size.conf similarity index 100% rename from rootfs/usr/lib/systemd/journald.conf.d/00-journal-size.conf rename to rootfs/etc/systemd/journald.conf.d/00-journal-size.conf diff --git a/rootfs/usr/lib/systemd/logind.conf.d/power_off.conf b/rootfs/etc/systemd/logind.conf.d/power_off.conf similarity index 100% rename from rootfs/usr/lib/systemd/logind.conf.d/power_off.conf rename to rootfs/etc/systemd/logind.conf.d/power_off.conf diff --git a/rootfs/usr/lib/systemd/sleep.conf.d/hibernatemode.conf b/rootfs/etc/systemd/sleep.conf.d/hibernatemode.conf similarity index 100% rename from rootfs/usr/lib/systemd/sleep.conf.d/hibernatemode.conf rename to rootfs/etc/systemd/sleep.conf.d/hibernatemode.conf diff --git a/rootfs/usr/lib/systemd/system/bluetooth-workaround.service b/rootfs/etc/systemd/system/bluetooth-workaround.service similarity index 100% rename from rootfs/usr/lib/systemd/system/bluetooth-workaround.service rename to rootfs/etc/systemd/system/bluetooth-workaround.service From 2eee0cc7b986a2fb3464f2ed222d1339deae4314 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 8 Jan 2025 18:50:14 +0100 Subject: [PATCH 122/128] Update kernel to v6.12.8-chos1-1 --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index ee4c77caf..50ece71cf 100644 --- a/manifest +++ b/manifest @@ -168,8 +168,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.7-chos1-1/linux-chimeraos-6.12.7.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.7-chos1-1/linux-chimeraos-headers-6.12.7.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.8-chos1-1/linux-chimeraos-6.12.8.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.8-chos1-1/linux-chimeraos-headers-6.12.8.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-mesa-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-opencl-rusticl-mesa-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.0-chos1-6/lib32-vulkan-intel-1--24.3.0.chos1-6-x86_64.pkg.tar.zst \ From 8be891a0d33dbe236fefb8112c11b8ed8dc3d030 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 8 Jan 2025 20:42:58 +0100 Subject: [PATCH 123/128] Do not fail if /var/log/device-quirks exists already --- .../usr/lib/frzr.d/install-0005-device-quirks-apply.migration | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration b/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration index 3d5e62d5a..3c9a05245 100755 --- a/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration +++ b/rootfs/usr/lib/frzr.d/install-0005-device-quirks-apply.migration @@ -31,7 +31,7 @@ post_install() { # Run the following in chroot chroot "${SUBVOL}" /bin/bash < "/var/log/device-quirks/${CURR_DATE}.log" EOF From 8c55837f0f3b58d35a20c1e747276f6382e3edb9 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 18 Jan 2025 15:36:50 +0100 Subject: [PATCH 124/128] Update mesa to 24.3.3.chos1-2 llvm was updated to v19 and therefore mesa needs to be updated to match the new llvm library. --- manifest | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/manifest b/manifest index 37c759e98..808df3862 100644 --- a/manifest +++ b/manifest @@ -170,18 +170,18 @@ export PACKAGES="\ export PACKAGE_OVERRIDES="\ https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.9-chos1-1/linux-chimeraos-6.12.9.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.9-chos1-1/linux-chimeraos-headers-6.12.9.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/lib32-mesa-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/lib32-opencl-rusticl-mesa-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/lib32-vulkan-intel-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/lib32-vulkan-mesa-layers-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/lib32-vulkan-radeon-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/lib32-vulkan-swrast-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/mesa-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/opencl-rusticl-mesa-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/vulkan-intel-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/vulkan-mesa-layers-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/vulkan-radeon-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-1/vulkan-swrast-1--24.3.3.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-mesa-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-opencl-rusticl-mesa-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-vulkan-intel-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-vulkan-mesa-layers-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-vulkan-radeon-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-vulkan-swrast-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/mesa-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/opencl-rusticl-mesa-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/vulkan-intel-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/vulkan-mesa-layers-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/vulkan-radeon-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/vulkan-swrast-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ https://archive.archlinux.org/repos/2023/06/28/extra/os/x86_64/libretro-pcsx2-11900-2-x86_64.pkg.tar.zst \ https://archive.archlinux.org/packages/l/libretro-mame/libretro-mame-85763-1-x86_64.pkg.tar.zst \ " From 74663e8736a9f31c7d1d02d106e2334d3ab2e458 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sun, 19 Jan 2025 18:45:03 +0100 Subject: [PATCH 125/128] Enable inputplumber-suspend This avoids losing the controller on some devices and allows sleep to work when emulating a steam deck controller. --- manifest | 1 + 1 file changed, 1 insertion(+) diff --git a/manifest b/manifest index 808df3862..63a90d302 100644 --- a/manifest +++ b/manifest @@ -241,6 +241,7 @@ export SERVICES="\ fstrim.timer \ haveged \ inputplumber \ + inputplumber-suspend \ lightdm \ nvidia-powerd \ powerstation \ From da5ed4a5ccb26c7b9d426b7c3869118665b5fdce Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 26 Feb 2025 14:10:47 +0100 Subject: [PATCH 126/128] Update mesa to 25.0.0-chos1-4 --- manifest | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/manifest b/manifest index 63a90d302..8ccd61435 100644 --- a/manifest +++ b/manifest @@ -170,18 +170,18 @@ export PACKAGES="\ export PACKAGE_OVERRIDES="\ https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.9-chos1-1/linux-chimeraos-6.12.9.chos1-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.9-chos1-1/linux-chimeraos-headers-6.12.9.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-mesa-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-opencl-rusticl-mesa-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-vulkan-intel-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-vulkan-mesa-layers-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-vulkan-radeon-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/lib32-vulkan-swrast-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/mesa-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/opencl-rusticl-mesa-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/vulkan-intel-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/vulkan-mesa-layers-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/vulkan-radeon-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/mesa-chimeraos/releases/download/24.3.3-chos1-2/vulkan-swrast-1--24.3.3.chos1-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-mesa-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-opencl-rusticl-mesa-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-vulkan-intel-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-vulkan-mesa-layers-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-vulkan-radeon-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-vulkan-swrast-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/mesa-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/opencl-rusticl-mesa-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/vulkan-intel-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/vulkan-mesa-layers-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/vulkan-radeon-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/vulkan-swrast-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ https://archive.archlinux.org/repos/2023/06/28/extra/os/x86_64/libretro-pcsx2-11900-2-x86_64.pkg.tar.zst \ https://archive.archlinux.org/packages/l/libretro-mame/libretro-mame-85763-1-x86_64.pkg.tar.zst \ " From 82f351e2f87da5304d3976fcd916e5e20217bf39 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Wed, 26 Feb 2025 15:06:59 +0100 Subject: [PATCH 127/128] Update kernel to v6.13.4-chos2-2 --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 8ccd61435..1f380679c 100644 --- a/manifest +++ b/manifest @@ -168,8 +168,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.9-chos1-1/linux-chimeraos-6.12.9.chos1-1-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.12.9-chos1-1/linux-chimeraos-headers-6.12.9.chos1-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.13.4-chos2-2/linux-chimeraos-6.13.4.chos2-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.13.4-chos2-2/linux-chimeraos-headers-6.13.4.chos2-2-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-mesa-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-opencl-rusticl-mesa-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-vulkan-intel-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ From 69144999a3494704e7296cf109c8d1e610a3c64c Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Sat, 1 Mar 2025 17:24:29 +0100 Subject: [PATCH 128/128] Update kernel to v6.13.5-chos2-1 --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index 1f380679c..707b1bff0 100644 --- a/manifest +++ b/manifest @@ -168,8 +168,8 @@ export PACKAGES="\ " export PACKAGE_OVERRIDES="\ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.13.4-chos2-2/linux-chimeraos-6.13.4.chos2-2-x86_64.pkg.tar.zst \ - https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.13.4-chos2-2/linux-chimeraos-headers-6.13.4.chos2-2-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.13.5-chos2-1/linux-chimeraos-6.13.5.chos2-1-x86_64.pkg.tar.zst \ + https://github.com/ChimeraOS/linux-chimeraos/releases/download/v6.13.5-chos2-1/linux-chimeraos-headers-6.13.5.chos2-1-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-mesa-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-opencl-rusticl-mesa-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \ https://github.com/ChimeraOS/mesa-chimeraos/releases/download/25.0.0-chos1-4/lib32-vulkan-intel-1--25.0.0.chos1-4-x86_64.pkg.tar.zst \