From 7ac20292678c8c6d8a6d6c87a4ef479cf72a0035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jake=20Buchholz=20G=C3=B6kt=C3=BCrk?= Date: Sat, 19 Mar 2022 14:24:26 -0700 Subject: [PATCH] Minor Fixes * switch 3.12 back to tiny-ec2-bootstrap (tiny-cloud requires ifupdown-ng) * restrict cloud-init to 3.15+ * pad UEFI firmware so QEMU works with aarch64 again * kinda fix motd release_notes (more to do yet) --- build | 5 ++++- configs/alpine.conf | 4 ++-- configs/bootstrap/cloudinit.conf | 3 +++ configs/bootstrap/tiny.conf | 28 +++++++++++++++++++++------- scripts/setup-tiny | 14 ++++++++++---- 5 files changed, 40 insertions(+), 14 deletions(-) diff --git a/build b/build index f269bf9..59290e3 100755 --- a/build +++ b/build @@ -185,7 +185,10 @@ def install_qemu_firmware(): log.error('STDERR:\n%s', err.decode('utf8')) sys.exit(1) - os.symlink(bin, os.path.join(firm_dir, f"uefi-{arch}.bin")) + firm_bin = os.path.join(firm_dir, f"uefi-{arch}.bin") + os.symlink(bin, firm_bin) + log.info('Padding "%s" to 67108864 bytes', firm_bin) + subprocess.run(['truncate', '-s', '67108864', firm_bin]) ### Command Line & Logging diff --git a/configs/alpine.conf b/configs/alpine.conf index 81606c6..6b44962 100644 --- a/configs/alpine.conf +++ b/configs/alpine.conf @@ -23,8 +23,8 @@ Default { "See ." version_notes = "Release Notes:\n"\ - "* " - release_notes = "* " + release_notes = "* " } # initial provisioning script and data directory diff --git a/configs/bootstrap/cloudinit.conf b/configs/bootstrap/cloudinit.conf index 19f2bd7..bd35331 100644 --- a/configs/bootstrap/cloudinit.conf +++ b/configs/bootstrap/cloudinit.conf @@ -1,6 +1,9 @@ # vim: ts=2 et: name = [cloudinit] +# start cloudinit images with 3.15 +EXCLUDE = ["3.12", "3.13", "3.14"] + packages { cloud-init = true openssh-server-pam = true diff --git a/configs/bootstrap/tiny.conf b/configs/bootstrap/tiny.conf index 018d424..351ccf8 100644 --- a/configs/bootstrap/tiny.conf +++ b/configs/bootstrap/tiny.conf @@ -1,17 +1,31 @@ # vim: ts=2 et: name = [tiny] -WHEN { - aws.packages.tiny-cloud-aws = true - # azure.packages.tiny-cloud-azure = true - # gcp.packages.tiny-cloud-gcp = true - # oci.packages.tiny-cloud-oci = true -} - services { sysinit.tiny-cloud-early = true default.tiny-cloud = true default.tiny-cloud-final = true } +WHEN { + aws { + packages.tiny-cloud-aws = true + WHEN { + "3.12" { + # tiny-cloud-network requires ifupdown-ng (unavailable in 3.12) + packages.tiny-cloud-aws = null + services.sysinit.tiny-cloud-early = null + services.default.tiny-cloud = null + services.default.tiny-cloud-final = null + # fall back to tiny-ec2-bootstrap instead + packages.tiny-ec2-bootstrap = true + services.default.tiny-ec2-bootstrap = true + } + } + } + # azure.packages.tiny-cloud-azure = true + # gcp.packages.tiny-cloud-gcp = true + # oci.packages.tiny-cloud-oci = true +} + scripts = [ setup-tiny ] \ No newline at end of file diff --git a/scripts/setup-tiny b/scripts/setup-tiny index 7081842..9fc91fc 100755 --- a/scripts/setup-tiny +++ b/scripts/setup-tiny @@ -9,7 +9,13 @@ einfo() { printf '\n\033[1;7;36m> %s <\033[0m\n' "$@" >&2 # bold reversed cyan } -einfo "Configuring Tiny Cloud..." -sed -i.bak -Ee "s/^#?CLOUD_USER=.*/CLOUD_USER=$IMAGE_LOGIN/" \ - "$TARGET"/etc/conf.d/tiny-cloud -rm "$TARGET"/etc/conf.d/tiny-cloud.bak \ No newline at end of file +if [ "$VERSION" = "3.12" ]; then + # tiny-cloud-network requires ifupdown-ng, not in 3.12 + einfo "Configuring Tiny EC2 Bootstrap..." + echo "EC2_USER=$IMAGE_LOGIN" > /etc/conf.d/tiny-ec2-bootstrap +else + einfo "Configuring Tiny Cloud..." + sed -i.bak -Ee "s/^#?CLOUD_USER=.*/CLOUD_USER=$IMAGE_LOGIN/" \ + "$TARGET"/etc/conf.d/tiny-cloud + rm "$TARGET"/etc/conf.d/tiny-cloud.bak +fi