From 387dfc6233365b032a06103560601dc362bdd419 Mon Sep 17 00:00:00 2001 From: Lee Miller Date: Sun, 18 Jun 2023 18:57:55 +0300 Subject: [PATCH 1/5] Edit the kernel config template - add HWMON and NVME --- .buildbot/openwrt/build.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.buildbot/openwrt/build.sh b/.buildbot/openwrt/build.sh index 566cf0e..9d02108 100755 --- a/.buildbot/openwrt/build.sh +++ b/.buildbot/openwrt/build.sh @@ -29,6 +29,14 @@ sed -i "s/\(packages.git\)\^.*/\1;openwrt-22.03/g" feeds.conf ./scripts/feeds update -a ./scripts/feeds install -a +cat << "EOF" >> target/linux/${OPENWRT_TARGET}/${OPENWRT_DEVICE}/config-5.10 +CONFIG_HWMON=y +CONFIG_NVME_CORE=y +CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_HWMON=y +CONFIG_NVME_MULTIPATH=n +EOF + make defconfig # Enable collectd network encryption echo "CONFIG_PACKAGE_COLLECTD_ENCRYPTED_NETWORK=y" >> .config -- 2.45.1 From 6ac94d61144a2848476ef2ca5994c723cd987750 Mon Sep 17 00:00:00 2001 From: Lee Miller Date: Fri, 17 Nov 2023 06:28:32 +0200 Subject: [PATCH 2/5] Try to build a special package and copy the vmlinux, built as a side effect --- .buildbot/openwrt/build.sh | 8 +++-- feed/kernel-custom/Makefile | 69 +++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 feed/kernel-custom/Makefile diff --git a/.buildbot/openwrt/build.sh b/.buildbot/openwrt/build.sh index 9d02108..46018db 100755 --- a/.buildbot/openwrt/build.sh +++ b/.buildbot/openwrt/build.sh @@ -49,6 +49,7 @@ make package/nvme-cli/compile make package/ansible-core/compile ${MAKE} package/asterisk-chan-quectel/compile ${MAKE} package/collectd/compile +${MAKE} package/kernel-custom/compile sdkdir=$(pwd) cd ${pwd} @@ -112,7 +113,8 @@ PACKAGES="kmod-i2c-bcm2835 kmod-i2c-mux kmod-i2c-mux-pinctrl \ BOOTSOURCE=target/linux/${OPENWRT_TARGET}/image BOOTCONFIG=${BOOTSOURCE}/config.txt -KERNELSOURCE=build_dir/target-${PKG_ARCH}_musl/linux-${OPENWRT_TARGET}_${OPENWRT_DEVICE}/linux-5.10.146 +KERNELDIR=build_dir/target-${PKG_ARCH}_musl/linux-${OPENWRT_TARGET}_${OPENWRT_DEVICE} +KERNELSOURCE=${KERNELDIR}/linux-5.10.146 OVERLAYSOURCE=${KERNELSOURCE}/arch/arm64/boot/dts/overlays # Setup files @@ -150,10 +152,12 @@ make image PROFILE=${PROFILE} EXTRA_IMAGE_NAME="dualeth" \ sed -i "s|,i2c_csi_dsi||g" ${BOOTSOURCE}/current.txt sed -i "s/CONFIG_TARGET_ROOTFS_PARTSIZE=.*/CONFIG_TARGET_ROOTFS_PARTSIZE=768/g" .config +cp ${sdkdir}/${KERNELDIR}/vmlinux ${KERNELDIR}/${PROFILE}-kernel.bin + make image PROFILE=${PROFILE} EXTRA_IMAGE_NAME="waveshare" \ PACKAGES=" \ ${PACKAGES} cryptsetup kmod-ata-ahci smartmontools hdparm fdisk parted \ - kmod-hwmon-drivetemp btrfs-progs kmod-fs-btrfs kmod-nvme nvme-cli \ + kmod-hwmon-drivetemp btrfs-progs kmod-fs-btrfs nvme-cli \ docker dockerd docker-compose block-mount" \ DISABLED_SERVICES="dropbear" FILES="files" || exit 1 diff --git a/feed/kernel-custom/Makefile b/feed/kernel-custom/Makefile new file mode 100644 index 0000000..fa7595d --- /dev/null +++ b/feed/kernel-custom/Makefile @@ -0,0 +1,69 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=kernel-custom +PKG_FLAGS:=hold + +PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/packages +SUBTARGETS = $(sort $(filter-out feeds,$(notdir $(wildcard $(TOPDIR)/target/linux/* $(TOPDIR)/target/linux/feeds/*)))) +SUBTARGET_MODULES = $(foreach t,$(SUBTARGETS),$(firstword $(wildcard $(TOPDIR)/target/linux/feeds/$(t)/modules.mk $(TOPDIR)/target/linux/$(t)/modules.mk))) +SCAN_DEPS=modules/*.mk $(SUBTARGET_MODULES) $(TOPDIR)/include/netfilter.mk + +PKG_LICENSE:=GPL-2.0 +PKG_LICENSE_FILES:= + +export SHELL:=/bin/sh +.ONESHELL: +.SHELLFLAGS = -ec + +TARGET_BUILD:=1 + +include $(INCLUDE_DIR)/kernel-build.mk +include $(INCLUDE_DIR)/package.mk + +define Build/Prepare +endef + +define Build/Configure +endef + +define Kernel/CompileModules + $(call Kernel/CompileImage) +endef + +define Build/Compile + $(call BuildKernel) +endef + +define KernelPackage/depends +endef + +CONFIG_PACKAGE_kernel=y +define Package/$(PKG_NAME) + SECTION:=sys + CATEGORY:=Kernel + DEFAULT:=y + TITLE:=Virtual kernel package + VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC) + URL:=http://www.kernel.org/ + PKG_FLAGS:=nonshared +endef + +define Package/$(PKG_NAME)/install + # nothing to do +endef + +define Package/$(PKG_NAME)/extra_provides + sed -e 's,.*/,,' $(LINUX_DIR)/modules.builtin; +endef + +$(eval $(if $(DUMP),,$(call BuildPackage,$(PKG_NAME)))) + +include $(sort $(wildcard ./modules/*.mk)) -- 2.45.1 From 1cd7236dc3e94d144bd9995ed7eb6e93c09c1a56 Mon Sep 17 00:00:00 2001 From: Lee Miller Date: Tue, 21 Nov 2023 20:12:26 +0200 Subject: [PATCH 3/5] Increase the verbosity for kernel-custom build --- .buildbot/openwrt/build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.buildbot/openwrt/build.sh b/.buildbot/openwrt/build.sh index 46018db..72ef9a4 100755 --- a/.buildbot/openwrt/build.sh +++ b/.buildbot/openwrt/build.sh @@ -49,7 +49,8 @@ make package/nvme-cli/compile make package/ansible-core/compile ${MAKE} package/asterisk-chan-quectel/compile ${MAKE} package/collectd/compile -${MAKE} package/kernel-custom/compile +# FIXME: need to extend the regexp for errors +${MAKE} V=s package/kernel-custom/compile 2>&1 | grep '^make' sdkdir=$(pwd) cd ${pwd} -- 2.45.1 From 004e4a30d0ab7b7bb65e61d3c47952fa1eac3441 Mon Sep 17 00:00:00 2001 From: Lee Miller Date: Mon, 27 Nov 2023 00:01:58 +0200 Subject: [PATCH 4/5] Trying to fix the kernel config: remove hwmon settings for now --- .buildbot/openwrt/build.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.buildbot/openwrt/build.sh b/.buildbot/openwrt/build.sh index 72ef9a4..3a258d8 100755 --- a/.buildbot/openwrt/build.sh +++ b/.buildbot/openwrt/build.sh @@ -30,13 +30,15 @@ sed -i "s/\(packages.git\)\^.*/\1;openwrt-22.03/g" feeds.conf ./scripts/feeds install -a cat << "EOF" >> target/linux/${OPENWRT_TARGET}/${OPENWRT_DEVICE}/config-5.10 -CONFIG_HWMON=y CONFIG_NVME_CORE=y CONFIG_BLK_DEV_NVME=y -CONFIG_NVME_HWMON=y -CONFIG_NVME_MULTIPATH=n EOF +# CONFIG_HWMON=y +# CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_THERMAL_HWMON=y +# CONFIG_NVME_HWMON=y + make defconfig # Enable collectd network encryption echo "CONFIG_PACKAGE_COLLECTD_ENCRYPTED_NETWORK=y" >> .config -- 2.45.1 From e533892391fd38b16cdd65462cd1ccd2347e1c00 Mon Sep 17 00:00:00 2001 From: Lee Miller Date: Wed, 29 Nov 2023 01:30:00 +0200 Subject: [PATCH 5/5] Try with HWMON but without NVME --- .buildbot/openwrt/build.sh | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.buildbot/openwrt/build.sh b/.buildbot/openwrt/build.sh index 3a258d8..d52fed7 100755 --- a/.buildbot/openwrt/build.sh +++ b/.buildbot/openwrt/build.sh @@ -30,15 +30,12 @@ sed -i "s/\(packages.git\)\^.*/\1;openwrt-22.03/g" feeds.conf ./scripts/feeds install -a cat << "EOF" >> target/linux/${OPENWRT_TARGET}/${OPENWRT_DEVICE}/config-5.10 -CONFIG_NVME_CORE=y -CONFIG_BLK_DEV_NVME=y +CONFIG_HWMON=y +CONFIG_POWER_SUPPLY_HWMON=y +CONFIG_THERMAL_HWMON=y +CONFIG_NVME_HWMON=y EOF -# CONFIG_HWMON=y -# CONFIG_POWER_SUPPLY_HWMON=y -# CONFIG_THERMAL_HWMON=y -# CONFIG_NVME_HWMON=y - make defconfig # Enable collectd network encryption echo "CONFIG_PACKAGE_COLLECTD_ENCRYPTED_NETWORK=y" >> .config @@ -155,7 +152,7 @@ make image PROFILE=${PROFILE} EXTRA_IMAGE_NAME="dualeth" \ sed -i "s|,i2c_csi_dsi||g" ${BOOTSOURCE}/current.txt sed -i "s/CONFIG_TARGET_ROOTFS_PARTSIZE=.*/CONFIG_TARGET_ROOTFS_PARTSIZE=768/g" .config -cp ${sdkdir}/${KERNELDIR}/vmlinux ${KERNELDIR}/${PROFILE}-kernel.bin +cp ${sdkdir}/${KERNELDIR}/vmlinux ${KERNELDIR}/${PROFILE}-kernel.bin || exit 1 make image PROFILE=${PROFILE} EXTRA_IMAGE_NAME="waveshare" \ PACKAGES=" \ -- 2.45.1