Skip to content

Commit 3993a72

Browse files
rucodereriknordmark
authored andcommitted
[hwe]: build-in boot-path drivers for no-initrd root (USB/NVMe/MMC/optical/RAID HBAs)
Booting without an initrd means the kernel cannot rely on early userspace to autoload modules (udev/mdev/nlplug). Make storage and host drivers that can host the root filesystem built-in (=y) so the kernel can discover and mount root directly across common platforms. x86/PCI ------- - CONFIG_VMD=y # Intel VMD so NVMe behind VMD is visible early Block / Virt ------------ - CONFIG_VIRTIO_BLK=y # root on virtio disks without initrd NVMe ---- - CONFIG_BLK_DEV_NVME=y # NVMe root without module autoloading SCSI / RAID HBAs (server boot devices) -------------------------------------- - CONFIG_SCSI_HPSA=y - CONFIG_MEGARAID_SAS=y - CONFIG_SCSI_MPT3SAS=y # common enterprise boot HBAs built-in USB host & storage (USB stick / USB CD/DVD) ------------------------------------------- - CONFIG_USB_XHCI_HCD=y - CONFIG_USB_XHCI_PCI_RENESAS=y - CONFIG_USB_XHCI_PLATFORM=y - CONFIG_USB_EHCI_HCD=y - CONFIG_USB_STORAGE=y - CONFIG_USB_UAS=y # UAS when available MMC/SD (eMMC/SD cards) ---------------------- - CONFIG_MMC_SDHCI=y - CONFIG_MMC_SDHCI_PCI=y - CONFIG_MMC_SDHCI_ACPI=y (Note: if root on MMC is required, ensure CONFIG_MMC_BLOCK=y as well.) Filesystems for optical media ----------------------------- - CONFIG_ISO9660_FS=y - CONFIG_UDF_FS=y Rationale --------- Without an initrd, device-driver autoload from MODALIAS events does not occur. Building these boot-path drivers into the kernel guarantees USB/NVMe/MMC/optical and common HBA-backed root devices enumerate in time for root=PARTUUID=… to resolve. Signed-off-by: Mikhail Malyshev <mike.malyshev@gmail.com>
1 parent d5233ec commit 3993a72

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

