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

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

View File

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

View File

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