Hello,
I need to create images for multiple boards (rpi4b, rpi5b, rock3a, rock5b, orangepi5, orangepi-plus, nanopct6 and khadas-vim4) for a Kubernetes cluster running ceph and cilium, hence I need some new modules and parameters in the kernel.
I created a simple playbook that changes the parameters in build/config/kernel/linux-* which works. What does not work is calling compile.sh with the required parameters. The task gives an error and stops after 5 minutes or so. If I run the commands from the prompt, everything is fine...but not convenient.
The Ubuntu VM used for the compilation is created on a Fedora 40, with Vagrant, and I gave it 30 cores and 30GB of RAM with plenty of disk to run.
vars:
board_build:
rpi4b: "BOARD=rpi4b BRANCH=edge BUILD_DESKTOP=no BUILD_MINIMAL=yes CLI_TARGET=bullseye KERNEL_CONFIGURE=no RELEASE=bookworm"
rpi5b: "BOARD=rpi5b BRANCH=edge BUILD_DESKTOP=yes BUILD_MINIMAL=no \
DESKTOP_APPGROUPS_SELECTED='browsers desktop_tools internet multimedia remote_desktop' DESKTOP_ENVIRONMENT=xfce \
DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base KERNEL_CONFIGURE=no RELEASE=jammy"
rock3a: "BOARD=rock-3a BRANCH=edge BUILD_DESKTOP=no BUILD_MINIMAL=yes CLI_TARGET=bullseye KERNEL_CONFIGURE=no RELEASE=bookworm"
rock5b: "BOARD=rock-5b BRANCH=edge BUILD_DESKTOP=no BUILD_MINIMAL=yes CLI_TARGET=bullseye KERNEL_CONFIGURE=no RELEASE=bookworm"
opi5: "BOARD=orangepi5 BRANCH=edge BUILD_DESKTOP=no BUILD_MINIMAL=yes CLI_TARGET=bullseye KERNEL_CONFIGURE=no RELEASE=bookworm"
opi5p: "BOARD=orangepi5-plus BRANCH=edge BUILD_DESKTOP=no BUILD_MINIMAL=yes CLI_TARGET=bullseye KERNEL_CONFIGURE=no RELEASE=bookworm"
nanopct6_edge: "BOARD=nanopct6 BRANCH=edge BUILD_DESKTOP=no BUILD_MINIMAL=yes CLI_TARGET=bullseye KERNEL_CONFIGURE=no RELEASE=bookworm"
nanopct6_legacy: "BOARD=nanopct6 BRANCH=legacy BUILD_DESKTOP=no BUILD_MINIMAL=yes CLI_TARGET=bullseye KERNEL_CONFIGURE=no RELEASE=bookworm"
vim4: "BOARD=khadas-vim4 BRANCH=legacy BUILD_DESKTOP=no BUILD_MINIMAL=yes CLI_TARGET=bullseye KERNEL_CONFIGURE=no RELEASE=bookworm"
[...]
- name: Compile images
ignore_errors: true
ansible.builtin.shell: |
./compile.sh {{ board_build[item] }}
args:
executable: /bin/bash
chdir: build
register: compile_output
changed_when: true
loop: "{{ board_build.keys() }}"
loop_control:
label: "{{ item }}"
Thank you,