diff --git a/lib.sh b/lib.sh index d76495e..96c3e33 100755 --- a/lib.sh +++ b/lib.sh @@ -288,6 +288,7 @@ set_target_arch_from_platform() { pinephone*) XBPS_TARGET_ARCH="aarch64";; rock64*) XBPS_TARGET_ARCH="aarch64";; rockpro64*) XBPS_TARGET_ARCH="aarch64";; + asahi*) XBPS_TARGET_ARCH="aarch64";; *) die "$PROGNAME: Unable to compute target architecture from platform";; esac diff --git a/mkimage.sh b/mkimage.sh index ddddf07..bd82296 100755 --- a/mkimage.sh +++ b/mkimage.sh @@ -116,14 +116,14 @@ PLATFORM="${PLATFORM%-PLATFORMFS*}" # Be absolutely certain the platform is supported before continuing case "$PLATFORM" in - rpi-armv6l|rpi-armv7l|rpi-aarch64|GCP|pinebookpro|pinephone|rock64|rockpro64|*-musl);; + rpi-armv6l|rpi-armv7l|rpi-aarch64|GCP|pinebookpro|pinephone|rock64|rockpro64|asahi|*-musl);; *) die "The $PLATFORM is not supported, exiting..." esac # Default for bigger boot partion on rk33xx devices since it needs to # fit at least 2 Kernels + initramfs case "$PLATFORM" in - pinebookpro*|rock64*|rockpro64*) + pinebookpro*|rock64*|rockpro64*|asahi*) : "${BOOT_FSSIZE:=512MiB}" ;; esac @@ -350,6 +350,12 @@ GCP*) # run_cmd_chroot commands cleanup_chroot ;; +asahi*) + mount_pseudofs + run_cmd_chroot "${ROOTFS}" "grub-install --target=arm64-efi --efi-directory=/boot --removable" + run_cmd_chroot "${ROOTFS}" "xbps-reconfigure -f linux-asahi" + cleanup_chroot + ;; esac # Release all the mounts, deconfigure the loop device, and remove the diff --git a/mkplatformfs.sh b/mkplatformfs.sh index 6d3ba11..ef313b6 100755 --- a/mkplatformfs.sh +++ b/mkplatformfs.sh @@ -53,8 +53,8 @@ usage() { Supported platforms: i686, x86_64, GCP, rpi-armv6l, rpi-armv7l, rpi-aarch64, - pinebookpro, pinephone, rock64, rockpro64 - + pinebookpro, pinephone, rock64, rockpro64, asahi + OPTIONS -b Set an alternative base-system package (default: base-system) -c Set the XBPS cache directory (default: ./xbps-cachedir-) @@ -128,6 +128,7 @@ case "$PLATFORM" in pinephone*) PKGS="$BASEPKG ${PLATFORM%-*}-base" ;; rock64*) PKGS="$BASEPKG ${PLATFORM%-*}-base" ;; rockpro64*) PKGS="$BASEPKG ${PLATFORM%-*}-base" ;; + asahi*) PKGS="$BASEPKG asahi-base asahi-scripts grub-arm64-efi dracut lzfse" ;; *) die "$PROGNAME: invalid platform!";; esac