From 7a861434f97550ab8893545c26a29d7677c4aaf2 Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Sun, 25 Aug 2024 15:53:43 +0100 Subject: [PATCH 1/9] arm64/installcd-stage1: add gentoolkit Signed-off-by: Ian Jordan --- releases/specs/arm64/installcd-stage1.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/specs/arm64/installcd-stage1.spec b/releases/specs/arm64/installcd-stage1.spec index cfc31d129..b0d4d05b9 100644 --- a/releases/specs/arm64/installcd-stage1.spec +++ b/releases/specs/arm64/installcd-stage1.spec @@ -32,6 +32,7 @@ livecd/packages: app-misc/screen app-misc/tmux app-portage/cpuid2cpuflags + app-portage/gentoolkit app-portage/mirrorselect app-shells/bash-completion app-shells/gentoo-bashcomp From 68161cb8d359b3798f4bc92ceb6bc4007dc112ff Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Sun, 25 Aug 2024 15:55:57 +0100 Subject: [PATCH 2/9] installcd-stage2-minimal.spec: genkernel as the fallback Due to lack of hardware testers I've kept genkernel on this image until we are happy that no issues have been created in the switch to dist kernel. Signed-off-by: Ian Jordan --- releases/specs/arm64/installcd-stage2-minimal.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/specs/arm64/installcd-stage2-minimal.spec b/releases/specs/arm64/installcd-stage2-minimal.spec index 9f295859d..a3de64292 100644 --- a/releases/specs/arm64/installcd-stage2-minimal.spec +++ b/releases/specs/arm64/installcd-stage2-minimal.spec @@ -14,11 +14,11 @@ livecd/iso: install-arm64-minimal-@TIMESTAMP@.iso livecd/type: gentoo-release-minimal livecd/volid: Gentoo arm64 @TIMESTAMP@ -boot/kernel: gentoo +boot/kernel: fallback -boot/kernel/gentoo/sources: sys-kernel/gentoo-sources -boot/kernel/gentoo/config: @REPO_DIR@/releases/kconfig/arm64/arm64-5.15.12.config -boot/kernel/gentoo/packages: --usepkg n zfs zfs-kmod +boot/kernel/fallback/sources: sys-kernel/gentoo-sources +boot/kernel/fallback/config: @REPO_DIR@/releases/kconfig/arm64/arm64-5.15.12.config +boot/kernel/fallback/packages: --usepkg n zfs zfs-kmod livecd/unmerge: app-admin/eselect From 738f4e91f68bb8ab2a10dea697f361ddc5b2e6cd Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Sun, 25 Aug 2024 16:04:28 +0100 Subject: [PATCH 3/9] installcd-stage2-minimal.spec: Enable dist kernel Signed-off-by: Ian Jordan --- releases/specs/arm64/installcd-stage2-minimal.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/releases/specs/arm64/installcd-stage2-minimal.spec b/releases/specs/arm64/installcd-stage2-minimal.spec index a3de64292..4c84ba63c 100644 --- a/releases/specs/arm64/installcd-stage2-minimal.spec +++ b/releases/specs/arm64/installcd-stage2-minimal.spec @@ -14,7 +14,11 @@ livecd/iso: install-arm64-minimal-@TIMESTAMP@.iso livecd/type: gentoo-release-minimal livecd/volid: Gentoo arm64 @TIMESTAMP@ -boot/kernel: fallback +boot/kernel: gentoo fallback + +boot/kernel/gentoo/distkernel: yes +boot/kernel/gentoo/dracut_args: --xz --no-hostonly -a dmsquash-live -a mdraid -o btrfs -o crypt -o i18n -o usrmount -o lunmask -o qemu -o qemu-net -o nvdimm -o multipath -o zfs -i /lib/keymaps /lib/keymaps -I busybox +boot/kernel/gentoo/packages: --usepkg n zfs zfs-kmod boot/kernel/fallback/sources: sys-kernel/gentoo-sources boot/kernel/fallback/config: @REPO_DIR@/releases/kconfig/arm64/arm64-5.15.12.config From 6b566dde6c28278339ddccdfbc775dd3a32c56ad Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Sun, 22 Sep 2024 06:04:45 +0100 Subject: [PATCH 4/9] arm64/installcd-stage1: Enable Apple Silicon support Enabling Apple Silicon in the installcd by including the scripts and firmware needed to boot. Signed-off-by: Ian Jordan --- releases/specs/arm64/installcd-stage1.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases/specs/arm64/installcd-stage1.spec b/releases/specs/arm64/installcd-stage1.spec index b0d4d05b9..4f0706f9f 100644 --- a/releases/specs/arm64/installcd-stage1.spec +++ b/releases/specs/arm64/installcd-stage1.spec @@ -38,6 +38,8 @@ livecd/packages: app-shells/gentoo-bashcomp app-text/wgetpaste dev-embedded/u-boot-tools + dev-lang/rust-bin + dev-util/bindgen media-gfx/fbgrab media-sound/alsa-utils net-analyzer/traceroute @@ -103,3 +105,7 @@ livecd/packages: sys-libs/gpm sys-power/acpid www-client/links + # Asahi packages for Apple Silcion support + sys-apps/asahi-configs + sys-apps/asahi-scripts + sys-firmware/asahi-firmware From 6b73228101f5ca9793d649f13a8a289b47ea02bb Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Sun, 22 Sep 2024 06:15:54 +0100 Subject: [PATCH 5/9] arm64/installcd-stage1: Enable previously unkeyworded Packages are now keyworded and stable so enabling for installcd. Signed-off-by: Ian Jordan --- releases/specs/arm64/installcd-stage1.spec | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/releases/specs/arm64/installcd-stage1.spec b/releases/specs/arm64/installcd-stage1.spec index 4f0706f9f..7f05d75a7 100644 --- a/releases/specs/arm64/installcd-stage1.spec +++ b/releases/specs/arm64/installcd-stage1.spec @@ -20,13 +20,13 @@ livecd/use: livecd/packages: app-accessibility/brltty - #app-accessibility/espeakup # needs keywording + app-accessibility/espeakup app-admin/hddtemp app-admin/pwgen app-admin/syslog-ng app-arch/unzip app-crypt/gnupg - #app-editors/mg # needs keywording + app-editors/mg app-editors/nano app-misc/livecd-tools app-misc/screen @@ -56,9 +56,9 @@ livecd/packages: net-misc/openssh net-misc/rdate net-misc/rsync - #net-misc/vconfig # needs stable + net-misc/vconfig net-proxy/dante - #net-proxy/tsocks # needs stable + net-proxy/tsocks net-wireless/b43-fwcutter net-wireless/iw net-wireless/wireless-tools @@ -66,24 +66,24 @@ livecd/packages: sys-apps/busybox sys-apps/dmidecode sys-apps/ethtool - #sys-apps/fxload # needs keywording + sys-apps/fxload sys-apps/gptfdisk sys-apps/hdparm sys-apps/iproute2 - #sys-apps/memtester # needs keywording + sys-apps/memtester sys-apps/merge-usr - #sys-apps/netplug # needs keywording + sys-apps/netplug sys-apps/nvme-cli sys-apps/pciutils sys-apps/pv - #sys-apps/pcmciautils # needs keywording - #sys-apps/sdparm # needs keywording + sys-apps/pcmciautils + sys-apps/sdparm sys-apps/usbutils sys-auth/ssh-import-id sys-block/parted - #sys-block/partimage # needs keywording - #sys-firmware/ipw2100-firmware # needs keywording - #sys-firmware/ipw2200-firmware # needs keywording + sys-block/partimage + sys-firmware/ipw2100-firmware + sys-firmware/ipw2200-firmware sys-fs/bcache-tools sys-fs/btrfs-progs sys-fs/cryptsetup From 8a83816dd7611b4aba259be23ea8f88bda0992d9 Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Sun, 22 Sep 2024 07:33:56 +0100 Subject: [PATCH 6/9] arm64/installcd-stage2-minimal.spec: Enable Asahi kernel Thanks to Chadmed and leio's work this commit allows Gentoo's arm64 installcd to boot on Apple hardware. Due to a quirk with how at least the Macbook M1 works we must always enable asahi as the first choice kernel. Signed-off-by: Ian Jordan --- releases/specs/arm64/installcd-stage2-minimal.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/releases/specs/arm64/installcd-stage2-minimal.spec b/releases/specs/arm64/installcd-stage2-minimal.spec index 4c84ba63c..6dc2b14f1 100644 --- a/releases/specs/arm64/installcd-stage2-minimal.spec +++ b/releases/specs/arm64/installcd-stage2-minimal.spec @@ -12,9 +12,14 @@ livecd/fstype: squashfs livecd/gk_mainargs: --all-ramdisk-modules --firmware livecd/iso: install-arm64-minimal-@TIMESTAMP@.iso livecd/type: gentoo-release-minimal -livecd/volid: Gentoo arm64 @TIMESTAMP@ +livecd/volid: Gentoo-arm64-@TIMESTAMP@ -boot/kernel: gentoo fallback +boot/kernel: asahi gentoo fallback + +boot/kernel/asahi/distkernel: yes +boot/kernel/asahi/sources: sys-kernel/asahi-kernel +boot/kernel/asahi/dracut_args: --xz --no-hostonly -a dmsquash-live -o btrfs -o i18n -o usrmount -o lunmask -o multipath -i /lib/keymaps /lib/keymaps -I busybox +boot/kernel/asahi/packages: --usepkg n zfs zfs-kmod boot/kernel/gentoo/distkernel: yes boot/kernel/gentoo/dracut_args: --xz --no-hostonly -a dmsquash-live -a mdraid -o btrfs -o crypt -o i18n -o usrmount -o lunmask -o qemu -o qemu-net -o nvdimm -o multipath -o zfs -i /lib/keymaps /lib/keymaps -I busybox From e6d7c7618a46be61d53616e04d58796d64ce779d Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Sun, 22 Sep 2024 07:39:51 +0100 Subject: [PATCH 7/9] arm64/installcd-stage2-minimal: Remove Asahi BDEPs Remove the Rust related packages needed to add support at build time. Signed-off-by: Ian Jordan --- releases/specs/arm64/installcd-stage2-minimal.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/releases/specs/arm64/installcd-stage2-minimal.spec b/releases/specs/arm64/installcd-stage2-minimal.spec index 6dc2b14f1..40c74b75c 100644 --- a/releases/specs/arm64/installcd-stage2-minimal.spec +++ b/releases/specs/arm64/installcd-stage2-minimal.spec @@ -37,10 +37,12 @@ livecd/unmerge: app-admin/python-updater app-arch/cpio dev-build/libtool + dev-lang/rust-bin dev-libs/gmp dev-libs/libxml2 dev-libs/mpfr dev-python/pycrypto + dev-util/bindgen dev-util/pkgconfig dev-util/pkgconf perl-core/PodParser @@ -60,11 +62,13 @@ livecd/unmerge: sys-devel/binutils sys-devel/binutils-config sys-devel/bison + sys-devel/clang sys-devel/flex sys-devel/gcc sys-devel/gcc-config sys-devel/gettext sys-devel/gnuconfig + sys-devel/llvm sys-devel/m4 sys-devel/make sys-devel/patch @@ -72,6 +76,7 @@ livecd/unmerge: sys-libs/gdbm sys-kernel/genkernel sys-kernel/linux-headers + virtual/rust livecd/empty: /boot From 427384c1774c19bc275d18c73db0d210204355c3 Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Sun, 22 Sep 2024 07:44:29 +0100 Subject: [PATCH 8/9] isos/package.use: Add USE flags for Apple support Asahi needs these USE flags set at build time. Signed-off-by: Ian Jordan --- releases/portage/isos/package.use/asahi | 2 ++ releases/portage/isos/package.use/rust | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 releases/portage/isos/package.use/asahi create mode 100644 releases/portage/isos/package.use/rust diff --git a/releases/portage/isos/package.use/asahi b/releases/portage/isos/package.use/asahi new file mode 100644 index 000000000..9eca1a403 --- /dev/null +++ b/releases/portage/isos/package.use/asahi @@ -0,0 +1,2 @@ +# Prevent asahi-meta build unneeded parts for the installcd +sys-apps/asahi-meta -audio -mesa diff --git a/releases/portage/isos/package.use/rust b/releases/portage/isos/package.use/rust new file mode 100644 index 000000000..f3738f7a0 --- /dev/null +++ b/releases/portage/isos/package.use/rust @@ -0,0 +1,2 @@ +# Needed for Asahi support on arm64 +dev-lang/rust-bin rustfmt rust-src From 7f842b887e13c989bdd28d273cd6b6c8fc97e416 Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Sun, 17 Nov 2024 13:03:51 +0000 Subject: [PATCH 9/9] pkgmove cleanup Minor cleanup of stage2 spec for pkg moves. Signed-off-by: Ian Jordan --- releases/specs/arm64/installcd-stage2-minimal.spec | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/releases/specs/arm64/installcd-stage2-minimal.spec b/releases/specs/arm64/installcd-stage2-minimal.spec index 40c74b75c..cdfbddc7e 100644 --- a/releases/specs/arm64/installcd-stage2-minimal.spec +++ b/releases/specs/arm64/installcd-stage2-minimal.spec @@ -42,8 +42,6 @@ livecd/unmerge: dev-libs/libxml2 dev-libs/mpfr dev-python/pycrypto - dev-util/bindgen - dev-util/pkgconfig dev-util/pkgconf perl-core/PodParser perl-core/Test-Harness @@ -55,10 +53,10 @@ livecd/unmerge: sys-apps/miscfiles sys-apps/sandbox sys-apps/texinfo - sys-devel/autoconf - sys-devel/autoconf-wrapper - sys-devel/automake - sys-devel/automake-wrapper + dev-build/autoconf + dev-build/autoconf-wrapper + dev-build/automake + dev-build/automake-wrapper sys-devel/binutils sys-devel/binutils-config sys-devel/bison @@ -70,7 +68,7 @@ livecd/unmerge: sys-devel/gnuconfig sys-devel/llvm sys-devel/m4 - sys-devel/make + dev-build/make sys-devel/patch sys-libs/db sys-libs/gdbm