├── meta-data.yaml ├── .gitignore ├── examples ├── simple │ ├── meta-data.yaml │ └── user-data.yaml ├── static-ip │ ├── meta-data.yaml │ ├── network-config.yaml │ └── user-data.yaml └── k3s-cluster │ ├── raspberry-0 │ ├── meta-data.yaml │ ├── network-config.yaml │ └── user-data.yaml │ └── raspberry-1 │ ├── meta-data.yaml │ ├── network-config.yaml │ └── user-data.yaml ├── network-config.yaml ├── bootstrap.sh ├── Vagrantfile ├── user-data.yaml ├── README.md └── LICENSE /meta-data.yaml: -------------------------------------------------------------------------------- 1 | instance-id: raspberry-0 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.img 2 | *.zip 3 | /.vagrant 4 | .idea 5 | -------------------------------------------------------------------------------- /examples/simple/meta-data.yaml: -------------------------------------------------------------------------------- 1 | instance-id: raspberry-0 2 | -------------------------------------------------------------------------------- /examples/static-ip/meta-data.yaml: -------------------------------------------------------------------------------- 1 | instance-id: raspberry-0 2 | -------------------------------------------------------------------------------- /examples/k3s-cluster/raspberry-0/meta-data.yaml: -------------------------------------------------------------------------------- 1 | instance-id: raspberry-0 2 | -------------------------------------------------------------------------------- /examples/k3s-cluster/raspberry-1/meta-data.yaml: -------------------------------------------------------------------------------- 1 | instance-id: raspberry-1 2 | -------------------------------------------------------------------------------- /examples/static-ip/network-config.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | ethernets: 3 | eth0: 4 | dhcp4: false 5 | dhcp6: false 6 | addresses: 7 | - 192.168.0.20/24 8 | gateway4: 192.168.0.1 9 | nameservers: 10 | search: [home] 11 | addresses: [8.8.8.8, 8.8.4.4] 12 | -------------------------------------------------------------------------------- /examples/k3s-cluster/raspberry-0/network-config.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | ethernets: 3 | eth0: 4 | dhcp4: false 5 | dhcp6: false 6 | addresses: 7 | - 192.168.0.20/24 8 | gateway4: 192.168.0.1 9 | nameservers: 10 | search: [home] 11 | addresses: [8.8.8.8, 8.8.4.4] 12 | -------------------------------------------------------------------------------- /examples/k3s-cluster/raspberry-1/network-config.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | ethernets: 3 | eth0: 4 | dhcp4: false 5 | dhcp6: false 6 | addresses: 7 | - 192.168.0.21/24 8 | gateway4: 192.168.0.1 9 | nameservers: 10 | search: [home] 11 | addresses: [8.8.8.8, 8.8.4.4] 12 | -------------------------------------------------------------------------------- /network-config.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | ethernets: 3 | eth0: 4 | dhcp4: false 5 | dhcp6: false 6 | addresses: 7 | - 192.168.0.20/24 8 | # - 2001:1::1/64 9 | gateway4: 192.168.0.1 10 | # gateway6: 2001:1::2 11 | nameservers: 12 | search: [home] 13 | addresses: [8.8.8.8, 8.8.4.4] 14 | -------------------------------------------------------------------------------- /bootstrap.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -ex 2 | 3 | ARCH="${ARCH:-armhf}" 4 | 5 | if [ "$ARCH" = armhf ] ; then 6 | # workaround for building on 64-bit host (https://github.com/RPi-Distro/pi-gen/issues/271), 7 | # also see https://github.com/RPi-Distro/pi-gen/pull/307 8 | dpkg --add-architecture i386 9 | fi 10 | 11 | # Bring system current 12 | apt-get update 13 | 14 | # Install required pi-gen dependencies 15 | qemu_package=qemu-user-static:i386 16 | if [ "$ARCH" = aarch64 ] ; then 17 | qemu_package=qemu-user-static 18 | fi 19 | 20 | apt-get install -y coreutils quilt parted $qemu_package debootstrap zerofree zip \ 21 | dosfstools libarchive-tools libcap2-bin grep rsync xz-utils file git curl bc \ 22 | qemu-utils kpartx 23 | 24 | mkdir -p /home/vagrant/pi-cloud-init 25 | -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- 1 | VM_NAME = "raspios-builder" 2 | 3 | $set_environment_variables = <