diff --git a/.buildbot/openwrt/build.sh b/.buildbot/openwrt/build.sh index 2647d2e..4ccf538 100755 --- a/.buildbot/openwrt/build.sh +++ b/.buildbot/openwrt/build.sh @@ -41,7 +41,7 @@ make defconfig echo "CONFIG_PACKAGE_COLLECTD_ENCRYPTED_NETWORK=y" >> .config make package/i2c-tools/compile -make package/kmod-nvme/compile +make package/kernel-custom/compile make package/kmod-i2c-mux-pinctrl/compile make package/kmod-rtc-pcf85063/compile make package/nvme-cli/compile @@ -111,7 +111,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 @@ -149,10 +150,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}/${KERNELSOURCE}/vmlinux ${KERNELDIR}/ + 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..1f5d8f1 --- /dev/null +++ b/feed/kernel-custom/Makefile @@ -0,0 +1,74 @@ +# +# 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 + +ifeq ($(DUMP),) + STAMP_BUILT:=$(STAMP_BUILT)_$(shell $(SCRIPT_DIR)/kconfig.pl $(LINUX_DIR)/.config | $(MKHASH) md5) + -include $(LINUX_DIR)/.config +endif + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(call Kernel/Prepare) +endef + +define Build/Configure + $(call Kernel/Configure) +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/kernel/install + # nothing to do +endef + +define Package/kernel/extra_provides + sed -e 's,.*/,,' $(LINUX_DIR)/modules.builtin; +endef + +$(eval $(if $(DUMP),,$(call BuildPackage,$(PKG_NAME)))) + +include $(sort $(wildcard ./modules/*.mk)) +-include $(SUBTARGET_MODULES)