The Linux kernel
da848d916b
There are 244 Kconfig symbols referenced in the files used for configuration generation and in the shipped .config files that are unknown in v4.20-rc1. Neither are these symbols added in the patches that Fedora applies. The references to these symbols can be safely removed. These symbols are: CONFIG_8723AU_AP_MODE CONFIG_8723AU_BT_COEXIST CONFIG_ACPI_NFIT_DEBUG CONFIG_ACPI_PROCFS CONFIG_ADE7753 CONFIG_ADE7754 CONFIG_ADE7758 CONFIG_ADE7759 CONFIG_ADIS16060 CONFIG_ALTERNATIVES CONFIG_ARM64_PTDUMP CONFIG_ARM_ASM_UNIFIED CONFIG_ARM_PTDUMP CONFIG_ATH9K_DEBUG CONFIG_AVERAGE CONFIG_AXON_RAM CONFIG_BACKLIGHT_LM3630 CONFIG_BLK_DEV_NVME_SCSI CONFIG_BLK_DEV_OSD CONFIG_BLK_DEV_RAM_DAX CONFIG_BOOTPARAM_LOCKDEP_CROSSRELEASE_FULLSTACK CONFIG_BT_HCIBTUART CONFIG_BUILD_DOCSRC CONFIG_BUILD_ID_SALT CONFIG_CC_STACKPROTECTOR_AUTO CONFIG_CC_STACKPROTECTOR_NONE CONFIG_CC_STACKPROTECTOR_REGULAR CONFIG_CIFS_SMB2 CONFIG_CIFS_SMB311 CONFIG_CIFS_STATS CONFIG_CPU_FREQ_STAT_DETAILS CONFIG_CPU_NOTIFIER_ERROR_INJECT CONFIG_CROS_EC_CHARDEV CONFIG_CROSS_COMPILE CONFIG_CRYPTO_CRC32_ARM64 CONFIG_CRYPTO_CRC32_ARM64_CE CONFIG_CRYPTO_MCRYPTD CONFIG_CRYPTO_SALSA20_586 CONFIG_CRYPTO_SALSA20_X86_64 CONFIG_CRYPTO_SHA1_MB CONFIG_CRYPTO_SHA256_MB CONFIG_CRYPTO_SHA512_MB CONFIG_CRYPTO_SKEIN CONFIG_CTC CONFIG_DEBUG_NX_TEST CONFIG_DEBUG_REFCOUNT CONFIG_DEBUG_SET_MODULE_RONX CONFIG_DGAP CONFIG_DGNC CONFIG_DIRECT_GBPAGES CONFIG_DISABLE_MPROFILE_KERNEL CONFIG_DM_CACHE_CLEANER CONFIG_DM_MQ_DEFAULT CONFIG_DRM_AMD_DC_FBC CONFIG_DRM_AMD_DC_PRE_VEGA CONFIG_DRM_AMD_POWERPLAY CONFIG_DRM_DEBUG_MM_SELFTEST CONFIG_DRM_ETNAVIV_REGISTER_LOGGING CONFIG_DRM_IMX_IPUV3 CONFIG_DRM_OMAP_NUM_CRTCS CONFIG_DRM_TILCDC_SLAVE_COMPAT CONFIG_DT3155 CONFIG_DVB_USB_FRIIO CONFIG_DW_DMAC_BIG_ENDIAN_IO CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT CONFIG_EFI_SECURE_BOOT_LOCK_DOWN CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE CONFIG_ENABLE_WARN_DEPRECATED CONFIG_FB_AUO_K190X CONFIG_FUJITSU_LAPTOP_DEBUG CONFIG_GPIO_AXP209 CONFIG_GPIO_DEVRES CONFIG_GPIO_MCP23S08 CONFIG_GPIO_SX150X CONFIG_HFI1_VERBS_31BIT_PSN CONFIG_HFSPLUS_FS_POSIX_ACL CONFIG_HOTPLUG CONFIG_HT_IRQ CONFIG_I2C_DESIGNWARE CONFIG_I2O CONFIG_I40E_FCOE CONFIG_I7300_IDLE CONFIG_IDMA64 CONFIG_INFINIBAND_CXGB3_DEBUG CONFIG_INFINIBAND_EXP_USER_ACCESS CONFIG_INPUT_GPIO CONFIG_INPUT_GPIO_TILT_POLLED CONFIG_INTEL_RDT_A CONFIG_IOMMU_STRESS CONFIG_IP1000 CONFIG_IP_DCCP_CCID2 CONFIG_IPL CONFIG_IPV6_SEG6_INLINE CONFIG_IRDA CONFIG_IR_LIRC_CODEC CONFIG_IRQ_DOMAIN_DEBUG CONFIG_IWM CONFIG_KEXEC_SIG CONFIG_KEXEC_SIG_FORCE CONFIG_KVM_DEVICE_ASSIGNMENT CONFIG_LGUEST CONFIG_LGUEST_GUEST CONFIG_LIRC_BT829 CONFIG_LIRC_IMON CONFIG_LIRC_PARALLEL CONFIG_LIRC_SERIAL CONFIG_LIRC_SERIAL_TRANSMITTER CONFIG_LIRC_STAGING CONFIG_LIRC_ZILOG CONFIG_LNET CONFIG_LOGFS CONFIG_LPFC_NVME_INITIATOR CONFIG_LPFC_NVME_TARGET CONFIG_MACH_MESON8B CONFIG_MCE_AMD_INJ CONFIG_MEDIA_CEC_DEBUG CONFIG_MEDIA_RC_SUPPORT CONFIG_MFD_CROS_EC_I2C CONFIG_MFD_CROS_EC_SPI CONFIG_MG_DISK CONFIG_MLX_CPLD_PLATFORM CONFIG_MOVABLE_NODE CONFIG_MTD_NAND_DOCG4 CONFIG_MTD_NAND_PXA3xx CONFIG_MVEBU_CLK_CORE CONFIG_NET_CADENCE CONFIG_NET_CLS_ROUTE CONFIG_NET_DCCPPROBE CONFIG_NET_DSA_HWMON CONFIG_NETFILTER_DEBUG CONFIG_NET_PACKET_ENGINE CONFIG_NET_SCTPPROBE CONFIG_NET_TCPPROBE CONFIG_NET_VENDOR_EXAR CONFIG_NET_VENDOR_SNI CONFIG_NF_CONNTRACK_IPV4 CONFIG_NF_CONNTRACK_IPV6 CONFIG_NF_CONNTRACK_PROC_COMPAT CONFIG_NFC_WILINK CONFIG_NFP_NET_DEBUG CONFIG_NFP_NETVF CONFIG_NFT_BRIDGE_META CONFIG_NFT_EXTHDR CONFIG_NFT_META CONFIG_NFT_RBTREE CONFIG_NFT_RT CONFIG_NFT_SET_BITMAP CONFIG_NFT_SET_HASH CONFIG_NFT_SET_RBTREE CONFIG_NL80211 CONFIG_NMI_LOG_BUF_SHIFT CONFIG_NO_BOOTMEM CONFIG_NO_HZ_FULL_ALL CONFIG_NO_HZ_FULL_SYSIDLE CONFIG_NR_DEV_DAX CONFIG_OLPC_XO1 CONFIG_OMAP2_DSS_RFBI CONFIG_OMAP_PM_NOOP CONFIG_PHONE CONFIG_PHY_MIPHY365X CONFIG_PHY_STIH41X_USB CONFIG_PNFS_OBJLAYOUT CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN CONFIG_PPC_ICSWX CONFIG_PPC_ICSWX_PID CONFIG_PPC_ICSWX_USE_SIGILL CONFIG_PROVE_RCU_REPEATEDLY CONFIG_QETH_IPV6 CONFIG_R8723AU CONFIG_RCU_KTHREAD_PRIO CONFIG_RCU_NOCB_CPU_ALL CONFIG_RCU_TORTURE_TEST_SLOW_CLEANUP CONFIG_RCU_TORTURE_TEST_SLOW_INIT CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT CONFIG_RESET_GPIO CONFIG_RESET_HSDK_V1 CONFIG_RIO CONFIG_RTC_DRV_DS1307_HWMON CONFIG_RTC_DRV_ISL12057 CONFIG_RTC_DS1685_PROC_REGS CONFIG_RTC_DS1685_SYSFS_REGS CONFIG_S390_GUEST_OLD_TRANSPORT CONFIG_SAMSUNG_USBPHY CONFIG_SCM_BLOCK_CLUSTER_WRITE CONFIG_SCSI_EATA CONFIG_SCSI_EATA_PIO CONFIG_SCSI_FUTURE_DOMAIN CONFIG_SCSI_IN2000 CONFIG_SCSI_SRP CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX CONFIG_SENSORS_TWL4030_MADC CONFIG_SHARED_KERNEL CONFIG_SIGMA CONFIG_SILEAD_DMI CONFIG_SND_HDA_POWER_SAVE CONFIG_SND_SOC_DIO2125 CONFIG_SOC_EXYNOS4212 CONFIG_SOC_EXYNOS4415 CONFIG_SOC_EXYNOS5440 CONFIG_SOLO6X10 CONFIG_SPARSE_RCU_POINTER CONFIG_SSB_DEBUG CONFIG_SSB_SILENT CONFIG_STE_MODEM_RPROC CONFIG_STRIP CONFIG_SYNOPSYS_DWC_ETH_QOS CONFIG_TEST_FIND_BIT CONFIG_TI_DAC7512 CONFIG_TOUCHSCREEN_FT6236 CONFIG_TOUCHSCREEN_INTEL_MID CONFIG_TR CONFIG_TRACE_ENUM_MAP_FILE CONFIG_TSL2x7x CONFIG_UCSI CONFIG_UIO_PDRV CONFIG_USB_ATMEL CONFIG_USB_CHIPIDEA_ULPI CONFIG_USB_DEBUG CONFIG_USB_EZUSB CONFIG_USB_GADGET_LEGACY CONFIG_USB_SERIAL_KEYSPAN_MPR CONFIG_USB_SERIAL_KEYSPAN_USA18X CONFIG_USB_SERIAL_KEYSPAN_USA19 CONFIG_USB_SERIAL_KEYSPAN_USA19QI CONFIG_USB_SERIAL_KEYSPAN_USA19QW CONFIG_USB_SERIAL_KEYSPAN_USA19W CONFIG_USB_SERIAL_KEYSPAN_USA28 CONFIG_USB_SERIAL_KEYSPAN_USA28X CONFIG_USB_SERIAL_KEYSPAN_USA28XA CONFIG_USB_SERIAL_KEYSPAN_USA28XB CONFIG_USB_SERIAL_KEYSPAN_USA49W CONFIG_USB_SERIAL_KEYSPAN_USA49WLC CONFIG_USE_THIN_ARCHIVES CONFIG_VIDEO_CPIA CONFIG_VIDEO_SAMSUNG_S5P_TV CONFIG_VIDEO_SH_MOBILE_CSI2 CONFIG_VIDEO_STK1160_AC97 CONFIG_VIDEO_TW686X_KH CONFIG_VIDEO_VIVI CONFIG_W1_SLAVE_BQ27000 CONFIG_W1_SLAVE_DS2760 CONFIG_XEN_DEBUG CONFIG_XEN_SCRUB_PAGES Signed-off-by: Paul Bolle <pebolle@tiscali.nl> |
||
---|---|---|
configs | ||
scripts | ||
tests | ||
.gitignore | ||
0001-iio-Use-event-header-from-kernel-tree.patch | ||
0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch | ||
0001-s390-mm-Fix-ERROR-__node_distance-undefined.patch | ||
0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch | ||
0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch | ||
ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch | ||
ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch | ||
Add-an-EFI-signature-blob-parser-and-key-loader.patch | ||
Add-EFI-signature-data-types.patch | ||
Add-option-to-automatically-enforce-module-signature.patch | ||
arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch | ||
arm64-arch_timer-Workaround-for-Allwinner-A64-timer-instability.patch | ||
arm64-dts-allwinner-a64-Enable-A64-timer-workaround.patch | ||
arm-sdhci-esdhc-imx-fixes.patch | ||
ARM-tegra-usb-no-reset.patch | ||
ath9k-rx-dma-stop-check.patch | ||
bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch | ||
bcm2835-cpufreq-add-CPU-frequency-control-driver.patch | ||
brcmfmac-Remove-firmware-loading-code-duplication.patch | ||
build_configs.sh | ||
check_configs.awk | ||
config_generation | ||
crash-driver.patch | ||
die-floppy-die.patch | ||
disable-i8042-check-on-apple-mac.patch | ||
drm-i915-hush-check-crtc-state.patch | ||
efi-Add-EFI_SECURE_BOOT-bit.patch | ||
efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch | ||
efi-lockdown.patch | ||
efi-secureboot.patch | ||
filter-aarch64.sh | ||
filter-armv7hl.sh | ||
filter-i686.sh | ||
filter-modules.sh | ||
filter-ppc64le.sh | ||
filter-s390x.sh | ||
filter-x86_64.sh | ||
firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch | ||
Fix-for-module-sig-verification.patch | ||
generate_all_configs.sh | ||
generate_bls_conf.sh | ||
generate_debug_configs.sh | ||
gitrev | ||
input-kill-stupid-messages.patch | ||
input-rmi4-remove-the-need-for-artifical-IRQ.patch | ||
Input-synaptics-pin-3-touches-when-the-firmware-repo.patch | ||
Kbuild-Add-an-option-to-enable-GCC-VTA.patch | ||
kernel-aarch64-debug.config | ||
kernel-aarch64.config | ||
kernel-armv7hl-debug.config | ||
kernel-armv7hl-lpae-debug.config | ||
kernel-armv7hl-lpae.config | ||
kernel-armv7hl.config | ||
kernel-i686-debug.config | ||
kernel-i686.config | ||
kernel-local | ||
kernel-ppc64le-debug.config | ||
kernel-ppc64le.config | ||
kernel-s390x-debug.config | ||
kernel-s390x.config | ||
kernel-x86_64-debug.config | ||
kernel-x86_64.config | ||
kernel.spec | ||
KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch | ||
lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch | ||
lis3-improve-handling-of-null-rate.patch | ||
Makefile | ||
merge.pl | ||
mod-extra.list | ||
mod-extra.sh | ||
mod-sign.sh | ||
MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch | ||
MODSIGN-Support-not-importing-certs-from-db.patch | ||
namespaces-no-expert.patch | ||
no-pcspkr-modalias.patch | ||
PatchList.txt | ||
process_configs.sh | ||
qcom-msm89xx-fixes.patch | ||
README.txt | ||
rebase-notes.txt | ||
remove-binary-diff.pl | ||
scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch | ||
silence-fbcon-logo.patch | ||
sources | ||
TODO | ||
usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch | ||
x509.genkey | ||
xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch |
Kernel package tips & tricks. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The kernel is one of the more complicated packages in the distro, and for the newcomer, some of the voodoo in the spec file can be somewhat scary. This file attempts to document some of the magic. Speeding up make prep --------------------- The kernel is nearly 500MB of source code, and as such, 'make prep' takes a while. The spec file employs some trickery so that repeated invocations of make prep don't take as long. Ordinarily the %prep phase of a package will delete the tree it is about to untar/patch. The kernel %prep keeps around an unpatched version of the tree, and makes a symlink tree clone of that clean tree and than applies the patches listed in the spec to the symlink tree. This makes a huge difference if you're doing multiple make preps a day. As an added bonus, doing a diff between the clean tree and the symlink tree is slightly faster than it would be doing two proper copies of the tree. Build logs. ----------- There's a convenience helper script in scripts/grab-logs.sh that will grab the build logs from koji for the kernel version reported by make verrel Config hierarchy. ----------------- Instead of having to maintain a config file for every arch variant we build on, the kernel spec uses a nested system of configs. Each option CONFIG_FOO is represented by a single file named CONFIG_FOO which contains the state (=y, =m, =n). These options are collected in the folder base-generic. Architecture specific options are set in nested folders. An option set in a nested folder will override the same option set in one of the higher levels. The individual CONFIG_FOO files only exist in the pkg-git repository. The RPM contains kernel-foo.config files which are the result of combining all the CONFIG_FOO files. The files are combined by running build_configs.sh. This script _must_ be run each time one of the options is changed. Example flow: # Enable the option CONFIG_ABC123 as a module for all arches echo "CONFIG_ABC123=m" > configs/base-generic/CONFIG_ABC1234 # enable the option CONFIG_XYZ321 for only x86 echo "# CONFIG_XYZ321 is not set" > configs/base-generic/CONFIG_XYZ321 echo "CONFIG_XYZ321=m" > configs/base-generic/x86/CONFIG_XYZ321 # regenerate the combined config files ./build_configs.sh The file config_generation gives a listing of what folders go into each config file generated. Debug options. -------------- This is a little complicated, as the purpose & meaning of this changes depending on where we are in the release cycle. If we are building for a current stable release, 'make release' has typically been run already, which sets up the following.. - Two builds occur, a 'kernel' and a 'kernel-debug' flavor. - kernel-debug will get various heavyweight debugging options like lockdep etc turned on. If we are building for rawhide, 'make debug' has been run, which changes the status quo to: - We only build one kernel 'kernel' - The debug options are always turned on. This is done to increase coverage testing, as not many people actually run kernel-debug. The debug options are managed in a separate heierarchy under base-debug. This works in a similar manner to base-generic. More deeply nested folders, again, override options. The file config_generation gives a listing of what folders go into each config file generated.