summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice via Guix-patches via <guix-patches@gnu.org>2021-12-12 06:45:15 +0100
committerLeo Famulari <leo@famulari.name>2021-12-16 12:53:52 -0500
commitbc09e7ab569d5306ce99c5525150695c9d539ef0 (patch)
tree395a7630faef5ae9d766f55b9700e664ceb01b9f /gnu
parentd78ca1cbb17e35fa935a9030bf8e214407b6b4ce (diff)
gnu: linux-libre: Support the Coreboot framebuffer.
Without this, the kernel cannot write to the display until the full-featured driver module (often i915) is loaded from the root file system. If the root file system is encrypted, the initrd's passphrase prompt won't make it to the screen, and the fully responsive system will appear frozen whilst waiting for user input. * gnu/packages/aux-files/linux-libre/4.4-i686.conf, gnu/packages/aux-files/linux-libre/4.4-x86_64.conf, gnu/packages/aux-files/linux-libre/4.14-i686.conf, gnu/packages/aux-files/linux-libre/4.14-x86_64.conf, gnu/packages/aux-files/linux-libre/4.19-i686.conf, gnu/packages/aux-files/linux-libre/4.19-x86_64.conf, gnu/packages/aux-files/linux-libre/5.4-i686.conf, gnu/packages/aux-files/linux-libre/5.4-x86_64.conf, gnu/packages/aux-files/linux-libre/5.10-i686.conf, gnu/packages/aux-files/linux-libre/5.10-x86_64.conf, gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Mark simple framebuffers as generic system ones and enable ‘Google’ firmware drivers to enable Coreboot table support and its dependent framebuffer driver module. * gnu/system/linux-initrd.scm (default-initrd-modules): Add the framebuffer_coreboot and simplefb modules on x86 systems.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/aux-files/linux-libre/4.14-i686.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/4.14-x86_64.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/4.19-i686.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/4.19-x86_64.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/4.4-i686.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/4.4-x86_64.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/5.10-i686.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/5.10-x86_64.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/5.15-i686.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/5.15-x86_64.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/5.4-i686.conf10
-rw-r--r--gnu/packages/aux-files/linux-libre/5.4-x86_64.conf10
-rw-r--r--gnu/system/linux-initrd.scm3
13 files changed, 98 insertions, 25 deletions
diff --git a/gnu/packages/aux-files/linux-libre/4.14-i686.conf b/gnu/packages/aux-files/linux-libre/4.14-i686.conf
index 16a78171157..b7a07b5fe30 100644
--- a/gnu/packages/aux-files/linux-libre/4.14-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.14-i686.conf
@@ -938,7 +938,7 @@ CONFIG_RAPIDIO_CPS_XX=m
CONFIG_RAPIDIO_TSI568=m
CONFIG_RAPIDIO_CPS_GEN2=m
CONFIG_RAPIDIO_RXS_GEN3=m
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
#
# Executable file formats / Emulations
@@ -8495,7 +8495,13 @@ CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/4.14-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.14-x86_64.conf
index 74b1f2cc183..db11c2f6e85 100644
--- a/gnu/packages/aux-files/linux-libre/4.14-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.14-x86_64.conf
@@ -928,7 +928,7 @@ CONFIG_RAPIDIO_CPS_XX=m
CONFIG_RAPIDIO_TSI568=m
CONFIG_RAPIDIO_CPS_GEN2=m
CONFIG_RAPIDIO_RXS_GEN3=m
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
#
# Executable file formats / Emulations
@@ -8332,7 +8332,13 @@ CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/4.19-i686.conf b/gnu/packages/aux-files/linux-libre/4.19-i686.conf
index 0e6637325d9..5deee8206d0 100644
--- a/gnu/packages/aux-files/linux-libre/4.19-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.19-i686.conf
@@ -713,7 +713,7 @@ CONFIG_RAPIDIO_CPS_XX=m
CONFIG_RAPIDIO_TSI568=m
CONFIG_RAPIDIO_CPS_GEN2=m
CONFIG_RAPIDIO_RXS_GEN3=m
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
#
# Binary Emulations
@@ -737,7 +737,13 @@ CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/4.19-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.19-x86_64.conf
index 36636ebb8d2..b76fdc91484 100644
--- a/gnu/packages/aux-files/linux-libre/4.19-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.19-x86_64.conf
@@ -684,7 +684,7 @@ CONFIG_RAPIDIO_CPS_XX=m
CONFIG_RAPIDIO_TSI568=m
CONFIG_RAPIDIO_CPS_GEN2=m
CONFIG_RAPIDIO_RXS_GEN3=m
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
#
# Binary Emulations
@@ -714,7 +714,13 @@ CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/4.4-i686.conf b/gnu/packages/aux-files/linux-libre/4.4-i686.conf
index 32442eb55ad..03aef7abfc1 100644
--- a/gnu/packages/aux-files/linux-libre/4.4-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.4-i686.conf
@@ -825,7 +825,7 @@ CONFIG_RAPIDIO_TSI57X=m
CONFIG_RAPIDIO_CPS_XX=m
CONFIG_RAPIDIO_TSI568=m
CONFIG_RAPIDIO_CPS_GEN2=m
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
#
# Executable file formats / Emulations
@@ -7679,7 +7679,13 @@ CONFIG_DMI_SYSFS=m
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/4.4-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.4-x86_64.conf
index adfb848f5ba..0c7852ba48c 100644
--- a/gnu/packages/aux-files/linux-libre/4.4-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.4-x86_64.conf
@@ -795,7 +795,7 @@ CONFIG_RAPIDIO_TSI57X=m
CONFIG_RAPIDIO_CPS_XX=m
CONFIG_RAPIDIO_TSI568=m
CONFIG_RAPIDIO_CPS_GEN2=m
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
#
# Executable file formats / Emulations
@@ -7461,7 +7461,13 @@ CONFIG_DMI_SYSFS=m
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/5.10-i686.conf b/gnu/packages/aux-files/linux-libre/5.10-i686.conf
index cb1fdc37ad7..d24bbbcaa26 100644
--- a/gnu/packages/aux-files/linux-libre/5.10-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/5.10-i686.conf
@@ -650,7 +650,7 @@ CONFIG_ALIX=y
CONFIG_NET5501=y
CONFIG_GEOS=y
CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
# end of Bus options (PCI etc.)
#
@@ -674,7 +674,13 @@ CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf
index cd61860af95..3a905e62860 100644
--- a/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf
@@ -643,7 +643,7 @@ CONFIG_MMCONF_FAM10H=y
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
# end of Bus options (PCI etc.)
#
@@ -670,7 +670,13 @@ CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/5.15-i686.conf b/gnu/packages/aux-files/linux-libre/5.15-i686.conf
index ce47c19e9f8..0f254cd2a50 100644
--- a/gnu/packages/aux-files/linux-libre/5.15-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/5.15-i686.conf
@@ -2249,8 +2249,14 @@ CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_SYSFB=y
-# CONFIG_SYSFB_SIMPLEFB is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_SYSFB_SIMPLEFB=y
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=m
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/5.15-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.15-x86_64.conf
index ca39ecadc2b..13588ecb0e2 100644
--- a/gnu/packages/aux-files/linux-libre/5.15-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/5.15-x86_64.conf
@@ -2282,8 +2282,14 @@ CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_SYSFB=y
-# CONFIG_SYSFB_SIMPLEFB is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_SYSFB_SIMPLEFB=y
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=m
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/5.4-i686.conf b/gnu/packages/aux-files/linux-libre/5.4-i686.conf
index 4e2d7795c71..4c4f258dcd8 100644
--- a/gnu/packages/aux-files/linux-libre/5.4-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/5.4-i686.conf
@@ -648,7 +648,7 @@ CONFIG_ALIX=y
CONFIG_NET5501=y
CONFIG_GEOS=y
CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
# end of Bus options (PCI etc.)
#
@@ -672,7 +672,13 @@ CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf
index 5815caa7707..ec8609171ed 100644
--- a/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf
@@ -632,7 +632,7 @@ CONFIG_MMCONF_FAM10H=y
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
# end of Bus options (PCI etc.)
#
@@ -659,7 +659,13 @@ CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_FW_CFG_SYSFS=m
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
#
# EFI (Extensible Firmware Interface) Support
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 329cd38cd69..ed94c1de895 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -352,7 +352,8 @@ FILE-SYSTEMS."
"dm-crypt" "xts" "serpent_generic" "wp512" ;for encrypted root partitions
"nls_iso8859-1" ;for `mkfs.fat`, et.al
,@(if (string-match "^(x86_64|i[3-6]86)-" system)
- '("pata_acpi" "pata_atiixp" ;for ATA controllers
+ '("framebuffer_coreboot" "simplefb" ;for display during early boot
+ "pata_acpi" "pata_atiixp" ;for ATA controllers
"isci") ;for SAS controllers like Intel C602
'())