arch/x86/configs/eve-hwe_defconfig

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -780,7 +780,7 @@ CONFIG_HOTPLUG_PCI_CPCI=y
780780
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
781781
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
782782
CONFIG_HOTPLUG_PCI_SHPC=y
783-
CONFIG_VMD=m
783+
CONFIG_VMD=y
784784
CONFIG_PCIE_DW_PLAT_HOST=y
785785
CONFIG_PCIE_DW_PLAT_EP=y
786786
CONFIG_PCI_ENDPOINT=y
@@ -938,11 +938,11 @@ CONFIG_BLK_DEV_RAM_SIZE=65536
938938
CONFIG_CDROM_PKTCDVD=m
939939
CONFIG_ATA_OVER_ETH=m
940940
CONFIG_XEN_BLKDEV_BACKEND=m
941-
CONFIG_VIRTIO_BLK=m
941+
CONFIG_VIRTIO_BLK=y
942942
CONFIG_BLK_DEV_RBD=m
943943
CONFIG_BLK_DEV_RNBD_CLIENT=m
944944
CONFIG_BLK_DEV_RNBD_SERVER=m
945-
CONFIG_BLK_DEV_NVME=m
945+
CONFIG_BLK_DEV_NVME=y
946946
CONFIG_NVME_MULTIPATH=y
947947
CONFIG_NVME_HWMON=y
948948
CONFIG_NVME_RDMA=m
@@ -1025,7 +1025,7 @@ CONFIG_SCSI_BNX2_ISCSI=m
10251025
CONFIG_SCSI_BNX2X_FCOE=m
10261026
CONFIG_BE2ISCSI=m
10271027
CONFIG_BLK_DEV_3W_XXXX_RAID=m
1028-
CONFIG_SCSI_HPSA=m
1028+
CONFIG_SCSI_HPSA=y
10291029
CONFIG_SCSI_3W_9XXX=m
10301030
CONFIG_SCSI_3W_SAS=m
10311031
CONFIG_SCSI_ACARD=m
@@ -1048,7 +1048,8 @@ CONFIG_MEGARAID_NEWGEN=y
10481048
CONFIG_MEGARAID_MM=m
10491049
CONFIG_MEGARAID_MAILBOX=m
10501050
CONFIG_MEGARAID_LEGACY=m
1051-
CONFIG_MEGARAID_SAS=m
1051+
CONFIG_MEGARAID_SAS=y
1052+
CONFIG_SCSI_MPT3SAS=y
10521053
CONFIG_SCSI_MPT2SAS=m
10531054
CONFIG_SCSI_MPI3MR=m
10541055
CONFIG_SCSI_SMARTPQI=m
@@ -3639,7 +3640,8 @@ CONFIG_USB_MON=m
36393640
CONFIG_USB_C67X00_HCD=m
36403641
CONFIG_USB_XHCI_HCD=y
36413642
CONFIG_USB_XHCI_DBGCAP=y
3642-
CONFIG_USB_XHCI_PCI_RENESAS=m
3643+
CONFIG_USB_XHCI_PCI_RENESAS=y
3644+
CONFIG_USB_XHCI_PLATFORM=y
36433645
CONFIG_USB_EHCI_HCD=y
36443646
CONFIG_USB_EHCI_FSL=m
36453647
CONFIG_USB_EHCI_HCD_PLATFORM=y
@@ -3660,7 +3662,7 @@ CONFIG_USB_HCD_SSB=m
36603662
CONFIG_USB_XEN_HCD=m
36613663
CONFIG_USB_PRINTER=m
36623664
CONFIG_USB_TMC=m
3663-
CONFIG_USB_STORAGE=m
3665+
CONFIG_USB_STORAGE=y
36643666
CONFIG_USB_STORAGE_REALTEK=m
36653667
CONFIG_USB_STORAGE_DATAFAB=m
36663668
CONFIG_USB_STORAGE_FREECOM=m
@@ -3674,7 +3676,7 @@ CONFIG_USB_STORAGE_ONETOUCH=m
36743676
CONFIG_USB_STORAGE_KARMA=m
36753677
CONFIG_USB_STORAGE_CYPRESS_ATACB=m
36763678
CONFIG_USB_STORAGE_ENE_UB6250=m
3677-
CONFIG_USB_UAS=m
3679+
CONFIG_USB_UAS=y
36783680
CONFIG_USB_MDC800=m
36793681
CONFIG_USB_MICROTEK=m
36803682
CONFIG_USBIP_CORE=m
@@ -3864,12 +3866,11 @@ CONFIG_TYPEC_MUX_PI3USB30532=m
38643866
CONFIG_TYPEC_MUX_INTEL_PMC=m
38653867
CONFIG_USB_ROLES_INTEL_XHCI=m
38663868
CONFIG_MMC=y
3867-
CONFIG_MMC_BLOCK=m
38683869
CONFIG_SDIO_UART=m
38693870
CONFIG_MMC_CRYPTO=y
3870-
CONFIG_MMC_SDHCI=m
3871-
CONFIG_MMC_SDHCI_PCI=m
3872-
CONFIG_MMC_SDHCI_ACPI=m
3871+
CONFIG_MMC_SDHCI=y
3872+
CONFIG_MMC_SDHCI_PCI=y
3873+
CONFIG_MMC_SDHCI_ACPI=y
38733874
CONFIG_MMC_SDHCI_PLTFM=m
38743875
CONFIG_MMC_SDHCI_F_SDH30=m
38753876
CONFIG_MMC_WBSD=m
@@ -5134,10 +5135,10 @@ CONFIG_FSCACHE=m
51345135
CONFIG_FSCACHE_STATS=y
51355136
CONFIG_CACHEFILES=m
51365137
CONFIG_CACHEFILES_ERROR_INJECTION=y
5137-
CONFIG_ISO9660_FS=m
5138+
CONFIG_ISO9660_FS=y
51385139
CONFIG_JOLIET=y
51395140
CONFIG_ZISOFS=y
5140-
CONFIG_UDF_FS=m
5141+
CONFIG_UDF_FS=y
51415142
CONFIG_MSDOS_FS=m
51425143
CONFIG_VFAT_FS=y
51435144
CONFIG_EXFAT_FS=m

0 commit comments

Comments
 (0)