mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-18 20:47:55 +00:00
adding working w530 board, initrd and config files
This commit is contained in:
parent
652bcb8ad0
commit
ce435a4148
33
boards/w530-flash/w530-flash.config
Normal file
33
boards/w530-flash/w530-flash.config
Normal file
@ -0,0 +1,33 @@
|
||||
# Minimal configuration for a w530 to support flashrom, USB and networking
|
||||
BOARD=w530.flash
|
||||
|
||||
export CONFIG_COREBOOT=y
|
||||
export CONFIG_COREBOOT_VERSION=4.13
|
||||
export CONFIG_LINUX_VERSION=4.14.62
|
||||
|
||||
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_BOOTSCRIPT=/bin/w530-flash.init
|
||||
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal --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
|
||||
# allow the board to boot into a minimal Heads and read the full
|
||||
# ROM from an external USB media.
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
|
||||
@sha256sum $@
|
||||
#We remove the original ROM, leaving only the 4mb top one
|
||||
rm $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
89
boards/w530-hotp-maximized/w530-hotp-maximized.config
Normal file
89
boards/w530-hotp-maximized/w530-hotp-maximized.config
Normal file
@ -0,0 +1,89 @@
|
||||
# Configuration for a W530 running Qubes and other Linux Based OSes (through kexec)
|
||||
#
|
||||
# Includes
|
||||
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
|
||||
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
|
||||
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
|
||||
#
|
||||
# - Includes Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
|
||||
export CONFIG_COREBOOT=y
|
||||
export CONFIG_COREBOOT_VERSION=4.13
|
||||
export CONFIG_LINUX_VERSION=4.14.62
|
||||
|
||||
CONFIG_COREBOOT_CONFIG=config/coreboot-w530-hotp-maximized.config
|
||||
CONFIG_LINUX_CONFIG=config/linux-x230.config
|
||||
|
||||
#Additional hardware support
|
||||
CONFIG_LINUX_USB=y
|
||||
CONFIG_LINUX_E1000E=y
|
||||
|
||||
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
|
||||
|
||||
#Remote attestation support
|
||||
#TPM based requirements
|
||||
export CONFIG_TPM=y
|
||||
CONFIG_POPT=y
|
||||
CONFIG_QRENCODE=y
|
||||
CONFIG_TPMTOTP=y
|
||||
#HOTP based remote attestation for supported USB Security dongle
|
||||
#With/Without TPM support
|
||||
CONFIG_HOTPKEY=y
|
||||
|
||||
#Nitrokey Storage admin tool
|
||||
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:
|
||||
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
||||
CONFIG_DROPBEAR=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_BOARD_NAME="Thinkpad W530-hotp-maximized"
|
||||
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"
|
||||
|
||||
# xx30-*-maximized boards require of you initially call one of the
|
||||
# following to have gbe.bin ifd.bin and me.bin
|
||||
# - blobs/xx30/download_clean_me.sh
|
||||
# To download Lenovo original ME binary, neuter+deactivate ME, produce
|
||||
# reduced IFD ME region and expanded BIOS IFD region.
|
||||
# - blobs/xx30/extract.sh
|
||||
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# As a consequence, this replaces the need of having to flash t530-flash
|
||||
# and expands available CBFS region (11.5Mb available CBFS space)
|
||||
#
|
||||
# When flashing via an external programmer it is easiest to have
|
||||
# two separate files for these pieces.
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none)
|
||||
@sha256sum $@
|
||||
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
|
||||
@sha256sum $@
|
89
boards/w530-maximized/w530-maximized.config
Normal file
89
boards/w530-maximized/w530-maximized.config
Normal file
@ -0,0 +1,89 @@
|
||||
# Configuration for a W530 running Qubes and other Linux Based OSes (through kexec)
|
||||
#
|
||||
# Includes
|
||||
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
|
||||
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
|
||||
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
|
||||
#
|
||||
# - Includes Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
|
||||
export CONFIG_COREBOOT=y
|
||||
export CONFIG_COREBOOT_VERSION=4.13
|
||||
export CONFIG_LINUX_VERSION=4.14.62
|
||||
|
||||
CONFIG_COREBOOT_CONFIG=config/coreboot-w530-maximized.config
|
||||
CONFIG_LINUX_CONFIG=config/linux-x230.config
|
||||
|
||||
#Additional hardware support
|
||||
CONFIG_LINUX_USB=y
|
||||
CONFIG_LINUX_E1000E=y
|
||||
|
||||
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
|
||||
|
||||
#Remote attestation support
|
||||
#TPM based requirements
|
||||
export CONFIG_TPM=y
|
||||
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
|
||||
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:
|
||||
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
||||
CONFIG_DROPBEAR=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_BOARD_NAME="Thinkpad W530-maximized"
|
||||
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"
|
||||
|
||||
# xx30-*-maximized boards require of you initially call one of the
|
||||
# following to have gbe.bin ifd.bin and me.bin
|
||||
# - blobs/xx30/download_clean_me.sh
|
||||
# To download Lenovo original ME binary, neuter+deactivate ME, produce
|
||||
# reduced IFD ME region and expanded BIOS IFD region.
|
||||
# - blobs/xx30/extract.sh
|
||||
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# As a consequence, this replaces the need of having to flash t530-flash
|
||||
# and expands available CBFS region (11.5Mb available CBFS space)
|
||||
#
|
||||
# When flashing via an external programmer it is easiest to have
|
||||
# two separate files for these pieces.
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none)
|
||||
@sha256sum $@
|
||||
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
|
||||
@sha256sum $@
|
16
config/coreboot-w530-flash.config
Normal file
16
config/coreboot-w530-flash.config
Normal file
@ -0,0 +1,16 @@
|
||||
# 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_W530=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/w530-flash/bzImage"
|
||||
CONFIG_LINUX_INITRD="../../build/w530-flash/initrd.cpio.xz"
|
21
config/coreboot-w530-hotp-maximized.config
Normal file
21
config/coreboot-w530-hotp-maximized.config
Normal file
@ -0,0 +1,21 @@
|
||||
CONFIG_TPM_MEASURED_BOOT=y
|
||||
CONFIG_VENDOR_LENOVO=y
|
||||
CONFIG_CBFS_SIZE=0xB80000
|
||||
CONFIG_HAVE_IFD_BIN=y
|
||||
CONFIG_HAVE_ME_BIN=y
|
||||
CONFIG_HAVE_GBE_BIN=y
|
||||
CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin"
|
||||
CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin"
|
||||
CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin"
|
||||
CONFIG_BOARD_LENOVO_W530=y
|
||||
CONFIG_NO_POST=y
|
||||
CONFIG_UART_PCI_ADDR=0
|
||||
# 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/w530-hotp-maximized/bzImage"
|
||||
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet"
|
||||
CONFIG_LINUX_INITRD="../../build/w530-hotp-maximized/initrd.cpio.xz"
|
||||
CONFIG_USE_OPTION_TABLE=y
|
||||
CONFIG_STATIC_OPTION_TABLE=y
|
21
config/coreboot-w530-maximized.config
Normal file
21
config/coreboot-w530-maximized.config
Normal file
@ -0,0 +1,21 @@
|
||||
CONFIG_TPM_MEASURED_BOOT=y
|
||||
CONFIG_VENDOR_LENOVO=y
|
||||
CONFIG_CBFS_SIZE=0xB80000
|
||||
CONFIG_HAVE_IFD_BIN=y
|
||||
CONFIG_HAVE_ME_BIN=y
|
||||
CONFIG_HAVE_GBE_BIN=y
|
||||
CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin"
|
||||
CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin"
|
||||
CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin"
|
||||
CONFIG_BOARD_LENOVO_W530=y
|
||||
CONFIG_NO_POST=y
|
||||
CONFIG_UART_PCI_ADDR=0
|
||||
# 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/w530-maximized/bzImage"
|
||||
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet"
|
||||
CONFIG_LINUX_INITRD="../../build/w530-maximized/initrd.cpio.xz"
|
||||
CONFIG_USE_OPTION_TABLE=y
|
||||
CONFIG_STATIC_OPTION_TABLE=y
|
26
initrd/bin/w530-flash.init
Executable file
26
initrd/bin/w530-flash.init
Executable file
@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
# Initialize the USB and network device drivers,
|
||||
# invoke a recovery shell and prompt the user for how to proceed
|
||||
|
||||
. /etc/functions
|
||||
. /tmp/config
|
||||
|
||||
insmod /lib/modules/ehci-hcd.ko
|
||||
insmod /lib/modules/ehci-pci.ko
|
||||
insmod /lib/modules/xhci-hcd.ko
|
||||
insmod /lib/modules/xhci-pci.ko
|
||||
insmod /lib/modules/e1000e.ko
|
||||
insmod /lib/modules/usb-storage.ko
|
||||
|
||||
tpm extend -ix 4 -ic recovery
|
||||
sleep 2
|
||||
|
||||
echo '***** Starting recovery shell'
|
||||
echo ''
|
||||
echo 'To install from flash drive:'
|
||||
echo ''
|
||||
echo ' mount -o ro /dev/sdb1 /media'
|
||||
echo ' flash.sh /media/w530.rom'
|
||||
echo ''
|
||||
|
||||
exec /bin/ash
|
Loading…
Reference in New Issue
Block a user