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
|
|
|
{
|
|
|
|
"variables": {
|
|
|
|
"box_basename": "debian",
|
|
|
|
"build_directory": "../builds",
|
|
|
|
"build_timestamp": "{{isotime \"20060102150405\"}}",
|
|
|
|
"pack": "{{user `pack`}}",
|
|
|
|
"cpus": "4",
|
|
|
|
"disk_size": "30000",
|
|
|
|
"git_revision": "__unknown_git_revision__",
|
|
|
|
"guest_additions_url": "",
|
|
|
|
"headless": "false",
|
|
|
|
"http_directory": "{{template_dir}}/http",
|
|
|
|
"http_proxy": "{{env `http_proxy`}}",
|
|
|
|
"https_proxy": "{{env `https_proxy`}}",
|
2023-05-23 12:30:26 +01:00
|
|
|
"iso_checksum": "eb3f96fd607e4b67e80f4fc15670feb7d9db5be50f4ca8d0bf07008cb025766b",
|
|
|
|
"iso_name": "debian-11.7.0-amd64-netinst.iso",
|
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
|
|
|
"memory": "4096",
|
|
|
|
"mirror": "http://cdimage.debian.org/cdimage/release",
|
|
|
|
"mirror_directory": "current/amd64/iso-cd",
|
|
|
|
"name": "debian",
|
|
|
|
"no_proxy": "{{env `no_proxy`}}",
|
|
|
|
"preseed_path": "debian-9/preseed.cfg",
|
|
|
|
"qemu_display": "none",
|
|
|
|
"qemu_bios": "bios-256k.bin",
|
|
|
|
"template": "raspiblitz-amd64-debian-{{user `pack`}}",
|
|
|
|
"boot_command": "<esc><wait>install <wait> preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `preseed_path`}} <wait>debian-installer=en_US.UTF-8 <wait>auto <wait>locale=en_US.UTF-8 <wait>kbd-chooser/method=us <wait>keyboard-configuration/xkb-keymap=us <wait>netcfg/get_hostname={{ .Name }} <wait>netcfg/get_domain=vagrantup.com <wait>fb=false <wait>debconf/frontend=noninteractive <wait>console-setup/ask_detect=false <wait>console-keymaps-at/keymap=us <wait>grub-installer/bootdev=default <wait><enter><wait>",
|
|
|
|
"version": "TIMESTAMP"
|
|
|
|
},
|
|
|
|
"builders": [
|
|
|
|
{
|
|
|
|
"boot_command": "{{user `boot_command`}}",
|
|
|
|
"boot_wait": "5s",
|
|
|
|
"cpus": "{{ user `cpus` }}",
|
|
|
|
"disk_size": "{{user `disk_size`}}",
|
|
|
|
"headless": "{{ user `headless` }}",
|
|
|
|
"http_directory": "{{user `http_directory`}}",
|
|
|
|
"iso_checksum": "{{user `iso_checksum`}}",
|
|
|
|
"iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
|
|
|
|
"memory": "{{ user `memory` }}",
|
|
|
|
"output_directory": "{{ user `build_directory` }}/{{user `template`}}-qemu",
|
|
|
|
"shutdown_command": "echo 'raspiblitz' | sudo /sbin/shutdown -hP now",
|
|
|
|
"ssh_password": "raspiblitz",
|
|
|
|
"ssh_port": 22,
|
|
|
|
"ssh_timeout": "10000s",
|
|
|
|
"ssh_username": "pi",
|
|
|
|
"type": "qemu",
|
|
|
|
"format": "qcow2",
|
|
|
|
"vm_name": "{{ user `template` }}.qcow2",
|
|
|
|
"qemuargs": [
|
|
|
|
[ "-m", "{{ user `memory` }}" ],
|
|
|
|
[ "-bios", "{{ user `qemu_bios` }}" ],
|
|
|
|
[ "-display", "{{ user `qemu_display` }}" ]
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"provisioners": [
|
|
|
|
{
|
|
|
|
"type": "shell",
|
|
|
|
"environment_vars": [
|
|
|
|
"HOME_DIR=/home/pi",
|
|
|
|
"http_proxy={{user `http_proxy`}}",
|
|
|
|
"https_proxy={{user `https_proxy`}}",
|
|
|
|
"no_proxy={{user `no_proxy`}}",
|
|
|
|
"github_user={{user `github_user`}}",
|
|
|
|
"branch={{user `branch`}}",
|
|
|
|
"pack={{user `pack`}}"
|
|
|
|
],
|
|
|
|
"execute_command": "echo 'raspiblitz' | {{.Vars}} sudo -S -E sh -eux '{{.Path}}'",
|
|
|
|
"expect_disconnect": true,
|
|
|
|
"scripts": [
|
|
|
|
"{{template_dir}}/scripts/update.sh",
|
|
|
|
"{{template_dir}}/../_common/sshd.sh",
|
|
|
|
"{{template_dir}}/scripts/networking.sh",
|
|
|
|
"{{template_dir}}/scripts/sudoers.sh",
|
|
|
|
"{{template_dir}}/scripts/systemd.sh",
|
|
|
|
"{{template_dir}}/scripts/raspiblitz.sh",
|
|
|
|
"{{template_dir}}/scripts/cleanup.sh"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|