raspiblitz/ci/arm64-rpi/arm64-rpi.pkr.hcl
openoms 4ab6c46a27
Add automated image builds for VM, bare metal (amd64) and RPi (arm64-rpi) (#3486)
* add amd64 image build with lean and fatpack option

* use the pi user for setup

* add notes to ci readme

* add gnome desktop to fatpack image, reduce to 30GB

* documentation updates

* install gnome with --force-yes

* install gnome desktop non-interactively

* change links to rootzoll dev

* pass user and branch to build_sdcard.sh from PR

* add user and branch to Makefile

* Add arm64 rpi image build (#74)

ci:
* add arm64-rpi image build
* rename to raspiblitz-amd64-debian-11.5-lean/fatpack
* use rm -f to not exit with error
* place amd64 images under ci/amd64/builds/
* make /dev/shm world writable for fatpack
* fix vlc remove and --var syntax
* remove sudo-s
* leave update and upgrade to the build_sdcard.sh
* increase image size to 16GB, rename build dir

build_sdcard.sh:
* detect raspios_arm64 with raspi.list
* switch ssmtp to msmtp
related: https://github.com/rootzoll/raspiblitz/pull/2232

Co-authored-by: rootzoll <johndoe@example.com>

* i2pd: unified install from repo, /usr/sbin to PATH

related: #2413, fixes amd64 build

* update CHANGES.md

* fix amd64 path in Makefile

* use only qemu image, run on ubuntu-22.04

* use file_checksum for the arm64-rpi base image

* Fix the local arm64-rpi image generation (#75)

* add selfrun script
* ubuntu: add universe repo and qemu-user-static
* test on ubuntu live (jammy)

* build from branches: [ "dev", "v1.8", "v1.9" ]

* correct Makefile paths for the  local run

* make the local run non-interactive

* improve readme and Makefile

* increase disk image sizes to 32GB

* set image sizes to 30 GB for amd64 and arm64-rpi

* add network-manager for amd64

* add to readme

* skip Code&Compile for VM builds

* add to readme

* amd64 base image update to debian 11.6.0

* remove debian version from filenames

* skip Code&Compile for amd64 builds

* Merge branch 'dev' into add-amd64-image-build

* amd64: increase cpu and RAM, compile mempool last

* trigger workflows only on scripts used or called

* Update ci/arm64-rpi/packer.build.arm64-rpi.sh

Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>

* arm64 remove setup-qemu-action, leave npm last

* set only manual trigger for fatpack, edit triggers

Co-authored-by: rootzoll <johndoe@example.com>
Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>
2022-12-20 15:31:51 +01:00

66 lines
2 KiB
HCL

variable "pack" {}
variable "github_user" {}
variable "branch" {}
source "arm" "raspiblitz-arm64-rpi" {
file_checksum_type = "sha256"
file_checksum = "c42856ffca096480180b5aff66e1dad2f727fdc33359b24e0d2d49cc7676b576"
file_target_extension = "xz"
file_unarchive_cmd = ["xz", "--decompress", "$ARCHIVE_PATH"]
file_urls = ["https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2022-09-26/2022-09-22-raspios-bullseye-arm64.img.xz"]
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 = "30G"
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 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'",
]
}
}