[multipass] add custom rpios cloud init to emulate rpios64 #6

Merged
Ark74 merged 3 commits from improve_arm64_mp into main 2026-01-12 23:39:09 +00:00
1 changed files with 62 additions and 0 deletions
Showing only changes of commit 2b69ff3bcf - Show all commits

View File

@ -0,0 +1,62 @@
#cloud-config
hostname: rpios-like-arm64
manage_etc_hosts: true
write_files:
- path: /usr/local/sbin/setup-raspi-repo-and-sys-mods-arm64.sh
permissions: "0755"
content: |
#!/usr/bin/env bash
set -euo pipefail
arch="$(dpkg --print-architecture)"
if [[ "$arch" != "arm64" ]]; then
echo "arm64-only; detected '$arch' -> skipping" >&2
exit 0
fi
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y --no-install-recommends ca-certificates curl gnupg util-linux
install -d -m 0755 /usr/share/keyrings /etc/apt/preferences.d
if [[ ! -s /usr/share/keyrings/raspberrypi-archive-keyring.gpg ]]; then
curl -fsSL https://archive.raspberrypi.org/debian/raspberrypi.gpg.key \
| gpg --dearmor -o /usr/share/keyrings/raspberrypi-archive-keyring.gpg
chmod 0644 /usr/share/keyrings/raspberrypi-archive-keyring.gpg
fi
#cat >/etc/apt/preferences.d/raspi.pref <<'EOF'
#Package: *
#Pin: origin "archive.raspberrypi.org"
#Pin-Priority: 100
#EOF
if [[ ! -f /etc/apt/sources.list.d/raspi.sources ]]; then
cat >/etc/apt/sources.list.d/raspi.sources <<'EOF'
Types: deb
URIs: https://archive.raspberrypi.org/debian/
Suites: trixie
Components: main
Signed-By: /usr/share/keyrings/raspberrypi-archive-keyring.gpg
EOF
fi
apt-get update
# Add custom /etc/rpi-issue for "rpios-like"
if [[ ! -s /etc/rpi-issue ]]; then
{
echo "Raspberry Pi reference trixie-latest $(date -R)"
echo "Emulated using debian-13-genericcloud"
} >/etc/rpi-issue
fi
echo "---- /etc/rpi-issue ----"
cat /etc/rpi-issue || true
echo "------------------------"
runcmd:
- [ bash, -lc, "/usr/local/sbin/setup-raspi-repo-and-sys-mods-arm64.sh" ]