Initial commit
commit
06e1b6ae0f
|
@ -0,0 +1 @@
|
||||||
|
/airplaypi_defconfig
|
|
@ -0,0 +1,28 @@
|
||||||
|
BR2_arm=y
|
||||||
|
BR2_cortex_a53=y
|
||||||
|
BR2_ARM_FPU_NEON_VFPV4=y
|
||||||
|
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y
|
||||||
|
BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches"
|
||||||
|
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
|
||||||
|
BR2_TARGET_GENERIC_HOSTNAME="airplaypi"
|
||||||
|
BR2_INIT_SYSTEMD=y
|
||||||
|
BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_AIMEEOS_PATH)/board/raspberrypi3/post-image.sh"
|
||||||
|
BR2_LINUX_KERNEL=y
|
||||||
|
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||||
|
BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
|
||||||
|
BR2_LINUX_KERNEL_ZSTD=y
|
||||||
|
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||||
|
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2710-rpi-cm3"
|
||||||
|
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||||
|
# BR2_PACKAGE_BUSYBOX is not set
|
||||||
|
BR2_PACKAGE_XZ=y
|
||||||
|
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||||
|
BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
|
||||||
|
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
|
||||||
|
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL_AIMEEOS_PATH)/board/raspberrypi3/config.txt"
|
||||||
|
BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="$(BR2_EXTERNAL_AIMEEOS_PATH)/board/raspberrypi3/cmdline.txt"
|
||||||
|
# BR2_TARGET_ROOTFS_TAR is not set
|
||||||
|
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b"
|
||||||
|
BR2_PACKAGE_HOST_KMOD_XZ=y
|
||||||
|
AIMEEOS=y
|
||||||
|
AIMEEOS_RPI=y
|
|
@ -0,0 +1,77 @@
|
||||||
|
pipeline {
|
||||||
|
parameters {
|
||||||
|
booleanParam 'CLEAN_BUILD'
|
||||||
|
string 'CUSTOM_TARGET'
|
||||||
|
}
|
||||||
|
|
||||||
|
options {
|
||||||
|
disableConcurrentBuilds()
|
||||||
|
}
|
||||||
|
|
||||||
|
agent {
|
||||||
|
kubernetes {
|
||||||
|
yamlFile 'ci/podTemplate.yaml'
|
||||||
|
yamlMergeStrategy merge()
|
||||||
|
workspaceVolume persistentVolumeClaimWorkspaceVolume(
|
||||||
|
claimName: 'buildroot-airplaypi'
|
||||||
|
)
|
||||||
|
defaultContainer 'build'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
environment {
|
||||||
|
BR2_CCACHE_DIR = "${env.JENKINS_AGENT_WORKDIR}/br2-ccache"
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage('Clean') {
|
||||||
|
when {
|
||||||
|
expression {
|
||||||
|
return params.CLEAN_BUILD
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh 'git clean -fdx'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Prepare') {
|
||||||
|
steps {
|
||||||
|
container('jnlp') {
|
||||||
|
sh 'if [ ! -d buildroot ]; then git clone https://gitlab.com/buildroot.org/buildroot.git -b 2025.05.x --depth 1; else git -C buildroot pull; fi'
|
||||||
|
sh 'if [ ! -d aimee-os ]; then git clone https://git.pyrocufflink.net/AimeeOS/aimee-os.git --depth 1; else git -C aimee-os pull; fi'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Build') {
|
||||||
|
steps {
|
||||||
|
sh '{ cat airplaypi_defconfig.in ; grep BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION buildroot/configs/raspberrypi3_defconfig; } > airplaypi_defconfig'
|
||||||
|
sh 'make -C buildroot O="${PWD}"/_build BR2_EXTERNAL="${PWD}/aimee-os" defconfig BR2_DEFCONFIG="${PWD}"/airplaypi_defconfig'
|
||||||
|
script {
|
||||||
|
if (params.CUSTOM_TARGET) {
|
||||||
|
sh "make -C _build '${CUSTOM_TARGET}'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sh 'make -C _build'
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
success {
|
||||||
|
dir('_build') {
|
||||||
|
archiveArtifacts('.config')
|
||||||
|
}
|
||||||
|
dir('_build/images') {
|
||||||
|
sh 'zstd -f firmware.img'
|
||||||
|
sh 'zstd -f sdcard.img'
|
||||||
|
archiveArtifacts([
|
||||||
|
'firmware.img.zst',
|
||||||
|
'rootfs.squashfs',
|
||||||
|
'sdcard.img.zst',
|
||||||
|
'update.tar.zstd',
|
||||||
|
].join(','))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: build
|
||||||
|
image: git.pyrocufflink.net/containerimages/buildroot
|
||||||
|
resources:
|
||||||
|
limits: &resources
|
||||||
|
cpu: 6
|
||||||
|
memory: 12Gi
|
||||||
|
requests: *resources
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /etc/ssh/ssh_known_hosts
|
||||||
|
name: ssh-known-hosts
|
||||||
|
subPath: ssh_known_hosts
|
||||||
|
securityContext:
|
||||||
|
fsGroupChangePolicy: OnRootMismatch
|
||||||
|
volumes:
|
||||||
|
- name: ssh-known-hosts
|
||||||
|
configMap:
|
||||||
|
name: ssh-known-hosts
|
Loading…
Reference in New Issue