rocky-linux-generic-images/create-image.sh

43 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
REAL_USER=$(who am i | awk '{print $1}')
APPLIANCE_NAME="Rocky-9-aarch64-minimal"
KICKSTARTER_FILENAME="${APPLIANCE_NAME}.ks"
if [[ ${EUID} -ne 0 ]]; then
>&2 echo "ERROR: Please run this script as root"
exit 1
fi
appliance-creator \
--config "${KICKSTARTER_FILENAME}" \
--name "${APPLIANCE_NAME}" \
--format raw \
--checksum \
--no-compress \
--outdir "${PWD}" \
--cache "/root/cache" \
--debug \
--verbose \
1> Rocky-9-aarch64-minimal.stdout.log \
2> Rocky-9-aarch64-minimal.stderr.log
if [[ -f "${APPLIANCE_NAME}-sda.raw" ]]; then
set -x
IMAGE_NAME="${APPLIANCE_NAME}-$(date +%Y.%m.%d).raw"
COMPRESSED_IMAGE_NAME="${IMAGE_NAME}.zst"
touch "${APPLIANCE_NAME}-sda.raw"
mv -v "${APPLIANCE_NAME}-sda.raw" "${IMAGE_NAME}"
zstd -9 -z "${IMAGE_NAME}"
sha256sum "${IMAGE_NAME}" > "${IMAGE_NAME}.sha256"
sha512sum "${IMAGE_NAME}" > "${IMAGE_NAME}.sha512"
sha256sum "${COMPRESSED_IMAGE_NAME}" > "${COMPRESSED_IMAGE_NAME}.sha256"
sha512sum "${COMPRESSED_IMAGE_NAME}" > "${COMPRESSED_IMAGE_NAME}.sha512"
chown -v "${REAL_USER}:${REAL_USER}" "${IMAGE_NAME}*"
fi