Try to build a special package and copy the vmlinux, build as a side effect

This commit is contained in:
Lee Miller 2023-11-17 06:28:32 +02:00
parent f060aef9c5
commit eb998042f1
Signed by: lee.miller
GPG Key ID: 4F97A5EA88F4AB63
2 changed files with 80 additions and 3 deletions

View File

@ -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

View File

@ -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)