mirror of
https://github.com/linuxboot/heads.git
synced 2025-04-09 04:14:34 +00:00
Merge 37c6886c1ed79c9d5d643bfffc7e7a75cd5b1ebf into d4c4e5699b89365a88d9d49748dbcc11b6394907
This commit is contained in:
commit
b8af5f0275
@ -189,6 +189,7 @@ jobs:
|
||||
- build/x86/coreboot-4.11
|
||||
- build/x86/coreboot-24.02.01
|
||||
- build/x86/coreboot-dasharo
|
||||
- build/x86/coreboot-mrchromebox
|
||||
- build/x86/coreboot-purism
|
||||
- build/x86/musl-cross-make-38e52db8358c043ae82b346a2e6e66bc86a53bc1
|
||||
- crossgcc
|
||||
@ -236,6 +237,14 @@ workflows:
|
||||
requires:
|
||||
- x86-musl-cross-make
|
||||
|
||||
# coreboot-git mrchromebox
|
||||
- build:
|
||||
name: omnigul
|
||||
target: omnigul
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x86-musl-cross-make
|
||||
|
||||
# coreboot purism
|
||||
- build_and_persist:
|
||||
name: librem_14
|
||||
|
81
boards/omnigul/omnigul.config
Normal file
81
boards/omnigul/omnigul.config
Normal file
@ -0,0 +1,81 @@
|
||||
# Configuration for a Acer Chromebook Plus 515 (CB515-2H/OMNIGUL)
|
||||
# Intel iGPU "UHD Graphics", 12th Gen Intel Core i3-1215U, 8GB RAM
|
||||
# 128GB UFS Storage (iNAND brand), Intel AX211 Wi-FI 6E,
|
||||
# 32MB Winbond Chip W25Q256JVEM - WSON8 8x6 probe needed.
|
||||
|
||||
export CONFIG_COREBOOT=y
|
||||
export CONFIG_COREBOOT_VERSION=mrchromebox
|
||||
export CONFIG_LINUX_VERSION=6.6.30
|
||||
|
||||
CONFIG_COREBOOT_CONFIG=config/coreboot-omnigul.config
|
||||
CONFIG_LINUX_CONFIG=config/linux-omnigul.config
|
||||
|
||||
#Enable DEBUG output
|
||||
#export CONFIG_DEBUG_OUTPUT=y
|
||||
#export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=y
|
||||
#Enable TPM2 pcap output under /tmp
|
||||
#export CONFIG_TPM2_CAPTURE_PCAP=y
|
||||
|
||||
# Since the TPM 2.0 implementation in the CR50 is not complete
|
||||
# we are disabling TPM Disk Unlock
|
||||
CONFIG_TPM_NO_LUKS_DISK_UNLOCK=y
|
||||
|
||||
#On-demand hardware support (modules.cpio)
|
||||
CONFIG_LINUX_USB=y
|
||||
CONFIG_LINUX_E1000=n
|
||||
CONFIG_MOBILE_TETHERING=y
|
||||
|
||||
#Modules packed into tools.cpio
|
||||
CONFIG_CRYPTSETUP2=y
|
||||
CONFIG_FLASHPROG=y
|
||||
CONFIG_FLASHTOOLS=y
|
||||
CONFIG_GPG2=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_UTIL_LINUX=y
|
||||
CONFIG_LVM2=y
|
||||
CONFIG_MBEDTLS=y
|
||||
CONFIG_PCIUTILS=y
|
||||
#Runtime tools to write to EC/MSR
|
||||
CONFIG_IOTOOLS=n
|
||||
CONFIG_MSRTOOLS=n
|
||||
#Remote attestation support
|
||||
# TPM2 requirements
|
||||
CONFIG_TPM2_TSS=y
|
||||
CONFIG_OPENSSL=y
|
||||
#Remote Attestation common tools
|
||||
CONFIG_POPT=y
|
||||
CONFIG_QRENCODE=y
|
||||
CONFIG_TPMTOTP=y
|
||||
#HOTP based remote attestation for supported USB Security dongle
|
||||
#With/Without TPM support
|
||||
CONFIG_HOTPKEY=n
|
||||
#Nitrokey Storage admin tool (deprecated)
|
||||
#CONFIG_NKSTORECLI=n
|
||||
#GUI Support
|
||||
#Console based Whiptail support(Console based, no FB):
|
||||
#CONFIG_SLANG=y
|
||||
#CONFIG_NEWT=y
|
||||
#FBWhiptail based (Graphical):
|
||||
CONFIG_CAIRO=y
|
||||
CONFIG_FBWHIPTAIL=y
|
||||
#Additional tools (tools.cpio):
|
||||
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
||||
CONFIG_DROPBEAR=y
|
||||
|
||||
#Runtime configuration
|
||||
#Automatically boot if HOTP is valid
|
||||
export CONFIG_AUTO_BOOT_TIMEOUT=5
|
||||
#TPM2 requirements
|
||||
export CONFIG_TPM2_TOOLS=y
|
||||
export CONFIG_PRIMARY_KEY_TYPE=ecc
|
||||
#TPM1 requirements
|
||||
#export CONFIG_TPM=y
|
||||
export CONFIG_BOOTSCRIPT=/bin/gui-init
|
||||
export CONFIG_BOOT_REQ_HASH=n
|
||||
export CONFIG_BOOT_REQ_ROLLBACK=n
|
||||
export CONFIG_BOOT_KERNEL_ADD=""
|
||||
export CONFIG_BOOT_KERNEL_REMOVE=""
|
||||
export CONFIG_BOOT_DEV="/dev/sda2"
|
||||
export CONFIG_BOARD_NAME="Google Omnigul"
|
||||
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal --ifd -i bios -i fd"
|
||||
export CONFIG_AUTO_BOOT_TIMEOUT=5
|
1473
config/coreboot-omnigul.config
Normal file
1473
config/coreboot-omnigul.config
Normal file
File diff suppressed because it is too large
Load Diff
3536
config/linux-omnigul.config
Normal file
3536
config/linux-omnigul.config
Normal file
File diff suppressed because it is too large
Load Diff
@ -91,6 +91,11 @@ coreboot-purism_repo := https://source.puri.sm/firmware/coreboot.git
|
||||
coreboot-purism_commit_hash := bea9947a1279be7d4a72b38a601d0288d10d1cb8
|
||||
$(eval $(call coreboot_module,purism,24.02.01))
|
||||
|
||||
# MrChromebox is based on 4.22, but focusing on Chromebooks / Chromeboxes.
|
||||
coreboot-mrchromebox_repo := https://github.com/MrChromebox/coreboot.git
|
||||
coreboot-mrchromebox_commit_hash := 9071e69522e38bef841253dc5970ca6b806d2e55
|
||||
$(eval $(call coreboot_module,mrchromebox,))
|
||||
|
||||
# MSI and NovaCustom NV4xPZ, NS5xPU, V560TU boards are based on Dasharo
|
||||
# coreboot fork, based on upstream coreboot version 24.02
|
||||
coreboot-dasharo_repo := https://github.com/dasharo/coreboot
|
||||
|
@ -34,6 +34,9 @@ linux_hash := 40f014d53e81f204f6d2a364aae4201ae07970dd1b70dc602d7c66c1a140f558
|
||||
else ifeq "$(CONFIG_LINUX_VERSION)" "6.1.8"
|
||||
linux_version := 6.1.8
|
||||
linux_hash := b60bb53ab8ba370a270454b11e93d41af29126fc72bd6ede517673e2e57b816d
|
||||
else ifeq "$(CONFIG_LINUX_VERSION)" "6.6.30"
|
||||
linux_version := 6.6.30
|
||||
linux_hash := b66a5b863b0f8669448b74ca83bd641a856f164b29956e539bbcb5fdeeab9cc6
|
||||
else
|
||||
$(error "$(BOARD): does not specify linux kernel version under CONFIG_LINUX_VERSION")
|
||||
endif
|
||||
|
32
patches/linux-6.6.30/0001-fake-acpi.patch
Normal file
32
patches/linux-6.6.30/0001-fake-acpi.patch
Normal file
@ -0,0 +1,32 @@
|
||||
diff --recursive -u ./clean/linux-4.9.80/drivers/acpi/acpica/evxfevnt.c linux-4.9.80/drivers/acpi/acpica/evxfevnt.c
|
||||
--- ./clean/linux-4.9.80/drivers/acpi/acpica/evxfevnt.c 2018-02-03 11:05:43.000000000 -0500
|
||||
+++ linux-4.9.80/drivers/acpi/acpica/evxfevnt.c 2018-02-07 15:51:28.786502597 -0500
|
||||
@@ -111,6 +111,8 @@
|
||||
}
|
||||
|
||||
ACPI_ERROR((AE_INFO, "Hardware did not enter ACPI mode"));
|
||||
+printk("%s:%d faking ACPI mode\n", __func__, __LINE__);
|
||||
+ return_ACPI_STATUS(AE_OK);
|
||||
return_ACPI_STATUS(AE_NO_HARDWARE_RESPONSE);
|
||||
}
|
||||
|
||||
diff --recursive -u ./clean/linux-4.9.80/drivers/acpi/acpica/hwacpi.c linux-4.9.80/drivers/acpi/acpica/hwacpi.c
|
||||
--- ./clean/linux-4.9.80/drivers/acpi/acpica/hwacpi.c 2018-02-03 11:05:43.000000000 -0500
|
||||
+++ linux-4.9.80/drivers/acpi/acpica/hwacpi.c 2018-02-07 15:51:35.126557868 -0500
|
||||
@@ -168,12 +168,16 @@
|
||||
|
||||
status = acpi_read_bit_register(ACPI_BITREG_SCI_ENABLE, &value);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
+printk("%s:%d faking ACPI mode\n", __func__, __LINE__);
|
||||
+ return_UINT32(ACPI_SYS_MODE_ACPI);
|
||||
return_UINT32(ACPI_SYS_MODE_LEGACY);
|
||||
}
|
||||
|
||||
if (value) {
|
||||
return_UINT32(ACPI_SYS_MODE_ACPI);
|
||||
} else {
|
||||
+//printk("%s:%d faking ACPI mode\n", __func__, __LINE__);
|
||||
+// return_UINT32(ACPI_SYS_MODE_ACPI);
|
||||
return_UINT32(ACPI_SYS_MODE_LEGACY);
|
||||
}
|
||||
}
|
20
patches/linux-6.6.30/0002-nmi-squelch.patch
Normal file
20
patches/linux-6.6.30/0002-nmi-squelch.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff --recursive -u ./clean/linux-4.9.80/arch/x86/kernel/nmi.c linux-4.9.80/arch/x86/kernel/nmi.c
|
||||
--- ./clean/linux-4.9.80/arch/x86/kernel/nmi.c 2018-02-03 11:05:43.000000000 -0500
|
||||
+++ linux-4.9.80/arch/x86/kernel/nmi.c 2018-02-07 18:56:10.475613884 -0500
|
||||
@@ -303,6 +303,8 @@
|
||||
|
||||
__this_cpu_add(nmi_stats.unknown, 1);
|
||||
|
||||
+#if 0
|
||||
+// qemu generates these for some reason
|
||||
pr_emerg("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
|
||||
reason, smp_processor_id());
|
||||
|
||||
@@ -311,6 +313,7 @@
|
||||
nmi_panic(regs, "NMI: Not continuing");
|
||||
|
||||
pr_emerg("Dazed and confused, but trying to continue\n");
|
||||
+#endif
|
||||
}
|
||||
NOKPROBE_SYMBOL(unknown_nmi_error);
|
||||
|
18
patches/linux-6.6.30/0010-winterfell-ahci.patch
Normal file
18
patches/linux-6.6.30/0010-winterfell-ahci.patch
Normal file
@ -0,0 +1,18 @@
|
||||
diff --recursive -u ./clean/linux-4.9.80/drivers/ata/libahci.c linux-4.9.80/drivers/ata/libahci.c
|
||||
--- ./clean/linux-4.9.80/drivers/ata/libahci.c 2018-02-03 11:05:43.000000000 -0500
|
||||
+++ linux-4.9.80/drivers/ata/libahci.c 2018-02-07 18:02:32.526535910 -0500
|
||||
@@ -537,8 +537,12 @@
|
||||
}
|
||||
|
||||
/* fabricate port_map from cap.nr_ports for < AHCI 1.3 */
|
||||
- if (!port_map && vers < 0x10300) {
|
||||
- port_map = (1 << ahci_nr_ports(cap)) - 1;
|
||||
+ if (!port_map) { // && vers < 0x10300) {
|
||||
+ printk("%s: saved_port=%02x\n", __func__, hpriv->saved_port_map);
|
||||
+ writel(0x1, mmio + HOST_PORTS_IMPL);
|
||||
+ port_map = readl(mmio + HOST_PORTS_IMPL);
|
||||
+
|
||||
+ //port_map = (1 << ahci_nr_ports(cap)) - 1;
|
||||
dev_warn(dev, "forcing PORTS_IMPL to 0x%lx\n", port_map);
|
||||
|
||||
/* write the fixed up value to the PI register */
|
Loading…
x
Reference in New Issue
Block a user