Skip to content

Commit 77a6380

Browse files
committed
add asahi to image builder
1 parent 71f46a0 commit 77a6380

3 files changed

Lines changed: 23 additions & 5 deletions

File tree

lib.sh.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@ set_target_arch_from_platform() {
298298
pinebookpro*) XBPS_TARGET_ARCH="aarch64";;
299299
pinephone*) XBPS_TARGET_ARCH="aarch64";;
300300
rock64*) XBPS_TARGET_ARCH="aarch64";;
301+
asahi*) XBPS_TARGET_ARCH="aarch64";;
301302
*) die "$PROGNAME: Unable to compute target architecture from platform";;
302303
esac
303304

mkimage.sh.in

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ PLATFORM="${PLATFORM%-PLATFORMFS*}"
117117

118118
# Be absolutely certain the platform is supported before continuing
119119
case "$PLATFORM" in
120-
bananapi|beaglebone|cubieboard2|cubietruck|odroid-c2|odroid-u2|rpi|rpi2|rpi3|rpi4|GCP|pinebookpro|pinephone|rock64|*-musl);;
120+
bananapi|beaglebone|cubieboard2|cubietruck|odroid-c2|odroid-u2|rpi|rpi2|rpi3|rpi4|GCP|pinebookpro|pinephone|rock64|asahi|*-musl);;
121121
*) die "The $PLATFORM is not supported, exiting..."
122122
esac
123123

@@ -226,9 +226,18 @@ _EOF
226226
esac
227227
mkfs.${ROOT_FSTYPE} ${disable_journal:+"$disable_journal"} "${LOOPDEV}p2" >/dev/null 2>&1
228228
mount "${LOOPDEV}p2" "$ROOTFS"
229-
mkdir -p "${ROOTFS}/boot"
230-
mount "${LOOPDEV}p1" "${ROOTFS}/boot"
231-
BOOT_UUID=$(blkid -o value -s UUID "${LOOPDEV}p1")
229+
case "$PLATFORM" in
230+
asahi*)
231+
# we need /boot/efi
232+
mkdir -p "${ROOTFS}"/boot/efi
233+
mount "${LOOPDEV}p1" "${ROOTFS}/boot/efi"
234+
;;
235+
*)
236+
mkdir -p "${ROOTFS}/boot"
237+
mount "${LOOPDEV}p1" "${ROOTFS}/boot"
238+
;;
239+
esac
240+
BOOT_UUID=$(blkid -o value -s UUID "${LOOPDEV}p1")
232241
ROOT_UUID=$(blkid -o value -s UUID "${LOOPDEV}p2")
233242
ROOT_PARTUUID=$(blkid -o value -s PARTUUID "${LOOPDEV}p2")
234243
;;
@@ -373,6 +382,13 @@ GCP*)
373382
# run_cmd_chroot commands
374383
cleanup_chroot
375384
;;
385+
asahi*)
386+
# setup GRUB
387+
mount_pseudofs
388+
run_cmd_chroot "${ROOTFS}" "grub-install --target=arm64-efi --efi-directory=/boot/efi --removable"
389+
run_cmd_chroot "${ROOTFS}" "grub-mkconfig > /boot/grub/grub.cfg"
390+
cleanup_chroot
391+
;;
376392
esac
377393

378394
# Release all the mounts, deconfigure the loop device, and remove the

mkplatformfs.sh.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Usage: $PROGNAME [options] <platform> <base-tarball>
5151
Supported platforms: i686, x86_64, GCP, bananapi, beaglebone,
5252
cubieboard2, cubietruck, odroid-c2, odroid-u2,
5353
rpi, rpi2 (armv7), rpi3 (aarch64), rpi4 (aarch64), ci20,
54-
pinebookpro, pinephone, rock64
54+
pinebookpro, pinephone, rock64, asahi
5555
5656
Options
5757
-b <syspkg> Set an alternative base-system package (defaults to base-system)
@@ -128,6 +128,7 @@ case "$PLATFORM" in
128128
pinebookpro*) PKGS="$BASEPKG ${PLATFORM%-*}-base" ;;
129129
pinephone*) PKGS="$BASEPKG ${PLATFORM%-*}-base" ;;
130130
rock64*) PKGS="$BASEPKG ${PLATFORM%-*}-base" ;;
131+
asahi*) PKGS="$BASEPKG asahi-base grub-arm64-efi" ;;
131132
*) die "$PROGNAME: invalid platform!";;
132133
esac
133134

0 commit comments

Comments
 (0)