heads/modules/linux

318 lines
12 KiB
Makefile
Raw Normal View History

modules-y += linux
ifeq "$(CONFIG_TARGET_ARCH)" "x86"
LINUX_ARCH := x86
LINUX_IMAGE_FILE := bzImage
else ifeq "$(CONFIG_TARGET_ARCH)" "ppc64"
LINUX_ARCH := powerpc
LINUX_IMAGE_FILE := zImage
else
$(error "$(CONFIG_TARGET_ARCH) target isn't supported by this module")
endif
ifeq "$(CONFIG_LINUX_VERSION)" "4.14.62"
linux_version := 4.14.62
linux_hash := 51ca4d7e8ee156dc0f19bc7768915cfae41dbb0b4f251e4fa8b178c5674c22ab
else ifeq "$(CONFIG_LINUX_VERSION)" "4.19.139"
linux_version := 4.19.139
linux_hash := 9c4ebf21fe949f80fbcfbbd6e7fe181040d325e89475e230ab53ef01f9d55605
else ifeq "$(CONFIG_LINUX_VERSION)" "5.4.69"
linux_version := 5.4.69
linux_hash := a8b31d716b397303a183e42ad525ff2871024a43e3ea530d0fdf73b7f9d27da7
else ifeq "$(CONFIG_LINUX_VERSION)" "5.5-openpower"
linux_version := 5.5
linux_patch_version := 5.5-openpower
linux_hash := a6fbd4ee903c128367892c2393ee0d9657b6ed3ea90016d4dc6f1f6da20b2330
#
# linuxboot systems should *NOT* use 5.10.5 until a proper review has
# been done. This is because `0000-efi_bds.patch` did not cleanly port
# from 5.4.69 to 5.10.5 which directly affects linuxboot systems.
#
else ifeq "$(CONFIG_LINUX_VERSION)" "5.10.214"
linux_version := 5.10.214
linux_hash := 40f014d53e81f204f6d2a364aae4201ae07970dd1b70dc602d7c66c1a140f558
else ifeq "$(CONFIG_LINUX_VERSION)" "6.1.8"
linux_version := 6.1.8
linux_hash := b60bb53ab8ba370a270454b11e93d41af29126fc72bd6ede517673e2e57b816d
else
$(error "$(BOARD): does not specify linux kernel version under CONFIG_LINUX_VERSION")
endif
linux_base_dir := linux-$(linux_version)
# TODO: fixup the patch process
2018-02-05 20:28:33 +00:00
# input file in the heads config/ dir
# Allow board config to specialize Linux configuration if necessary
linux_kconfig := $(or $(CONFIG_LINUX_CONFIG),config/linux.config)
2018-02-05 20:28:33 +00:00
# Output directory for the Linux kernel build is based on the
# configuration file name, not the board name
linux_dir := $(linux_base_dir)/$(notdir $(basename $(linux_kconfig)))
linux_tar := linux-$(linux_version).tar.xz
linux_major_ver := $(basename $(basename $(CONFIG_LINUX_VERSION)))
linux_url := https://cdn.kernel.org/pub/linux/kernel/v$(linux_major_ver).x/$(linux_tar)
# Ensure that touching the config file will force a reconfig/rebuild
$(build)/$(linux_dir)/.configured: $(linux_kconfig)
2018-02-05 20:28:33 +00:00
linux_configure := \
mkdir -p "$(build)/$(linux_dir)" \
&& $(call install_config,$(pwd)/$(linux_kconfig),$(build)/$(linux_dir)/.config) \
&& $(MAKE) -C .. \
ARCH="$(LINUX_ARCH)" \
CROSS_COMPILE="$(CROSS)" \
O="$(build)/$(linux_dir)" \
olddefconfig \
linux_output += arch/$(LINUX_ARCH)/boot/$(LINUX_IMAGE_FILE)
# Once we have extracted the kernel tar file, install the headers
# so that other submodules can make use of them.
$(INSTALL)/include/linux/limits.h: $(build)/$(linux_base_dir)/.canary
$(MAKE) \
-C "$(build)/$(linux_base_dir)" \
ARCH="$(LINUX_ARCH)" \
INSTALL_HDR_PATH="$(INSTALL)" \
CROSS_COMPILE="$(CROSS)" \
O="$(linux_dir)" \
KCONFIG_CONFIG="$(pwd)/$(linux_kconfig)" \
headers_install
# qemu
linux_modules-$(CONFIG_LINUX_E1000) += drivers/net/ethernet/intel/e1000/e1000.ko
# x230 and winterfell
linux_modules-$(CONFIG_LINUX_E1000E) += drivers/net/ethernet/intel/e1000e/e1000e.ko
# Dell R630 ethernet and RAID controller
linux_modules-$(CONFIG_LINUX_IGB) += drivers/net/ethernet/intel/igb/igb.ko
linux_modules-$(CONFIG_LINUX_MEGARAID) += drivers/scsi/megaraid/megaraid_mm.ko
linux_modules-$(CONFIG_LINUX_MEGARAID) += drivers/scsi/megaraid/megaraid_sas.ko
linux_modules-$(CONFIG_LINUX_MEGARAID) += drivers/scsi/megaraid/megaraid_mbox.ko
# Intel s2600wf scsi controller
linux_modules-$(CONFIG_LINUX_SCSI_GDTH) += drivers/scsi/gdth.ko
linux_modules-$(CONFIG_LINUX_ATA) += drivers/ata/libata.ko
linux_modules-$(CONFIG_LINUX_AHCI) += drivers/ata/ahci.ko
2018-02-13 22:46:38 +00:00
#linux_modules-$(CONFIG_LINUX_AHCI) += drivers/ata/ahci_platform.ko
linux_modules-$(CONFIG_LINUX_AHCI) += drivers/ata/libahci.ko
2018-02-13 22:46:38 +00:00
#linux_modules-$(CONFIG_LINUX_AHCI) += drivers/ata/libahci_platform.ko
# Solarflare network card
linux_modules-$(CONFIG_LINUX_SFC) += drivers/net/ethernet/sfc/sfc.ko
linux_modules-$(CONFIG_LINUX_SFC) += drivers/net/mdio.ko
# Mellanox ConnectX-3 (winterfell)
linux_modules-$(CONFIG_LINUX_MLX4) += drivers/net/ethernet/mellanox/mlx4/mlx4_core.ko
linux_modules-$(CONFIG_LINUX_MLX4) += drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko
# Broadcom 57302 (25g) for Tioga Pass
linux_modules-$(CONFIG_LINUX_BCM) += drivers/net/ethernet/broadcom/bnxt/bnxt_en.ko
# USB modules for both types of controllers
# older boards also need ohci and uhci
linux_modules-$(CONFIG_LINUX_USB_COMPANION_CONTROLLER) += drivers/usb/host/uhci-hcd.ko
linux_modules-$(CONFIG_LINUX_USB_COMPANION_CONTROLLER) += drivers/usb/host/ohci-hcd.ko
linux_modules-$(CONFIG_LINUX_USB_COMPANION_CONTROLLER) += drivers/usb/host/ohci-pci.ko
linux_modules-$(CONFIG_LINUX_USB) += drivers/usb/host/ehci-hcd.ko
linux_modules-$(CONFIG_LINUX_USB) += drivers/usb/host/ehci-pci.ko
linux_modules-$(CONFIG_LINUX_USB) += drivers/usb/host/xhci-hcd.ko
linux_modules-$(CONFIG_LINUX_USB) += drivers/usb/host/xhci-pci.ko
linux_modules-$(CONFIG_LINUX_USB) += drivers/usb/storage/usb-storage.ko
#USB modules when a USB keyboard is defined in board config
linux_modules-$(CONFIG_SUPPORT_USB_KEYBOARD) += drivers/hid/usbhid/usbhid.ko
#USB modules for Mobile USB Tethering (Most Android phones, Librem phone, etc)
linux_modules-$(CONFIG_MOBILE_TETHERING) += drivers/net/mii.ko
linux_modules-$(CONFIG_MOBILE_TETHERING) += drivers/net/usb/usbnet.ko
linux_modules-$(CONFIG_MOBILE_TETHERING) += drivers/net/usb/cdc_ether.ko
linux_modules-$(CONFIG_MOBILE_TETHERING) += drivers/net/usb/cdc_ncm.ko
linux_modules-$(CONFIG_MOBILE_TETHERING) += drivers/net/usb/cdc_eem.ko
2018-02-28 19:06:53 +00:00
# NVMe driver for winterfell and other servers
linux_modules-$(CONFIG_LINUX_NVME) += drivers/nvme/host/nvme.ko
linux_modules-$(CONFIG_LINUX_NVME) += drivers/nvme/host/nvme-core.ko
2018-04-10 19:28:24 +00:00
# ME drivers for talking the the management engine
linux_modules-$(CONFIG_LINUX_MEI) += drivers/misc/mei/mei.ko
linux_modules-$(CONFIG_LINUX_MEI) += drivers/misc/mei/mei-me.ko
EXTRA_FLAGS := -fdebug-prefix-map=$(pwd)=heads -gno-record-gcc-switches
Addition of qemu-(fb)whiptail-tpm2(-hotp) boards -coreboot support of TPM v2.0 (shared config for TPM2 support across all 4 previous variations) -swtpm set to be launched under TPM v2.0 mode under board config -Documentation file under each board.md softlinks to qemu-coreboot-fbwhiptail-tpm1.md (which has been generalized) This is skeleton for TPM v2 integration under Heads ------------- WiP TODO: - libcurl cannot be built as a tpm2-tools dependency as of now not sure why. curl currently needs to be added in board config to be built - Note: tpm-reset (master and here) needs some review, no handle of no tpm use case. Caller is responsible to not call it otherwise does nothing - init tries to bind fd and fails currently - Note: Check if whiptail is different of fbwhiptail in clearing screen. As of now every clear seems to be removed, still whiptail clears previous console output - When no OS' /boot can be mounted, do not try to TPM reset (will fail) - seal-hotpkey is not working properly - setting disk unlock key asks for TPM ownership passphrase (sealing in NV requires ownership, but text is misleading user as if reowning TPM) - We should cache input, feed tpm behind the scene and wipe passphrase and state clearly that this is TPM disk unlock kye passphrase. - primary key from TPM2 is invalid most of the time from kexec-select-boot and verifying global hashes but is setuped correctly at disk unlock key setup - would be nice to take advantage of bash function tracing to understand where we are for debugging purposes, code takes ash in consideration only - tpmr says it implements nv calls but actually doesn't. Removing those falsely wrapped functions would help. - Implementing them would be better - REVIEW TODOS IN CODE - READD CIRCLECI CONFIG Current state: - TPM unseal works without disk unlock key and generates TOTP properly (was missing die condition at unseal to not produce always good TOTP even if invalid) - TPM disk encryption key fails. Hypothesis is that sealing with USB drivers loaded and measures in inconsistent with sealed with/without. - TPM disk unsealing happens without USB modules being loaded in non-HOTP setup. This fails. - Current tests are with fbwhiptail (no clear called so having traces on command line of what happens) - Testing with HOTP implementation for sealing/unsealing since that forces USB module loads on each boot to remove this from failing possibilities
2022-08-25 18:43:31 +00:00
ifeq "$(CONFIG_LINUX_VERSION)" "4.14.62"
EXTRA_FLAGS += -Wno-cast-function-type
endif
linux_target := \
O="$(build)/$(linux_dir)" \
ARCH="$(LINUX_ARCH)" \
CROSS_COMPILE="$(CROSS)" \
AFLAGS_KERNEL="$(EXTRA_FLAGS)" \
CFLAGS_KERNEL="$(EXTRA_FLAGS)" \
CFLAGS_MODULE="$(EXTRA_FLAGS)" \
KBUILD_BUILD_USER=$(notdir $(linux_kconfig)) \
KBUILD_BUILD_HOST=linuxboot \
KBUILD_BUILD_TIMESTAMP="1970-00-00" \
KBUILD_BUILD_VERSION=0 \
$(MAKE_JOBS) \
# We cross compile linux now
linux_depends := musl-cross
#
# Linux kernel module installation
#
# This is special cases since we have to do a special strip operation on
# the kernel modules to make them fit into the ROM image.
#
module_initrd_dir := $(shell mktemp -d)
module_initrd_lib_dir := $(module_initrd_dir)/lib/modules
FOO := $(shell mkdir -p "$(module_initrd_lib_dir)")
define linux_module =
# Each module depends on building the Linux kernel
$(build)/$(linux_dir)/$1: $(build)/$(linux_dir)/$(linux_output)
# The cpio file will depend on every module
$(build)/$(BOARD)/modules.cpio: $(module_initrd_lib_dir)/$(notdir $1)
# Strip the modules when we install them so that they will be extra small
$(module_initrd_lib_dir)/$(notdir $1): $(build)/$(linux_dir)/$1
$(call do,INSTALL-MODULE,$1, \
$(CROSS)strip \
--preserve-dates \
--strip-debug \
-o "$$@" \
"$$<" \
)
endef
$(call map,linux_module,$(linux_modules-y))
# We can't rebuild the module initrd until the kernel has been rebuilt
$(build)/$(BOARD)/modules.cpio: $(build)/$(linux_dir)/.build
$(call do-cpio,$@,$(module_initrd_dir))
@$(RM) -rf "$(module_initrd_dir)"
# The output of the linux.intermediate is usually the bzImage in the
# linux build directory. We need to copy it into our board
# specific directory for ease of locating it later.
$(build)/$(BOARD)/$(LINUX_IMAGE_FILE): $(build)/$(linux_dir)/.build
$(call do-copy,$(dir $<)/$(linux_output),$@)
@touch $@ # force a timestamp update
2018-09-18 17:07:40 +00:00
@sha256sum "$@" | tee -a "$(HASHES)"
@stat -c "%8s:%n" "$@" | tee -a "$(SIZES)"
2018-02-08 21:02:54 +00:00
# Build kernel second time, now that initrd is built.
$(build)/$(BOARD)/$(LINUX_IMAGE_FILE).bundled: \
$(build)/$(initrd_dir)/initrd.cpio.xz \
$(build)/$(BOARD)/$(LINUX_IMAGE_FILE)
xz --decompress --stdout --force "$<" > $(build)/$(initrd_dir)/initrd.cpio
$(MAKE) -C "$(build)/$(linux_dir)" $(linux_target)
$(call do-copy,$(build)/$(linux_dir)/$(linux_output),$@)
@touch $@ # force a timestamp update
@sha256sum "$@" | tee -a "$(HASHES)"
2018-02-08 21:02:54 +00:00
# modify_and_save_defconfig_in_place target allows us edit current in tree config
# under linux decompressed+patched directory through menuconfig
# and put it back in git tree to check changes with git difftool iteratively
linux.modify_and_save_defconfig_in_place:
cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" && \
$(MAKE) \
-C "$(build)/$(linux_base_dir)" \
O="$(build)/$(linux_dir)" \
ARCH="$(LINUX_ARCH)" \
CROSS_COMPILE="$(CROSS)" \
menuconfig && \
$(MAKE) \
-C "$(build)/$(linux_base_dir)" \
O="$(build)/$(linux_dir)" \
ARCH="$(LINUX_ARCH)" \
CROSS_COMPILE="$(CROSS)" \
savedefconfig \
&& mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)"
# modify_and_save_oldconfig_in_place target allows us edit current in tree config
# under linux decompressed+patched directory through menuconfig
# and put it back in git tree to check changes with git difftool iteratively
linux.modify_and_save_oldconfig_in_place:
mkdir -p "$(build)/$(linux_dir)" \
&& cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
&& $(MAKE) -C "$(build)/$(linux_base_dir)" \
O="$(build)/$(linux_dir)" \
ARCH="$(LINUX_ARCH)" \
CROSS_COMPILE="$(CROSS)" \
menuconfig \
&& $(MAKE) -C "$(build)/$(linux_base_dir)" \
O="$(build)/$(linux_dir)" \
ARCH="$(LINUX_ARCH)" \
CROSS_COMPILE="$(CROSS)" \
olddefconfig \
&& mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)"
#Add some tooling to permit us to keep track of what we currently use.
# save_in_defconfig_format_in_place: regenerate a defconfig from current board linux config and overwrites it
# save_in_versioned_defconfig_format: same as avove but doesn't overwrite: writes it in seperate versioned file
# same for oldconfig
linux.save_in_defconfig_format_in_place:
mkdir -p "$(build)/$(linux_dir)" \
&& cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
&& $(MAKE) -C "$(build)/$(linux_base_dir)" \
O="$(build)/$(linux_dir)" \
ARCH="$(LINUX_ARCH)" \
CROSS_COMPILE="$(CROSS)" \
savedefconfig \
&& mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)"
linux.save_in_versioned_defconfig_format:
mkdir -p "$(build)/$(linux_dir)" \
&& cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
&& $(MAKE) -C "$(build)/$(linux_base_dir)" \
O="$(build)/$(linux_dir)" \
ARCH="$(LINUX_ARCH)" \
CROSS_COMPILE="$(CROSS)" \
savedefconfig \
&& mv "$(build)/$(linux_dir)/defconfig" "$(pwd)/$(linux_kconfig)_defconfig_$(CONFIG_LINUX_VERSION)"
WiP: unify 6.1.8 kernel config changes with librems, modify modules/linux helper librems vs mainline have: - mei module not compiled in - Streamline modules/linux Makefile helpers so that one asks on console for new Kconfig options to be y/n, another one to do olddefconfig (accept new defaults) - Exercice proves again that oldconfig exposes new things added into kernel by default as opposed to defconfig format. - Add TCP Syn cookies to all linux configs (all boards add CDC tethering AFAIK. Add this protection by default) - Remove unneeded network card drivers from librems common and unify - Remove unneeded microsoft surface drivers from librems common and unify - Remove WMI embedded Binary MOF driver CONFIG_WMI_BMOF - Unify removed Kconfig options from x230 ported to 6.1.8 to librems common - Verify qemu (AMD) changes working (note, there is clock source watchdog that would need to be investigated seperately for QEMU TCG mode, that is, not KVM) - Review crypto backend requirements/unify once more - Removed bunch of unused stuff under QEMU Q35 (AMD) Q/A: - CONFIG_RANDSTRUCT_NONE vs CONFIG_RANDSTRUCT_FULL? CONFIG_RANDSTRUCT_NONE now. - CONFIG_LDISC_AUTOLOAD=y? - CONFIG_PTP_1588_CLOCK_OPTIONAL=y? - CONFIG_X86_THERMAL_VECTOR=y? - ACPI-WMI (Windows Management Instrumentation) mapper device (PNP0C14) enabled by ACPI_VIDEO and depended by DRM drivers. - ACPI_VIDEO seems needed. - CONFIG_INPUT_VIVALDIFMAP=y anabled by CONFIG_KEYBOARD_ATKBD (AT/PS2 Keyboard) Signed-off-by: Thierry Laurion <insurgo@riseup.net>
2024-10-02 12:16:11 +00:00
# This one can be used in kernel version bump, which will accept all new defconfig options for the new version.
# PLEASE VERIFY CHANGES AND KEEP THINGS MINIMAL IN PRs.
linux.save_in_oldconfig_format_in_place:
mkdir -p "$(build)/$(linux_dir)" \
&& cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
&& $(MAKE) -C "$(build)/$(linux_base_dir)" \
O="$(build)/$(linux_dir)" \
ARCH="$(LINUX_ARCH)" \
CROSS_COMPILE="$(CROSS)" \
WiP: unify 6.1.8 kernel config changes with librems, modify modules/linux helper librems vs mainline have: - mei module not compiled in - Streamline modules/linux Makefile helpers so that one asks on console for new Kconfig options to be y/n, another one to do olddefconfig (accept new defaults) - Exercice proves again that oldconfig exposes new things added into kernel by default as opposed to defconfig format. - Add TCP Syn cookies to all linux configs (all boards add CDC tethering AFAIK. Add this protection by default) - Remove unneeded network card drivers from librems common and unify - Remove unneeded microsoft surface drivers from librems common and unify - Remove WMI embedded Binary MOF driver CONFIG_WMI_BMOF - Unify removed Kconfig options from x230 ported to 6.1.8 to librems common - Verify qemu (AMD) changes working (note, there is clock source watchdog that would need to be investigated seperately for QEMU TCG mode, that is, not KVM) - Review crypto backend requirements/unify once more - Removed bunch of unused stuff under QEMU Q35 (AMD) Q/A: - CONFIG_RANDSTRUCT_NONE vs CONFIG_RANDSTRUCT_FULL? CONFIG_RANDSTRUCT_NONE now. - CONFIG_LDISC_AUTOLOAD=y? - CONFIG_PTP_1588_CLOCK_OPTIONAL=y? - CONFIG_X86_THERMAL_VECTOR=y? - ACPI-WMI (Windows Management Instrumentation) mapper device (PNP0C14) enabled by ACPI_VIDEO and depended by DRM drivers. - ACPI_VIDEO seems needed. - CONFIG_INPUT_VIVALDIFMAP=y anabled by CONFIG_KEYBOARD_ATKBD (AT/PS2 Keyboard) Signed-off-by: Thierry Laurion <insurgo@riseup.net>
2024-10-02 12:16:11 +00:00
olddefconfig \
&& mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)"
linux.save_in_versioned_oldconfig:
mkdir -p "$(build)/$(linux_dir)" \
&& cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
&& $(MAKE) -C "$(build)/$(linux_base_dir)" \
O="$(build)/$(linux_dir)" \
ARCH="$(LINUX_ARCH)" \
CROSS_COMPILE="$(CROSS)" \
WiP: unify 6.1.8 kernel config changes with librems, modify modules/linux helper librems vs mainline have: - mei module not compiled in - Streamline modules/linux Makefile helpers so that one asks on console for new Kconfig options to be y/n, another one to do olddefconfig (accept new defaults) - Exercice proves again that oldconfig exposes new things added into kernel by default as opposed to defconfig format. - Add TCP Syn cookies to all linux configs (all boards add CDC tethering AFAIK. Add this protection by default) - Remove unneeded network card drivers from librems common and unify - Remove unneeded microsoft surface drivers from librems common and unify - Remove WMI embedded Binary MOF driver CONFIG_WMI_BMOF - Unify removed Kconfig options from x230 ported to 6.1.8 to librems common - Verify qemu (AMD) changes working (note, there is clock source watchdog that would need to be investigated seperately for QEMU TCG mode, that is, not KVM) - Review crypto backend requirements/unify once more - Removed bunch of unused stuff under QEMU Q35 (AMD) Q/A: - CONFIG_RANDSTRUCT_NONE vs CONFIG_RANDSTRUCT_FULL? CONFIG_RANDSTRUCT_NONE now. - CONFIG_LDISC_AUTOLOAD=y? - CONFIG_PTP_1588_CLOCK_OPTIONAL=y? - CONFIG_X86_THERMAL_VECTOR=y? - ACPI-WMI (Windows Management Instrumentation) mapper device (PNP0C14) enabled by ACPI_VIDEO and depended by DRM drivers. - ACPI_VIDEO seems needed. - CONFIG_INPUT_VIVALDIFMAP=y anabled by CONFIG_KEYBOARD_ATKBD (AT/PS2 Keyboard) Signed-off-by: Thierry Laurion <insurgo@riseup.net>
2024-10-02 12:16:11 +00:00
oldconfig \
&& mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)_oldconfig_$(CONFIG_LINUX_VERSION)"
# Prior of attempting to bump kernel version, call make BOARD=xyz linux.save_in_oldconfig_format_in_place
# Then bump board config's CONFIG_LINUX_VERSION. build as usual to extract new linux tarball.
# Then call make BOARD=xyz linux.prompt_for_new_config_options_for_kernel_version_bump
#The following ask new config choice for all new symbols that should be evaluated prior of creating PR
# Tip: Open a browser at https://www.kernelconfig.io/index.html
linux.prompt_for_new_config_options_for_kernel_version_bump:
mkdir -p "$(build)/$(linux_dir)" \
&& cp "$(pwd)/$(linux_kconfig)" "$(build)/$(linux_dir)/.config" \
&& $(MAKE) -C "$(build)/$(linux_base_dir)" \
O="$(build)/$(linux_dir)" \
ARCH="$(LINUX_ARCH)" \
WiP: unify 6.1.8 kernel config changes with librems, modify modules/linux helper librems vs mainline have: - mei module not compiled in - Streamline modules/linux Makefile helpers so that one asks on console for new Kconfig options to be y/n, another one to do olddefconfig (accept new defaults) - Exercice proves again that oldconfig exposes new things added into kernel by default as opposed to defconfig format. - Add TCP Syn cookies to all linux configs (all boards add CDC tethering AFAIK. Add this protection by default) - Remove unneeded network card drivers from librems common and unify - Remove unneeded microsoft surface drivers from librems common and unify - Remove WMI embedded Binary MOF driver CONFIG_WMI_BMOF - Unify removed Kconfig options from x230 ported to 6.1.8 to librems common - Verify qemu (AMD) changes working (note, there is clock source watchdog that would need to be investigated seperately for QEMU TCG mode, that is, not KVM) - Review crypto backend requirements/unify once more - Removed bunch of unused stuff under QEMU Q35 (AMD) Q/A: - CONFIG_RANDSTRUCT_NONE vs CONFIG_RANDSTRUCT_FULL? CONFIG_RANDSTRUCT_NONE now. - CONFIG_LDISC_AUTOLOAD=y? - CONFIG_PTP_1588_CLOCK_OPTIONAL=y? - CONFIG_X86_THERMAL_VECTOR=y? - ACPI-WMI (Windows Management Instrumentation) mapper device (PNP0C14) enabled by ACPI_VIDEO and depended by DRM drivers. - ACPI_VIDEO seems needed. - CONFIG_INPUT_VIVALDIFMAP=y anabled by CONFIG_KEYBOARD_ATKBD (AT/PS2 Keyboard) Signed-off-by: Thierry Laurion <insurgo@riseup.net>
2024-10-02 12:16:11 +00:00
CROSS_COMPILE="$(CROSS)" \
oldconfig \
&& mv "$(build)/$(linux_dir)/.config" "$(pwd)/$(linux_kconfig)"