Browse Source

mkimage, mkplatformfs, lib: add asahi

dkwo 2 years ago
parent
commit
7f9a50e7d3
3 changed files with 11 additions and 3 deletions
  1. 1 0
      lib.sh
  2. 7 1
      mkimage.sh
  3. 3 2
      mkplatformfs.sh

+ 1 - 0
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
 

+ 7 - 1
mkimage.sh

@@ -116,7 +116,7 @@ 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
 
@@ -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

+ 3 - 2
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 <system-pkg>  Set an alternative base-system package (default: base-system)
 	 -c <cachedir>    Set the XBPS cache directory (default: ./xbps-cachedir-<arch>)
@@ -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" ;;
     *) die "$PROGNAME: invalid platform!";;
 esac