Packer-MAAS build notes — ATOPNUC MA90 (AMD A9-9400 / Radeon R5)¶
These are the exact commands, edits, and error lines encountered while building a Proxmox-ready Debian 12 cloud-image with canonical/packer-maas and importing it into Ubuntu MAAS for ATOPNUC MA90 (AMD A9-9400 / Radeon R5).
1 The Curtin error that started it all¶
grub-install.real: warning: this GPT partition label contains no BIOS Boot Partition; embedding wont be possible.
grub-install.real: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.
grub-install.real: error: will not proceed with blocklists.
dpkg: error processing package grub-cloud-amd64 (--configure):
installed grub-cloud-amd64 package post-installation script subprocess returned error exit status 1
E: Sub-process /usr/bin/dpkg returned an error code (1)
Curtin aborted, the MA90 rebooted, firmware jumped back to the half-installed SSD, and MAAS marked the node Failed deployment.
2 BIOS quirk¶
After every reboot the MA90 firmware re-enabled “Boot from Hard Disk” and moved it above PXE. Work-around: before each deploy, enter BIOS, disable HDD boot, leave only “PXE IPv4” enabled.
3 Changes made inside the packer repo¶
debian/Makefile
(excerpts)¶
PACKER\_LOG = 1 # verbose
SERIES = bookworm # always build Debian 12
disk\_size = "16G" # avoid space issues
-var customize\_script=my-amd-changes.sh
my-amd-changes.sh
¶
#!/bin/bash
apt-get install -y gnupg lsb-release
# Proxmox repository
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve \
$(lsb_release -cs) pve-no-subscription" \
> /etc/apt/sources.list.d/pve-install-repo.list
wget https://enterprise.proxmox.com/debian/proxmox-release-$(lsb_release -cs).gpg \
-O /etc/apt/trusted.gpg.d/proxmox-release.gpg
apt-get update && apt full-upgrade -y
apt-get install -y proxmox-ve postfix open-iscsi chrony zfsutils-linux zfs-initramfs
apt-get remove -y linux-image-amd64 'linux-image-6.1*'
# ── key bit ──────────────────────────────────────────────────────────── purge
# BIOS GRUB to stop the blocklist error
apt-get purge -y grub-pc grub-cloud-amd64
# install EFI-only GRUB
apt-get install -y grub-efi-amd64 shim-signed
update-grub
# ───────────────────────────────────────────────────────────────────────
# (uncertain) the script also ran grub-install and /boot/efi dir creation
# to create an ESP (ESP = EFI System Partition) here; can't confirm
# if this is required
# 3) Make sure /boot/efi exists and is mounted (your image builder must have created
# a 512 MiB FAT32 partition at /boot/efi and an appropriate fstab entry):
mkdir -p /boot/efi
mount /boot/efi
# 4) Install GRUB into the ESP:
grub-install \
--target=x86_64-efi \
--efi-directory=/boot/efi \
--bootloader-id=Proxmox \
--recheck
‣ Uncertainty: creating the ESP in this script may have been what finally satisfied GRUB. The exact block that did it has not been isolated.
4 Build + upload commands¶
# on the build host
cd code/packer-maas/debian/
make # runs packer with edits
scp debian-custom-cloudimg.tar.gz <user>@192.168.4.53:/home/<user>/
# on the MAAS region controller (192.168.4.53)
maas admin boot-resources create \
name='custom/debian-12-amd64' \
title='Proxmox Bookworm AMD' \
architecture='amd64/generic' \
filetype='tgz' \
content@=debian-custom-cloudimg.tar.gz
MAAS then listed the image under Images → Custom and deployments stopped throwing the blocklist error.
5 Next time checklist¶
BIOS on AMD MA 90 (Press
F2
) and continuously disable HDD boot.Rebuild / Upload the rebuilt image (if required)
Deploy; verify GRUB installs to the ESP, Curtin completes, MAAS flips the node to Deployed.
Last verified: MAAS 3.6 (stable) • May 2025