Commit d248cabf authored by Willy Tarreau's avatar Willy Tarreau Committed by Paul E. McKenney
Browse files

selftests/nolibc: add a "kernel" target to build the kernel with the initramfs



The "kernel" target rebuilds the kernel with the current config for the
selected arch, with an initramfs containing the nolibc-test utility.

Since image names depend on the architecture, the currently supported
ones are referenced and resolved based on the architecture.

Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent 1da02f51
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -12,6 +12,16 @@ include $(srctree)/scripts/subarch.include
ARCH = $(SUBARCH)
endif

# kernel image names by architecture
IMAGE_i386    = arch/x86/boot/bzImage
IMAGE_x86     = arch/x86/boot/bzImage
IMAGE_arm64   = arch/arm64/boot/Image
IMAGE_arm     = arch/arm/boot/zImage
IMAGE_mips    = vmlinuz
IMAGE_riscv   = arch/riscv/boot/Image
IMAGE         = $(IMAGE_$(ARCH))
IMAGE_NAME    = $(notdir $(IMAGE))

# OUTPUT is only set when run from the main makefile, otherwise
# it defaults to this nolibc directory.
OUTPUT ?= $(CURDIR)/
@@ -36,6 +46,9 @@ initramfs: nolibc-test
	$(call QUIET_INSTALL, initramfs/init)
	$(Q)cp nolibc-test initramfs/init

kernel: initramfs
	$(Q)$(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) $(IMAGE_NAME) CONFIG_INITRAMFS_SOURCE=$(CURDIR)/initramfs

clean:
	$(call QUIET_CLEAN, nolibc-test)
	$(Q)rm -f nolibc-test