raspiblitz/ci/arm64-rpi/arm64-rpi.pkr.hcl
openoms d270662b73
ci: update images, add arm64-rpi-debian12 build (#3985)
* ci: update images, add arm64-rpi-debian12 build

* ci: add apt update and concurrency

* fix: use netcat-openbsd in build

* ci: add concurrency to all jobs

* fix: simplify image check and add python 3.11

* ci: update amd64 base image to Debian 12.0.0

* build: separate apt_installs

* add btrfs-progs only if not bookworm on aarch64

* build: remove armbian, add aarch64 debian

---------

Co-authored-by: /rootzoll <christian@geektank.de>
2023-07-08 14:58:00 +02:00

69 lines
2.1 KiB
HCL

variable "pack" { default = "lean" }
variable "github_user" { default = "raspiblitz" }
variable "branch" { default = "dev" }
variable "image_link" { default = "https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2023-05-03/2023-05-03-raspios-bullseye-arm64.img.xz" }
variable "image_checksum" { default = "e7c0c89db32d457298fbe93195e9d11e3e6b4eb9e0683a7beb1598ea39a0a7aa" }
source "arm" "raspiblitz-arm64-rpi" {
file_checksum_type = "sha256"
file_checksum = var.image_checksum
file_target_extension = "xz"
file_unarchive_cmd = ["xz", "--decompress", "$ARCHIVE_PATH"]
file_urls = [var.image_link]
image_build_method = "resize"
image_chroot_env = ["PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"]
image_partitions {
filesystem = "vfat"
mountpoint = "/boot"
name = "boot"
size = "256M"
start_sector = "8192"
type = "c"
}
image_partitions {
filesystem = "ext4"
mountpoint = "/"
name = "root"
size = "0"
start_sector = "532480"
type = "83"
}
image_path = "raspiblitz-arm64-rpi-${var.pack}.img"
image_size = "28G"
image_type = "dos"
qemu_binary_destination_path = "/usr/bin/qemu-arm-static"
qemu_binary_source_path = "/usr/bin/qemu-arm-static"
}
build {
sources = ["source.arm.raspiblitz-arm64-rpi"]
provisioner "shell" {
inline = [
"echo 'nameserver 1.1.1.1' > /etc/resolv.conf",
"echo 'nameserver 8.8.8.8' >> /etc/resolv.conf",
"echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections",
"apt-get update",
"apt-get install -y sudo wget",
"apt-get -y autoremove",
"apt-get -y clean",
]
}
provisioner "shell" {
environment_vars = [
"github_user=${var.github_user}",
"branch=${var.branch}",
"pack=${var.pack}"
]
script = "./raspiblitz.sh"
}
provisioner "shell" {
inline = [
"echo '# delete the SSH keys (will be recreated on the first boot)'",
"rm -f /etc/ssh/ssh_host_*",
"echo 'OK'",
]
}
}