From 6ac94d61144a2848476ef2ca5994c723cd987750 Mon Sep 17 00:00:00 2001 From: Lee Miller Date: Fri, 17 Nov 2023 06:28:32 +0200 Subject: [PATCH] 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))