From a7223ef3433cf358e172b431e597fe04df66ecc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= Date: Sun, 9 Nov 2025 03:03:55 -0500 Subject: [PATCH] base: Add Linstor drbd-dkms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The proxmox-9 repository is needed to grab drbd-dkms while the trixie repository provides the remaining binaries. proxmox-9 is amd64-only but the only package we need from it is arch-all, so that still works for us. The trixie repository supports both architectures. Signed-off-by: Stéphane Graber --- mkosi.conf | 1 + .../base/mkosi.conf.d/01-kernel-drbd.conf | 3 ++ .../base/mkosi.conf.d/01-kernel-drbd.sh | 51 +++++++++++++++++++ mkosi.sandbox/etc/apt/keyrings/linbit.asc | 29 +++++++++++ .../apt/sources.list.d/linbit-drbd9.sources | 7 +++ .../apt/sources.list.d/linbit-linstor.sources | 6 +++ 6 files changed, 97 insertions(+) create mode 100644 mkosi.images/base/mkosi.conf.d/01-kernel-drbd.conf create mode 100755 mkosi.images/base/mkosi.conf.d/01-kernel-drbd.sh create mode 100644 mkosi.sandbox/etc/apt/keyrings/linbit.asc create mode 100644 mkosi.sandbox/etc/apt/sources.list.d/linbit-drbd9.sources create mode 100644 mkosi.sandbox/etc/apt/sources.list.d/linbit-linstor.sources diff --git a/mkosi.conf b/mkosi.conf index 0e1369b..2cd2804 100644 --- a/mkosi.conf +++ b/mkosi.conf @@ -4,6 +4,7 @@ ToolsTreeRelease=trixie History=yes ToolsTree=default CacheDirectory=mkosi.cache +WithNetwork=true [Output] ImageId=IncusOS diff --git a/mkosi.images/base/mkosi.conf.d/01-kernel-drbd.conf b/mkosi.images/base/mkosi.conf.d/01-kernel-drbd.conf new file mode 100644 index 0000000..08476b3 --- /dev/null +++ b/mkosi.images/base/mkosi.conf.d/01-kernel-drbd.conf @@ -0,0 +1,3 @@ +[Content] +BuildPackages=coccinelle +BuildScripts=mkosi.conf.d/01-kernel-drbd.sh diff --git a/mkosi.images/base/mkosi.conf.d/01-kernel-drbd.sh b/mkosi.images/base/mkosi.conf.d/01-kernel-drbd.sh new file mode 100755 index 0000000..c3aee57 --- /dev/null +++ b/mkosi.images/base/mkosi.conf.d/01-kernel-drbd.sh @@ -0,0 +1,51 @@ +#!/bin/sh +KERNEL="$(ls /buildroot/usr/lib/modules/)" + +# Install the drbd sources +mkdir -p /run/lock +apt-get install --no-install-recommends --yes drbd-dkms || true + +# Patch the module source +cp "/buildroot/boot/config-${KERNEL}" "/buildroot/usr/src/linux-headers-${KERNEL}/.config" +cd /buildroot/usr/src/drbd-*/src/ || exit 1 +( +cat << EOF +ZGlmZiAtLWdpdCBhL2RyYmQvS2J1aWxkLmRyYmQgYi9kcmJkL0tidWlsZC5kcmJkCmluZGV4IDU5 +MGQ2ZDJmMi4uODU3ZDg5ZjYxIDEwMDY0NAotLS0gYS9kcmJkL0tidWlsZC5kcmJkCisrKyBiL2Ry +YmQvS2J1aWxkLmRyYmQKQEAgLTQ5LDEzICs0OSw4IEBAIG9iai0kKGlmICQoQ09ORklHX0lORklO +SUJBTkQpLG0pICs9IGRyYmRfdHJhbnNwb3J0X3JkbWEubwogb2JqLSQoQ09NUEFUX05FVF9IQU5E +U0hBS0UpICAgICAgKz0gZHJiZC1rZXJuZWwtY29tcGF0L2hhbmRzaGFrZS8KICMgPT09PT09PT09 +PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog +Ci1pZmRlZiBDT05GSUdfREVWX0RBWF9QTUVNCi1pZm5lcSAoJChzaGVsbCBncmVwIC1lICdcPGFy +Y2hfd2JfY2FjaGVfcG1lbVw+JyAkKG9ianRyZWUpL01vZHVsZS5zeW12ZXJzIHwgd2MgLWwpLDEp +Ci1vdmVycmlkZSBFWFRSQV9DRkxBR1MgKz0gLUREQVhfUE1FTV9JU19JTkNPTVBMRVRFCi1lbHNl +Ci1DT05GSUdfRFJCRF9EQVggOj0geQotZW5kaWYKLWVuZGlmCitDT05GSUdfREVWX0RBWF9QTUVN +IDo9IG4KK0NPTkZJR19EUkJEX0RBWCA6PSBuCiAKICMgZW5hYmxlIGZhdWx0IGluamVjdGlvbiBi +eSBkZWZhdWx0CiBpZm5kZWYgQ09ORklHX0RSQkRfRkFVTFRfSU5KRUNUSU9OCmRpZmYgLS1naXQg +YS9kcmJkL2RyYmRfYWN0bG9nLmMgYi9kcmJkL2RyYmRfYWN0bG9nLmMKaW5kZXggM2M3ZjEzM2Ix +Li45NWI4NWRlN2MgMTAwNjQ0Ci0tLSBhL2RyYmQvZHJiZF9hY3Rsb2cuYworKysgYi9kcmJkL2Ry +YmRfYWN0bG9nLmMKQEAgLTIwMyw3ICsyMDMsNyBAQCBzdHJ1Y3QgbGNfZWxlbWVudCAqX2FsX2dl +dF9ub25ibG9jayhzdHJ1Y3QgZHJiZF9kZXZpY2UgKmRldmljZSwgdW5zaWduZWQgaW50IGVucgog +CXJldHVybiBhbF9leHQ7CiB9CiAKLSNpZiBJU19FTkFCTEVEKENPTkZJR19ERVZfREFYX1BNRU0p +ICYmICFkZWZpbmVkKERBWF9QTUVNX0lTX0lOQ09NUExFVEUpCisjaWYgMAogc3RhdGljCiBzdHJ1 +Y3QgbGNfZWxlbWVudCAqX2FsX2dldChzdHJ1Y3QgZHJiZF9kZXZpY2UgKmRldmljZSwgdW5zaWdu +ZWQgaW50IGVucikKIHsKZGlmZiAtLWdpdCBhL2RyYmQvZHJiZF9kYXhfcG1lbS5oIGIvZHJiZC9k +cmJkX2RheF9wbWVtLmgKaW5kZXggOTkyY2IyY2ExLi5lNTEwYjA1NzQgMTAwNjQ0Ci0tLSBhL2Ry +YmQvZHJiZF9kYXhfcG1lbS5oCisrKyBiL2RyYmQvZHJiZF9kYXhfcG1lbS5oCkBAIC00LDcgKzQs +NyBAQAogCiAjaW5jbHVkZSA8bGludXgva2NvbmZpZy5oPgogCi0jaWYgSVNfRU5BQkxFRChDT05G +SUdfREVWX0RBWF9QTUVNKSAmJiAhZGVmaW5lZChEQVhfUE1FTV9JU19JTkNPTVBMRVRFKQorI2lm +IDAKIAogaW50IGRyYmRfZGF4X29wZW4oc3RydWN0IGRyYmRfYmFja2luZ19kZXYgKmJkZXYpOwog +dm9pZCBkcmJkX2RheF9jbG9zZShzdHJ1Y3QgZHJiZF9iYWNraW5nX2RldiAqYmRldik7Cg== +EOF +) | base64 -d | patch -p1 + +# Build the patched module +apt-get install --no-install-recommends --yes drbd-dkms + +# Sign the module +mkdir -p "${DESTDIR}/usr/lib/modules/${KERNEL}/updates/dkms/" + +"/buildroot/usr/src/linux-headers-${KERNEL}/scripts/sign-file" \ + sha256 /work/src/mkosi.key /work/src/mkosi.crt \ + "/buildroot/usr/lib/modules/${KERNEL}/updates/dkms/drbd.ko" \ + "${DESTDIR}/usr/lib/modules/${KERNEL}/updates/dkms/drbd.ko" diff --git a/mkosi.sandbox/etc/apt/keyrings/linbit.asc b/mkosi.sandbox/etc/apt/keyrings/linbit.asc new file mode 100644 index 0000000..4727c2b --- /dev/null +++ b/mkosi.sandbox/etc/apt/keyrings/linbit.asc @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBGZsIboBEADLvvRG52QXsGL7d33xOYQzxjriCdLsXTnBhsC/bQc4dpQBfAp7 +FEYhp93NcrwwPXLp5thYHfg3RF/O5pbyvpAnKZJt0rXMEvwy2K3JVJL7ddYs4cU6 +I4m1n6W+YYQydEeMmZUFc77DNwQ74Dw3Xx/natz1dK2Y9S0pyBPb2ZMtWwDMuDpV +P/Y/W/wuDMWusbtSjVb+4TXJy046vPBobzi2jtQyaPJFfqwRiYqJYrQmsnns7L3F +ksd63Y4veqK9rvNiYDVXZNsXja0An59rUdwhMlHj/wJWhr23SnSbcQv3hkvY/I19 +YT5FD9Y9srmRG2tIiQbK2rAjLqjKNGvYINRBlwnLDCCnoiCLJTahi2CT90aOr0Ae +7QKITi9cpDZJO+/vaLw7JnHEmhpt5W1WySFtSgSQWIYdkhF2Rx1aOkQwT/Ig6rDV +tkA8CjJ4ACMYXAx+zh+pxIRg2JNkLoGdl7pc/+5f4VV9iup3VW5U9MoC3KzZBDGJ +/DNF9x/1Rkf/H7tP3pYU3UmaPOCMvOx3zuwo1qqEUT9pKxybZo+lOPdNVgZbAuKY +C2jJa3Mv64IqyBds9tfZY8Sj+pbhfSvgTSmXR0WARXPS3po1PjUicnrStc+cWfEY +g7vh4Wn2EsExlgmdARvDl1TgENQCLshTI2jTIPu9XXUZlDVltGJZuGem4wARAQAB +tClMSU5CSVQgUGFja2FnZSBhbmQgUmVwb3NpdG9yeSBTaWduaW5nIEtleYkCTgQT +AQoAOBYhBE5ThVRnJtE8tkmHLPwFox24Jv5IBQJmbCG6AhsDBQsJCAcCBhUKCQgL +AgQWAgMBAh4BAheAAAoJEPwFox24Jv5IaTIP/0qHRPuK0cKPsMEw7Bx+y9liST9y +XC6xEbcWEPm9qkjW73/ZdTLRKI4Ty9UGH7Q0zQ1otUdGYOolidtDAYKS2V3++PwQ +mbESJJiKOeKs1rjXeEBUr0usyhsL3P4/hFLCMf1ctgZNWklanu/N/aMQVjTQoYJu +rDCxq1y58/3hAyrWQ2kITHjVvpP5cXqXpDlwiLKy+oYNxvUdE6FUzNbuQ6htzWyQ +ugmMyjjqjlfD6gC7OqDcXk9eUf7AHbgf5+UQ+RbjMZ+YBoH9gihL/1TI1Ith50NX +5cVRMyscZ9inWFK8Fw2ubD8ZifmIQfrMZJMW0iajgJhX0GAqczl54Ihb08EODeRO +82oOgoeIJ7H14y2WfYA7Pb2Zap6WLrvA+k3arsr94aSDGutpThTBABR9F7F3fOLo +8dlv+jGXnsHtTeU9qh2+ZifyPZ3BVukyizoQk+TDxOavqNryQc7zLpwKsGymRJjP +M3ODV1fUVm6hLgPSMJP0tLakvK76+o/RCr5z5gCUyxjnnV0pbkYLhhE7FtLeSoPb +rxmNRzSFfdXk2uD1idlh54559JdSSh/HzqdZ1biizLs+xJK8JZPZI+3F/whVylwU +iwOhLRojCowfN2DhiiAencH0fsjgec3PT51bdCU6agvH8f6l1ivAuRb1RGT9WGpo +Xe+WxMjgfi4lbTsF +=SQ0K +-----END PGP PUBLIC KEY BLOCK----- diff --git a/mkosi.sandbox/etc/apt/sources.list.d/linbit-drbd9.sources b/mkosi.sandbox/etc/apt/sources.list.d/linbit-drbd9.sources new file mode 100644 index 0000000..832681b --- /dev/null +++ b/mkosi.sandbox/etc/apt/sources.list.d/linbit-drbd9.sources @@ -0,0 +1,7 @@ +Enabled: yes +Types: deb +URIs: http://packages.linbit.com/public +Suites: proxmox-9 +Architectures: amd64 +Components: drbd-9 +Signed-By: /etc/apt/keyrings/linbit.asc diff --git a/mkosi.sandbox/etc/apt/sources.list.d/linbit-linstor.sources b/mkosi.sandbox/etc/apt/sources.list.d/linbit-linstor.sources new file mode 100644 index 0000000..d50a06f --- /dev/null +++ b/mkosi.sandbox/etc/apt/sources.list.d/linbit-linstor.sources @@ -0,0 +1,6 @@ +Enabled: yes +Types: deb +URIs: http://packages.linbit.com/public +Suites: trixie +Components: misc +Signed-By: /etc/apt/keyrings/linbit.asc