Subject: [bug#40190] Linux-Libre 5.6

From: Leo Famulari <[email-masked]>
Date: Mon, 8 Jun 2020 22:43:22 -0400

On Fri, Apr 17, 2020 at 03:26:49PM -0400, Mark H Weaver wrote:
> However, I should say that for all previous kernel upgrades, I have
> taken the time to consider each of the new configuration options
> presented by "make oldconfig" and to try make a sensible choice for each
> one.  I have not found it sufficient to rely on the automatically
> selected choices, which very often default to "no" for modules that
> ought to be included, and occasionally default to "yes" for options that
> are contrary to our commitment to the GNU FSDG.

This is really helpful information about how you've managed our kernel
configs so far. Can you remember an example of a module that needed to
be disabled because it would make Guix not FSDG compliant? This could be
useful for anyone trying to learn how to take over this task.

> I will leave it up to the Guix maintainers to decide what to do if no
> one volunteers to take up the job of properly updating our default
> kernel configurations.

Okay. Our latest supported kernel is 5.4, which is an LTS kernel so we
have some time, although I think it's important that we don't wait too
long.

https://www.kernel.org/category/releases.html

To anyone who is interested in trying their hand at this:

There is a tool 'scripts/diffconfig' in the linux-libre source code that
makes it convenient to compare two configs. For example, one could
compare our version 4.9 and 5.4 configs to get an idea of what changed.

It would be easier to use the intermediate versions from our Git history
to see the changes at a more incremental pace.

For example, considering that our current kernel is version 5.4, I
compare it to the previous version 5.3:

------
$ git log gnu/packages/aux-files/linux-libre
... find the commit that added linux-libre 5.3 ...
$ git checkout 9e34a5f3b2d37c gnu/packages/aux-files/linux-libre/5.3-x86_64.conf
$ ~/src/linux-libre/scripts/diffconfig \
gnu/packages/aux-files/linux-libre/5.3-x86_64.conf \
gnu/packages/aux-files/linux-libre/5.4-x86_64.conf | wc -l
184
------

It's only 184 lines of changes (attached), which isn't so bad.
-CRYPTO_AEGIS128L m
-CRYPTO_AEGIS128L_AESNI_SSE2 m
-CRYPTO_AEGIS256 m
-CRYPTO_AEGIS256_AESNI_SSE2 m
-CRYPTO_AES_X86_64 m
-CRYPTO_MORUS1280 m
-CRYPTO_MORUS1280_AVX2 m
-CRYPTO_MORUS1280_GLUE m
-CRYPTO_MORUS1280_SSE2 m
-CRYPTO_MORUS640 m
-CRYPTO_MORUS640_GLUE m
-CRYPTO_MORUS640_SSE2 m
-DMA_DECLARE_COHERENT y
-DRM_HISI_HIBMC m
-DRM_TINYDRM n
-DSCC4 m
-DSCC4_PCISYNC y
-DSCC4_PCI_RST y
-EROFS_FAULT_INJECTION n
-EROFS_FS_IO_MAX_RETRIES 5
-EROFS_FS_USE_VM_MAP_RAM n
-FB_FLEX m
-FB_TFT m
-FB_TFT_AGM1264K_FL m
-FB_TFT_BD663474 m
-FB_TFT_FBTFT_DEVICE m
-FB_TFT_HX8340BN m
-FB_TFT_HX8347D m
-FB_TFT_HX8353D m
-FB_TFT_HX8357D m
-FB_TFT_ILI9163 m
-FB_TFT_ILI9320 m
-FB_TFT_ILI9325 m
-FB_TFT_ILI9340 m
-FB_TFT_ILI9341 m
-FB_TFT_ILI9481 m
-FB_TFT_ILI9486 m
-FB_TFT_PCD8544 m
-FB_TFT_RA8875 m
-FB_TFT_S6D02A1 m
-FB_TFT_S6D1121 m
-FB_TFT_SH1106 m
-FB_TFT_SSD1289 m
-FB_TFT_SSD1305 m
-FB_TFT_SSD1306 m
-FB_TFT_SSD1331 m
-FB_TFT_SSD1351 m
-FB_TFT_ST7735R m
-FB_TFT_ST7789V m
-FB_TFT_TINYLCD m
-FB_TFT_TLS8204 m
-FB_TFT_UC1611 m
-FB_TFT_UC1701 m
-FB_TFT_UPD161704 m
-FB_TFT_WATTEROTT m
-HYPERV_TSCPAGE y
-I2C_BCM2048 m
-IWLWIFI_PCIE_RTPM n
-KEXEC_VERIFY_SIG y
-MFD_CROS_EC_CHARDEV m
-MTD_M25P80 m
-NET_DSA_TAG_KSZ9477 m
-NET_DSA_TAG_KSZ_COMMON m
-NFSD_FAULT_INJECTION n
-RTC_DRV_BD70528 m
-SENSORS_ADS1015 m
-SERIAL_8250_MOXA m
-SGI_IOC4 m
-USB_RIO500 m
 FONTS n -> y
 HMM_MIRROR n -> y
 REMOTEPROC m -> n
+ADIN_PHY m
+ADIS16460 m
+ARCH_CPUIDLE_HALTPOLL y
+ASM_MODVERSIONS y
+ATH9K_PCI_NO_EEPROM m
+BLK_CGROUP_IOCOST y
+BLK_RQ_ALLOC_TIME y
+CAN_F81601 m
+CAN_J1939 m
+CAN_KVASER_PCIEFD m
+CAN_M_CAN_PLATFORM m
+CAN_M_CAN_TCAN4X5X m
+CPU_IDLE_GOV_HALTPOLL y
+CROS_EC m
+CROS_EC_CHARDEV m
+CRYPTO_DEV_CCP_DEBUGFS n
+CRYPTO_DEV_SAFEXCEL m
+CRYPTO_ESSIV m
+CRYPTO_LIB_AES y
+CRYPTO_LIB_DES m
+CRYPTO_LIB_SHA256 y
+DMABUF_SELFTESTS n
+DM_CLONE m
+DM_VERITY_VERIFY_ROOTHASH_SIG y
+DRM_AMDGPU_USERPTR y
+DRM_AMD_DC_DCN2_1 y
+DRM_GEM_CMA_HELPER y
+DRM_GM12U320 m
+DRM_KMS_CMA_HELPER y
+DRM_MIPI_DBI m
+EFI_RCI2_TABLE n
+EXFAT_DEBUG_MSG n
+EXFAT_DEFAULT_CODEPAGE 437
+EXFAT_DEFAULT_IOCHARSET "utf8"
+EXFAT_DELAYED_SYNC n
+EXFAT_DISCARD y
+EXFAT_DONT_MOUNT_VFAT y
+EXFAT_FS m
+EXFAT_KERNEL_DEBUG n
+FONT_10x18 n
+FONT_6x10 y
+FONT_6x11 n
+FONT_7x14 n
+FONT_ACORN_8x8 n
+FONT_MINI_4x6 n
+FONT_PEARL_8x8 n
+FONT_SUN12x22 n
+FONT_SUN8x16 n
+FONT_TER16x32 y
+FS_VERITY y
+FS_VERITY_BUILTIN_SIGNATURES n
+FS_VERITY_DEBUG n
+HALTPOLL_CPUIDLE m
+HAVE_ASM_MODVERSIONS y
+HID_CREATIVE_SB0540 m
+IIO_ST_LSM6DSX_I3C m
+IMA_APPRAISE_MODSIG n
+IONIC m
+JOYSTICK_FSIA6B m
+KEXEC_SIG n
+MAX5432 m
+MFD_CROS_EC_DEV m
+MLX5_SW_STEERING y
+MMC_SDHCI_IO_ACCESSORS y
+MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS n
+MTD_NAND_MXIC m
+NET_DSA_MICROCHIP_KSZ8795 m
+NET_DSA_MICROCHIP_KSZ8795_SPI m
+NET_DSA_MICROCHIP_KSZ9477_I2C m
+NET_DSA_SJA1105_TAS n
+NET_TC_SKB_EXT n
+NET_VENDOR_PENSANDO y
+NOA1305 m
+PCI_HYPERV_INTERFACE m
+RANDOM_TRUST_BOOTLOADER n
+READ_ONLY_THP_FOR_FS n
+REGMAP_I3C m
+SECURITY_LOCKDOWN_LSM n
+SENSORS_AS370 m
+SENSORS_INSPUR_IPSPS m
+SERIAL_8250_DWLIB y
+SERIAL_FSL_LINFLEXUART m
+SND_HDA_INTEL_DETECT_DMIC n
+SND_INTEL_NHLT m
+SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH m
+SND_SOC_INTEL_DA7219_MAX98357A_GENERIC m
+SND_SOC_SOF_ELKHARTLAKE m
+SND_SOC_SOF_ELKHARTLAKE_SUPPORT y
+SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 n
+SND_SOC_SOF_TIGERLAKE m
+SND_SOC_SOF_TIGERLAKE_SUPPORT y
+SND_SOC_UDA1334 m
+TINYDRM_HX8357D m
+TINYDRM_ILI9225 m
+TINYDRM_ILI9341 m
+TINYDRM_MI0283QT m
+TINYDRM_REPAPER m
+TINYDRM_ST7586 m
+TINYDRM_ST7735R m
+USB_CDNS3 m
+USB_CDNS3_GADGET n
+USB_CDNS3_HOST n
+USB_CDNS3_PCI_WRAP m
+USB_CONN_GPIO m
+VIDEO_OV5675 m
+VIDEO_V4L2_I2C y
+VIRTIO_FS m
+W1_MASTER_SGI m
+W1_SLAVE_DS250X m
+X86_INTEL_TSX_MODE_AUTO n
+X86_INTEL_TSX_MODE_OFF y
+X86_INTEL_TSX_MODE_ON n