diff --git a/make-asahi-installer-package.sh b/make-asahi-installer-package.sh index 83b71a2..6355e75 100755 --- a/make-asahi-installer-package.sh +++ b/make-asahi-installer-package.sh @@ -15,9 +15,9 @@ requireCommands() { done } -[ "$#" -ne 2 ] && fail "usage: $0 " -image="$1" -package="$2" +date=$(date +%Y%m%d) +image="${1:-outdir/Fedora-Asahi-Remix.aarch64-0.0.0.raw}" +package="${2:-fedora-rawhide-${date}}" if [ ! -r "$image" ]; then fail "$image does not exist or cannot be read!" @@ -37,9 +37,9 @@ imagename="$(basename "$image")" imagedir="$(dirname "$image")" # extract filesystems from disk image -pushd "$imagedir" +pushd "$imagedir" > /dev/null eval "$(sfdisk -ql "$imagename" | awk "NR>=2 { printf \"dd if=${imagename} of=${workdir}/%s skip=%s count=%s\\n\", \$1, \$2, \$4 }")" -popd +popd > /dev/null # build package mkdir -p "${workdir}/package/esp" @@ -47,6 +47,47 @@ fatcat "${workdir}/${imagename}1" -x "${workdir}/package/esp" mv "${workdir}/${imagename}2" "${workdir}/package/boot.img" mv "${workdir}/${imagename}3" "${workdir}/package/root.img" -pushd "${workdir}/package" +pushd "${workdir}/package" > /dev/null zip -r "${basedir}/${package}" . -popd +popd > /dev/null + +volume_id="$(file "${workdir}/${imagename}1" | awk -v 'RS=,' '/serial number/ { print $3 }')" +cat > installer_data.json <