Update Linux kernel configuration & patches

This updates the Linux kernel configuration, removing irrelevant
networking-related components, and switching framebuffer drivers to
the DRM-based ones. With this, we can finally bootstrap on systems
with newer NVIDIA cards, which would green screen with the nvidiafb
driver.

KVM is still disabled, see #443 - VIRTUALIZATION is also disabled,
as it's useless without KVM or any other suboption being enabled.

Additionally, we can now drop the bad-asm patch, since our newer
binutils has no problem supporting that syntax, and it doesn't look
quite innocuous to me, removing an offset from a memory access.

The kernel is now built in 2 stages: first, we build vmlinux only,
then, after cleaning up any intermediate .o files (except the ones
needed to build efistub), we convert it to a bzImage. This required
some creative use of the -o option to convince Make not to rebuild
all of the .o files we've just deleted as dependencies.
This commit is contained in:
Gábor Stefanik 2024-02-18 17:34:12 +01:00
parent ee3ab501da
commit 60ec9ea80c
4 changed files with 65 additions and 194 deletions

View file

@ -1,5 +1,6 @@
# SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space>
# SPDX-FileCopyrightText: 2022 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2024 Gábor Stefanik <netrolller.3d@gmail.com>
#
# SPDX-License-Identifier: GPL-3.0-or-later
@ -43,10 +44,19 @@ src_compile() {
# Allow use of patched initramfs_list.sh (which is required anyway)
make "${MAKEJOBS}" ARCH=i386 prepare
PATH="${PWD}/usr:${PATH}" make "${MAKEJOBS}" ARCH=i386
# Build just the vmlinux, because a full build will not fit our ramdisk
PATH="${PWD}/usr:${PATH}" make "${MAKEJOBS}" ARCH=i386 vmlinux
# Clear up more space
find . -name '*.o' -not -path './drivers/firmware/efi/libstub/*' -delete
# Now that we have space, build bzImage, taking care not to rebuild what we've just deleted
PATH="${PWD}/usr:${PATH}" make "${MAKEJOBS}" ARCH=i386 -o vmlinux bzImage
# Clear up one more time
find . -name '*.o' -delete
rm vmlinux
}
src_install() {