Search notes:

vmlinux.o

vmlinux.o is created when the kernel is made. In an x64 architecture, the commands to create vmlinux.o (version 6.5) is a variation of:
ld -m elf_x86_64 -z noexecstack -r -o vmlinux.o  --whole-archive vmlinux.a --no-whole-archive --start-group  --end-group
./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --ibt --orc --retpoline --rethunk --static-call --uaccess --prefix=16 --link vmlinux.o
vmlinux.o is a requisite for vmlinux and .vmlinux.export.c.

See also

Linux kernel source tree

Index