80 lines
2.6 KiB
YAML
80 lines
2.6 KiB
YAML
---
|
|
apiVersion: tekton.dev/v1beta1
|
|
kind: Task
|
|
metadata:
|
|
name: build-kernel-riotboard
|
|
spec:
|
|
params:
|
|
- name: pathToContext
|
|
type: string
|
|
description: |
|
|
Path to where we build our kernel, usually /usr/src/...
|
|
default: /usr/src
|
|
resources:
|
|
inputs:
|
|
- name: kernel-configs
|
|
type: git
|
|
steps:
|
|
- name: install-kernel-source
|
|
image: cr.lan/debian-kernel-build-stable
|
|
script: |
|
|
#!/usr/bin/env bash
|
|
echo 'deb-src http://apt-cache.lan/deb.debian.org/debian testing main' > /etc/apt/sources.list.d/src-testing.list
|
|
echo 'deb http://apt-cache.lan/deb.debian.org/debian testing main' > /etc/apt/sources.list.d/testing.list
|
|
apt update -y
|
|
apt install -y $(apt-cache search linux-source |awk '{print $1}' |tail -1)
|
|
- name: unpack-kernel-source
|
|
image: cr.lan/debian-kernel-build-stable
|
|
script: |
|
|
#!/usr/bin/env bash
|
|
[ -d /usr/src/linux-source-5.10 ] && exit 0
|
|
echo "Unpackfrom-sourceing /usr/src/linux-source*xz ... takes a while."
|
|
tar -C /usr/src -xvf /usr/src/linux-source*xz
|
|
- name: build-kernel-riotboard
|
|
image: cr.lan/debian-kernel-build-stable
|
|
script: |
|
|
#!/usr/bin/env bash
|
|
export VER=5.10
|
|
echo "res.input.ke...path: $(resources.inputs.kernel-configs.path)"
|
|
echo $PATH
|
|
cp $(resources.inputs.kernel-configs.path)/pine64-armbain /usr/src/linux-source-${VER}/.config
|
|
cd /usr/src/linux-source-${VER}
|
|
#distcc config
|
|
echo "localhost/1,cpp,lzo --randomize distcc-0.distcc,cpp,lzo distcc-1.distcc,cpp,lzo distcc-2.distcc,cpp,lzo distcc-3.distcc,cpp,lzo" >/etc/distcc/hosts
|
|
export CC=distcc GCC=distcc CPP=distcc
|
|
echo "ALL DISTCC HOSTS"
|
|
distcc --show-hosts
|
|
echo "/ALL DISTCC HOSTS"
|
|
make ARCH=arm KBUILD_DEBARCH=armhf CROSS_COMPILE=arm-linux-gnueabihf- \
|
|
-j4 bindeb-pkg LOCALVERSION=-riot2
|
|
- name: cleanup-workspace-post
|
|
image: alpine
|
|
command:
|
|
- rm
|
|
args:
|
|
- -rfv
|
|
- /workspace/kernel-configs*
|
|
workspaces:
|
|
- name: usr-src
|
|
mountPath: /usr/src
|
|
# - name: workspace
|
|
# mountPath: /workspace
|
|
---
|
|
apiVersion: tekton.dev/v1beta1
|
|
kind: TaskRun
|
|
metadata:
|
|
name: build-kernel-riotboard
|
|
spec:
|
|
#serviceAccountName: dockerhub-service
|
|
taskRef:
|
|
name: build-kernel-riotboard
|
|
resources:
|
|
inputs:
|
|
- name: kernel-configs
|
|
resourceRef:
|
|
name: debian-kernel-build-git
|
|
workspaces:
|
|
- name: usr-src
|
|
persistentVolumeClaim:
|
|
claimName: tektoncd-workspaces
|
|
subPath: usr_src |