From 6b20b109fd455ffa71351890a18940e7da326229 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Mon, 11 Aug 2025 00:33:34 +0200 Subject: Make bootstrap raspberry more detailed with minimal setup --- molecule/default/Dockerfile.archlinux.j2 | 2 +- molecule/default/Dockerfile.debian.j2 | 21 --------------------- molecule/default/Dockerfile.raspberrypi.j2 | 27 +++++++++++++++++++++++++++ molecule/default/molecule.yml | 3 ++- molecule/default/prepare.yml | 2 +- 5 files changed, 31 insertions(+), 24 deletions(-) delete mode 100644 molecule/default/Dockerfile.debian.j2 create mode 100644 molecule/default/Dockerfile.raspberrypi.j2 (limited to 'molecule') diff --git a/molecule/default/Dockerfile.archlinux.j2 b/molecule/default/Dockerfile.archlinux.j2 index 9b2cbd8..177724d 100644 --- a/molecule/default/Dockerfile.archlinux.j2 +++ b/molecule/default/Dockerfile.archlinux.j2 @@ -17,4 +17,4 @@ RUN (cd /lib/systemd/system/sysinit.target.wants/; \ VOLUME ["/sys/fs/cgroup"] -CMD ["/usr/sbin/init"] +CMD ["/lib/systemd/systemd"] diff --git a/molecule/default/Dockerfile.debian.j2 b/molecule/default/Dockerfile.debian.j2 deleted file mode 100644 index c28918e..0000000 --- a/molecule/default/Dockerfile.debian.j2 +++ /dev/null @@ -1,21 +0,0 @@ -# Based on the amazing work of geerlingguy <3 -# FROM docker.io/geerlingguy/docker-debian12-ansible -FROM docker.io/library/debian:bookworm - -ARG DEBIAN_FRONTEND=noninteractive - -ENV container docker - -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - systemd systemd-sysv python3 parted dosfstools \ - && rm -Rf /var/lib/apt/lists/* \ - && rm -Rf /usr/share/doc \ - && rm -Rf /usr/share/man \ - && apt-get clean - -RUN rm -f /lib/systemd/system/multi-user.target.wants/getty.target - -VOLUME ["/sys/fs/cgroup", "/tmp", "/run", "/opt"] - -CMD ["/lib/systemd/systemd"] diff --git a/molecule/default/Dockerfile.raspberrypi.j2 b/molecule/default/Dockerfile.raspberrypi.j2 new file mode 100644 index 0000000..33475b7 --- /dev/null +++ b/molecule/default/Dockerfile.raspberrypi.j2 @@ -0,0 +1,27 @@ +# Based on the amazing work of geerlingguy <3 +# FROM docker.io/geerlingguy/docker-debian12-ansible +FROM docker.io/library/debian:bookworm + +ARG DEBIAN_FRONTEND=noninteractive + +ENV container docker + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + systemd python3 parted dosfstools \ + && rm -Rf /var/lib/apt/lists/* \ + && rm -Rf /usr/share/doc \ + && rm -Rf /usr/share/man \ + && apt-get clean + +RUN rm -f /lib/systemd/system/multi-user.target.wants/getty.target + +# Mimic the Raspberry OS Bookworm default boot (for testing) +RUN mkdir -p /boot/firmware \ + && touch /boot/firmware/kernel8.img \ + && touch /boot/firmware/bootcode.bin \ + && touch /boot/firmware/start.elf + +VOLUME ["/sys/fs/cgroup", "/tmp", "/run", "/opt"] + +CMD ["/lib/systemd/systemd"] diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index a5b30f5..c9f5f8d 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -10,9 +10,10 @@ platforms: - name: instance image: ${MOLECULE_DISTRO:-archlinux} dockerfile: Dockerfile.${MOLECULE_DISTRO:-archlinux}.j2 + platform: "${MOLECULE_PLATFORM:-linux/amd64}" pre_build_image: false privileged: true - command: ${MOLECULE_COMMAND:-""} + command: "${MOLECULE_COMMAND:-/lib/systemd/systemd}" tmpfs: - "/tmp" - "/run" diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml index 885103f..bd37f5f 100644 --- a/molecule/default/prepare.yml +++ b/molecule/default/prepare.yml @@ -8,7 +8,7 @@ distro_hostname_mapping: archlinux: "archlinux.local" ubuntu: "ubuntu.local" - debian: "rpi5.local" + raspberrypi: "rpi5.local" - name: "Create virtual disk image" become: true -- cgit v1.2.3