4.16-rc1が出たので.config
がどう変更されるのか見てみた.以下 -
は削除されたもの,+
は追加されたもの m->n
等は値の変化を示す.汎用指向の環境.ちなみにmake menuconfig
するのにbison
とflex
が必要になっている.kbuild: prepare to remove C files pre-generated by flex and bison参照.
-
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_FUNCTION_ERROR_INJECTION=y
error-injection: Separate error-injection from kprobe
CONFIG_HAVE_FUNCTION_ERROR_INJECTION
は Selected by: X86 [=y] でFUNCTION_ERROR_INJECTION
は以下.config FUNCTION_ERROR_INJECTION def_bool y depends on HAVE_FUNCTION_ERROR_INJECTION && KPROBES
-
+CONFIG_ACPI_SPCR_TABLE=y
ACPI: SPCR: Make SPCR available to x86
config ACPI_SPCR_TABLE bool "ACPI Serial Port Console Redirection Support" default y if X86
y にしておく.
-
+CONFIG_SATA_MOBILE_LPM_POLICY=0
ahci: Allow setting a default LPM policy for mobile chipsets
config SATA_MOBILE_LPM_POLICY int "Default SATA Link Power Management policy for mobile chipsets" range 0 4 default 0
0にしておく.
-
+CONFIG_NET_VENDOR_CORTINA=y
net: ethernet: Add a driver for Gemini gigabit ethernet
n にする.
-
+CONFIG_NET_VENDOR_SOCIONEXT=y
net: ethernet: socionext: add AVE ethernet driver
Socionext (Panasonic) の UniPhier 向け ether driver.n にする.
-
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
ssb: Do not disable PCI host on non-Mips
PCI_DRIVERS_LEGACY
に依存していたところが(PCI_DRIVERS_LEGACY || !MIPS)
になってまるごと復活.Bug だった模様. -
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
tpm: Move Linux RNG connection to hwrng
config HW_RANDOM_TPM bool "TPM HW Random Number Generator support" depends on TCG_TPM && HW_RANDOM && !(TCG_TPM=y && HW_RANDOM=m) default y
yかn.yにしておく.
-
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MMC_REALTEK_PCI=m
misc: rtsx: Move Realtek Card Reader Driver to misc
CONFIG_MISC_RTSX_PCI
に移された模様.CONFIG_MISC_RTSX_PCI=m
で,CONFIG_MMC_REALTEK_PCI
も m に.
以下,その他.
-
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
membarrier: Provide core serializing command, *_SYNC_CORE
membarrier/x86: Provide core serializing commandSelected by: X86 [=y]
-
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
x86: Implement thread_struct whitelist for hardened usercopy
Selected by: X86 [=y]
-
-CONFIG_CC_STACKPROTECTOR=y
-
+CONFIG_ARCH_HAS_PHYS_TO_DMA=y
dma-mapping: move swiotlb arch helpers to a new header
Selected by: X86 [=y]
-
+CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
locking: Introduce sync_core_before_usermode()
lockin/x86: Implement sync_core_before_usermode()Selected by: X86 [=y]
-
-CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
-
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
netfilter: don’t allocate space for arp/bridge hooks unless needed
-
-CONFIG_FIRMWARE_IN_KERNEL=y
-
+CONFIG_DRM_SCHED=m
drm: move amd_gpu_scheduler into common location
Selected by: DRM_AMDGPU [=m] && HAS_IOMEM [=y] && DRM [=m] && PCI [=y] && MMU [=y]
-
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
drm: Add panel orientation quirks, v6.
drm: Fix PANEL_ORIENTATION_QUIRKS breaking the Kconfig DRM menuconfig -
+CONFIG_VIRTIO_MENU=y
-
+CONFIG_SGL_ALLOC=y
lib/scatterlist: Introduce sgl_alloc() and sgl_free()
crypto: scompress - use sgl_alloc() and sgl_free()手元の環境では
CRYPTO_ACOMP2 [=y] && CRYPTO [=y]
で Select されてた.
なお,普段使う DKMS である以下(sid)は特に問題なく compile できている.
- broadcom-sta-dkms 6.30.223.271-7 (4.15向けpatchが必要)
- broadcom-sta-dkms 6.30.223.271-8 だと patch 不要
- nvidia-kernel-dkms 384.111-4
- nvidia-legacy-340xx-kernel-dkms 340.106-2
追記 (2018/2/19)
4.16-rc2で以下追加になった.
-
+CONFIG_NR_CPUS_RANGE_BEGIN=2
+CONFIG_NR_CPUS_RANGE_END=512
+CONFIG_NR_CPUS_DEFAULT=64
x86/Kconfig: Simplify NR_CPUS config
x86/Kconfig: Further simplify the NR_CPUS config
追記 (2018/3/5)
4.16-rc4で以下の変更があった.
-
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list
-
+CONFIG_VIDEOBUF2_V4L2=m
media: videobuf2: Add VIDEOBUF2_V4L2 Kconfig option for VB2 V4L2 part
追記 (2018/4/3)
4.16がリリースされていて,少し試してみたところ nvidia.ko の compile は問題ないのだが,modprobe する際に以下のようなエラーがでて nvidia.ko が利用できない(nvidia-kernel-dkms 384.111-3~bpo9+1).
Apr 2 16:02:45 XXXX kernel: [ 178.010148] nvidia: Unknown symbol swiotlb_map_sg_attrs (err 0)
以下に原因と解決法がまとめられているが少し面倒.
- https://bbs.archlinux.org/viewtopic.php?id=235072
- https://devtalk.nvidia.com/default/topic/1030082/linux/kernel-4-16-rc1-breaks-latest-drivers-unknown-symbol-swiotlb_map_sg_attrs-/
具体的には以下の kernel の修正に対応するように nvidia の driver の source code にパッチをあてたりする必要がある.
やはり面倒なので,bpo package の更新を待つことにして 4.15 系を利用することに...
追記 (2018/4/6)
上記Unknown symbol swiotlb_map_sg_attrs
の件,以下のパッチをあてることにした.usercopy: WARN() on slab cache usercopy region violations に対する対応については,手元の環境ではCONFIG_HARDENED_USERCOPY
がy
ではないので,そのまま放置(WARNINGさえ出ない).
--- a/common/inc/nv-linux.h
+++ b/common/inc/nv-linux.h
@@ -1320,7 +1320,7 @@ static inline NvU32 nv_alloc_init_flags(int cached, int contiguous, int zeroed)
static inline NvBool nv_dma_maps_swiotlb(struct pci_dev *dev)
{
NvBool swiotlb_in_use = NV_FALSE;
-#if defined(CONFIG_SWIOTLB)
+#if defined(CONFIG_SWIOTLB) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
#if defined(NV_DMA_OPS_PRESENT) || defined(NV_GET_DMA_OPS_PRESENT)
/*
* We only use the 'dma_ops' symbol on older x86_64 kernels; later kernels,
追記 (2018/4/25)
最近でたnvidia-kernel-dkms (390.48-2~bpo9+1)は patch 等不要で問題なく使える.