From a523de1bca55b2a16e98c2954acd06c37b1c0dfc Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Thu, 6 Jun 2019 19:30:39 -0500 Subject: [PATCH 01/13] Update and rename x230-flash.init to install.init --- initrd/bin/{x230-flash.init => install.init} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename initrd/bin/{x230-flash.init => install.init} (92%) diff --git a/initrd/bin/x230-flash.init b/initrd/bin/install.init similarity index 92% rename from initrd/bin/x230-flash.init rename to initrd/bin/install.init index e02dcf5d8..872ebb861 100755 --- a/initrd/bin/x230-flash.init +++ b/initrd/bin/install.init @@ -20,7 +20,7 @@ echo '' echo 'To install from flash drive:' echo '' echo ' mount -o ro /dev/sdb1 /media' -echo ' flashrom-x230.sh /media/x230.rom' +echo ' flash.sh /media/' echo '' exec /bin/ash From 3bc2d158033761679905001f895a411ba424a3e9 Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Thu, 6 Jun 2019 19:32:07 -0500 Subject: [PATCH 02/13] Update x230-flash.config --- boards/x230-flash/x230-flash.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boards/x230-flash/x230-flash.config b/boards/x230-flash/x230-flash.config index b10d17aff..17be7fafd 100644 --- a/boards/x230-flash/x230-flash.config +++ b/boards/x230-flash/x230-flash.config @@ -16,7 +16,7 @@ CONFIG_LINUX_USB=y CONFIG_LINUX_E1000E=y export CONFIG_USB_BOOT_DEV="/dev/sdb1" -export CONFIG_BOOTSCRIPT=/bin/x230-flash.init +export CONFIG_BOOTSCRIPT=/bin/install.init # This board is "special" in that we only want the top 4 MB of the ROM # for flashing into SPI flash 1 on the mainboard. This is enough to From f59e8b8c8157f97ee2efc2b9b8ae9320a87d4dff Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Thu, 6 Jun 2019 19:36:06 -0500 Subject: [PATCH 03/13] Create coreboot-t430.config --- config/coreboot-t430.config | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 config/coreboot-t430.config diff --git a/config/coreboot-t430.config b/config/coreboot-t430.config new file mode 100644 index 000000000..5304d8255 --- /dev/null +++ b/config/coreboot-t430.config @@ -0,0 +1,24 @@ +CONFIG_LOCALVERSION="heads" +# CONFIG_INCLUDE_CONFIG_FILE is not set +# CONFIG_COLLECT_TIMESTAMPS is not set +CONFIG_USE_BLOBS=y +CONFIG_MEASURED_BOOT=y +CONFIG_VENDOR_LENOVO=y +CONFIG_CBFS_SIZE=0x700000 +# CONFIG_POST_IO is not set +# CONFIG_POST_DEVICE is not set +CONFIG_DRIVERS_UART_8250IO=y +CONFIG_BOARD_LENOVO_T430=y +CONFIG_DRIVERS_PS2_KEYBOARD=y +CONFIG_UART_PCI_ADDR=0 +CONFIG_NO_GFX_INIT=y +# CONFIG_CONSOLE_SERIAL is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5=y +CONFIG_PAYLOAD_LINUX=y +CONFIG_PAYLOAD_FILE="../../build/t430/bzImage" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet" +CONFIG_LINUX_INITRD="../../build/t430/initrd.cpio.xz" +CONFIG_DEBUG_SMM_RELOCATION=y From c5e01c3ffcbbee5ade80ed78d74fd8416e1d4a68 Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Thu, 6 Jun 2019 19:36:30 -0500 Subject: [PATCH 04/13] Create coreboot-t430-flash.config --- config/coreboot-t430-flash.config | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 config/coreboot-t430-flash.config diff --git a/config/coreboot-t430-flash.config b/config/coreboot-t430-flash.config new file mode 100644 index 000000000..f1c7b0655 --- /dev/null +++ b/config/coreboot-t430-flash.config @@ -0,0 +1,17 @@ +CONFIG_LOCALVERSION="heads" +# CONFIG_INCLUDE_CONFIG_FILE is not set +# CONFIG_COLLECT_TIMESTAMPS is not set +CONFIG_USE_BLOBS=y +CONFIG_MEASURED_BOOT=y +CONFIG_VENDOR_LENOVO=y +CONFIG_CBFS_SIZE=0x400000 +# CONFIG_POST_DEVICE is not set +CONFIG_DRIVERS_UART_8250IO=y +CONFIG_BOARD_LENOVO_T430=y +CONFIG_DRIVERS_PS2_KEYBOARD=y +CONFIG_UART_PCI_ADDR=0 +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +CONFIG_PAYLOAD_LINUX=y +CONFIG_PAYLOAD_FILE="../../build/t430-flash/bzImage" +CONFIG_LINUX_INITRD="../../build/t430-flash/initrd.cpio.xz" From 515e5dcddb63da94937036b5d90de3375eca33ae Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Thu, 6 Jun 2019 19:37:01 -0500 Subject: [PATCH 05/13] Create t430.config --- boards/t430/t430.config | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 boards/t430/t430.config diff --git a/boards/t430/t430.config b/boards/t430/t430.config new file mode 100644 index 000000000..4ed35901f --- /dev/null +++ b/boards/t430/t430.config @@ -0,0 +1,44 @@ +# Configuration for a t430 running Qubes and other OSes +export CONFIG_COREBOOT=y +CONFIG_COREBOOT_CONFIG=config/coreboot-t430.config +CONFIG_LINUX_CONFIG=config/linux-x230.config + +CONFIG_CRYPTSETUP=y +CONFIG_FLASHROM=y +CONFIG_FLASHTOOLS=y +CONFIG_GPG2=y +CONFIG_KEXEC=y +CONFIG_UTIL_LINUX=y +CONFIG_LVM2=y +CONFIG_MBEDTLS=y +CONFIG_PCIUTILS=y +CONFIG_POPT=y +CONFIG_QRENCODE=y +CONFIG_TPMTOTP=y +CONFIG_DROPBEAR=y + +CONFIG_CAIRO=y +CONFIG_FBWHIPTAIL=y + +CONFIG_LINUX_USB=y +CONFIG_LINUX_E1000E=y + +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="intel_iommu=on intel_iommu=igfx_off" +export CONFIG_BOOT_KERNEL_REMOVE="quiet" +export CONFIG_BOOT_DEV="/dev/sda1" +export CONFIG_BOOT_GUI_MENU_NAME="Thinkpad T430 Heads Boot Menu" +export CONFIG_USB_BOOT_DEV="/dev/sdb1" +export CONFIG_WARNING_BG_COLOR="--background-gradient 0 0 0 150 125 0" +export CONFIG_ERROR_BG_COLOR="--background-gradient 0 0 0 150 0 0" + +# This board has two SPI flash chips, an 8 MB that holds the IFD, +# the ME image and part of the coreboot image, and a 4 MB one that +# has the rest of the coreboot and the reset vector. +# +# Only flashing to the bios region is safe to do. The easiest is to +# flash internally when the IFD is unlocked for writing, and x230-flash +# is installed first. From 2dfa180b3e467fbf738d2d1834d30e14c60ce141 Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Thu, 6 Jun 2019 19:37:28 -0500 Subject: [PATCH 06/13] Create t430-flash.config --- boards/t430-flash/t430-flash.config | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 boards/t430-flash/t430-flash.config diff --git a/boards/t430-flash/t430-flash.config b/boards/t430-flash/t430-flash.config new file mode 100644 index 000000000..80bee434a --- /dev/null +++ b/boards/t430-flash/t430-flash.config @@ -0,0 +1,28 @@ +# Minimal configuration for a t430 to support flashrom, USB and networking +BOARD=t430.flash + +export CONFIG_COREBOOT=y +CONFIG_FLASHROM=y +#CONFIG_GPG=y +CONFIG_FLASHTOOLS=y +CONFIG_PCIUTILS=y +#CONFIG_MBEDTLS=y +#CONFIG_QRENCODE=y +#CONFIG_TPMTOTP=y +#CONFIG_DROPBEAR=y + +CONFIG_LINUX_CONFIG=config/linux-x230-flash.config +CONFIG_LINUX_USB=y +CONFIG_LINUX_E1000E=y + +export CONFIG_USB_BOOT_DEV="/dev/sdb1" +export CONFIG_BOOTSCRIPT=/bin/install.init + +# This board is "special" in that we only want the top 4 MB of the ROM +# for flashing into SPI flash 1 on the mainboard. This is enough to +# allow the board to boot into a minimal Heads and read the full +# ROM from an external USB media. +all: $(build)/$(BOARD)/$(BOARD).rom +$(build)/$(BOARD)/$(BOARD).rom: $(build)/$(BOARD)/coreboot.rom + dd of=$@ if=$< bs=65536 count=64 skip=128 + sha256sum $@ From 8350d5d75215939f86148584d70a61f46b2a94ce Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Thu, 6 Jun 2019 19:54:17 -0500 Subject: [PATCH 07/13] Update coreboot-t430-flash.config --- config/coreboot-t430-flash.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/coreboot-t430-flash.config b/config/coreboot-t430-flash.config index f1c7b0655..dca0d553f 100644 --- a/config/coreboot-t430-flash.config +++ b/config/coreboot-t430-flash.config @@ -7,7 +7,7 @@ CONFIG_VENDOR_LENOVO=y CONFIG_CBFS_SIZE=0x400000 # CONFIG_POST_DEVICE is not set CONFIG_DRIVERS_UART_8250IO=y -CONFIG_BOARD_LENOVO_T430=y +CONFIG_BOARD_LENOVO_THINKPAD_T430=y CONFIG_DRIVERS_PS2_KEYBOARD=y CONFIG_UART_PCI_ADDR=0 CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000 From f8e0e2ffee4f8e0fa4c782649c3c7dd1aadcf8bc Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Thu, 6 Jun 2019 19:55:03 -0500 Subject: [PATCH 08/13] Update coreboot-t430-flash.config From 55162cffbbcf0216e9426f45c77b84e7a2fb147a Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Thu, 6 Jun 2019 19:56:06 -0500 Subject: [PATCH 09/13] Update flash.sh --- initrd/bin/flash.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/initrd/bin/flash.sh b/initrd/bin/flash.sh index e89c9a98c..0fd97ee43 100755 --- a/initrd/bin/flash.sh +++ b/initrd/bin/flash.sh @@ -13,6 +13,9 @@ case "$CONFIG_BOARD" in x230* ) FLASHROM_OPTIONS='--force --noverify-all --programmer internal --ifd --image bios' ;; + t430* ) + FLASHROM_OPTIONS='--force --noverify-all --programmer internal:laptop=force_I_want_a_brick --ifd --image bios' + ;; "kgpe-d16" ) FLASHROM_OPTIONS='--force --noverify --programmer internal' ;; From 1f36130a00acc4c685dd177f851030769aee0a58 Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Fri, 21 Jun 2019 12:44:19 -0500 Subject: [PATCH 10/13] Update coreboot-t430.config Board name inconsistencies! T430 is THINKPAD_T430 and not T430! --- config/coreboot-t430.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/coreboot-t430.config b/config/coreboot-t430.config index 5304d8255..b21181194 100644 --- a/config/coreboot-t430.config +++ b/config/coreboot-t430.config @@ -8,7 +8,7 @@ CONFIG_CBFS_SIZE=0x700000 # CONFIG_POST_IO is not set # CONFIG_POST_DEVICE is not set CONFIG_DRIVERS_UART_8250IO=y -CONFIG_BOARD_LENOVO_T430=y +CONFIG_BOARD_LENOVO_THINKPAD_T430=y CONFIG_DRIVERS_PS2_KEYBOARD=y CONFIG_UART_PCI_ADDR=0 CONFIG_NO_GFX_INIT=y From e7d5fb521dbb894e70c438c2550fb6a3ba221dc6 Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Sat, 6 Jul 2019 09:54:10 -0500 Subject: [PATCH 11/13] Update t430-flash.config Move flash definitions to board config --- boards/t430-flash/t430-flash.config | 1 + 1 file changed, 1 insertion(+) diff --git a/boards/t430-flash/t430-flash.config b/boards/t430-flash/t430-flash.config index 80bee434a..c06f4078f 100644 --- a/boards/t430-flash/t430-flash.config +++ b/boards/t430-flash/t430-flash.config @@ -17,6 +17,7 @@ CONFIG_LINUX_E1000E=y export CONFIG_USB_BOOT_DEV="/dev/sdb1" export CONFIG_BOOTSCRIPT=/bin/install.init +export FLASHROM_OPTIONS='--force --noverify-all -p internal:laptop=force_I_want_a_brick --ifd --image bios' # This board is "special" in that we only want the top 4 MB of the ROM # for flashing into SPI flash 1 on the mainboard. This is enough to From 3e3c3a8e71c3bf4758ca7655dadb9002c7273965 Mon Sep 17 00:00:00 2001 From: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com> Date: Sat, 6 Jul 2019 09:54:47 -0500 Subject: [PATCH 12/13] Update t430.config Move flash definition to board config --- boards/t430/t430.config | 1 + 1 file changed, 1 insertion(+) diff --git a/boards/t430/t430.config b/boards/t430/t430.config index 4ed35901f..09487dca4 100644 --- a/boards/t430/t430.config +++ b/boards/t430/t430.config @@ -34,6 +34,7 @@ export CONFIG_BOOT_GUI_MENU_NAME="Thinkpad T430 Heads Boot Menu" export CONFIG_USB_BOOT_DEV="/dev/sdb1" export CONFIG_WARNING_BG_COLOR="--background-gradient 0 0 0 150 125 0" export CONFIG_ERROR_BG_COLOR="--background-gradient 0 0 0 150 0 0" +export FLASHROM_OPTIONS='--force --noverify-all -p internal:laptop=force_I_want_a_brick --ifd --image bios' # This board has two SPI flash chips, an 8 MB that holds the IFD, # the ME image and part of the coreboot image, and a 4 MB one that From d38279ea39b806c380a5cf36edb1078bbdf87733 Mon Sep 17 00:00:00 2001 From: Sebastian McMillan Date: Sat, 6 Jul 2019 10:05:17 -0500 Subject: [PATCH 13/13] Revert "Update flash.sh" This reverts commit 55162cffbbcf0216e9426f45c77b84e7a2fb147a. revert changes to flash.sh, as we will use the new way to get flash definitions in osresearch/#592 --- initrd/bin/flash.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/initrd/bin/flash.sh b/initrd/bin/flash.sh index 0fd97ee43..e89c9a98c 100755 --- a/initrd/bin/flash.sh +++ b/initrd/bin/flash.sh @@ -13,9 +13,6 @@ case "$CONFIG_BOARD" in x230* ) FLASHROM_OPTIONS='--force --noverify-all --programmer internal --ifd --image bios' ;; - t430* ) - FLASHROM_OPTIONS='--force --noverify-all --programmer internal:laptop=force_I_want_a_brick --ifd --image bios' - ;; "kgpe-d16" ) FLASHROM_OPTIONS='--force --noverify --programmer internal' ;;