|
| 1 | +# Configuration for Asus P8Z77-M Pro |
| 2 | +#This board is a better choice over the P8H61 for a cost effective Heads + QubesOS desktop with ME neuter+disable compatibility. |
| 3 | +#The P8H61 ecosystem was complex with multiple variants |
| 4 | +#(some not even having a TPM header, and others having RamInit issues with some memory sticks), |
| 5 | +##while less feature rich than the P8Z77 family. The P8H61s that were compatible still required |
| 6 | +#some ME #sections (FCRS,EFFS) to be whitelisted in order to post, which introduced unknowns. |
| 7 | +#The P8H61s #also needed a larger flash chip to work with heads than the manufacturer supplied |
| 8 | +#4M, which add#ed complexity for the average user. |
| 9 | +# |
| 10 | +#The P8Z77-M Pro is able to offer more SATA connectors (2x 6Gb, 4x 3Gb, 2x eSATA) as well as |
| 11 | +#more full size expansion ports. The board has a PS/2 keyboard port as recommended for QubesOS. |
| 12 | +##The board comes with 8M flash chip as standard. |
| 13 | +# |
| 14 | +#The i7-3770 is the best CPU available for the board, with VT-x & VT-d both present |
| 15 | + |
| 16 | +#ME & ROM |
| 17 | +#The board supports Intel LGA1155, which allow for ME removal (both neuter+disable work), ME |
| 18 | +#region resize/shrinking (aka 'maximized' board), as well as VSCC table modification.. |
| 19 | +#The blob download script uses the manufacturer supplied ME and IFD and performs the necessary |
| 20 | +#hashing. The download script also removes the VSCC table by overwriting a NULL at the VSCC |
| 21 | +#length table and FF bytes at the VSCC identifier table - using a printf with dd. The download |
| 22 | +#script also resizes the rom layout and minimizes ME while maximizing space. |
| 23 | +#The P8Z77-M Pro comes as standard with an 8Mb Flash chip, which means that no modification is |
| 24 | +#needed to replace the chip is order to use heads as we shrink ME and 'maximize' this board by |
| 25 | +#default, leaving just 335396 bytes available. |
| 26 | +#The P8Z77-M Pro has both TPM1 and TPM2 modules available, though at time of writing only the |
| 27 | +#TPM1 module would be usable with heads until the TPM2 work is completed. All testing was done |
| 28 | +#with a TPM1 module |
| 29 | +# |
| 30 | +#Test platform |
| 31 | +#BOARD: Asus P8Z77-M Pro |
| 32 | +#RAM: 32Gb - 4x TimeTec DDRL3 75TT16NUL2R8-8G |
| 33 | +#CPU: Intel i7 3770 |
| 34 | +#TPM: Modules tested: Asus branded TPM 1.02H & Foxconn TPM Krypton Rev 1.0 |
| 35 | +# |
| 36 | +# note: nohz=off is an optional CONFIG_LINUX_COMMAND_LINE parameter to supress repeated NOHZ: local_softirq_pending console output |
| 37 | +# |
| 38 | +CONFIG_LINUX_CONFIG=config/linux-x230-maximized.config |
| 39 | +CONFIG_COREBOOT_CONFIG=config/coreboot-p8z77-m_pro-tpm1.config |
| 40 | + |
| 41 | +export CONFIG_COREBOOT=y |
| 42 | +export CONFIG_COREBOOT_VERSION=4.17 |
| 43 | +export CONFIG_LINUX_VERSION=4.14.62 |
| 44 | + |
| 45 | +CONFIG_CRYPTSETUP2=y |
| 46 | +CONFIG_FLASHROM=y |
| 47 | +CONFIG_FLASHTOOLS=y |
| 48 | +CONFIG_GPG2=y |
| 49 | +CONFIG_KEXEC=y |
| 50 | +CONFIG_UTIL_LINUX=y |
| 51 | +CONFIG_LVM2=y |
| 52 | +CONFIG_MBEDTLS=y |
| 53 | +CONFIG_PCIUTILS=y |
| 54 | +CONFIG_POPT=y |
| 55 | +CONFIG_QRENCODE=y |
| 56 | +CONFIG_TPMTOTP=y |
| 57 | + |
| 58 | +# Dependencies for a graphical menu. Enable CONFIG_SLANG and CONFIG_NEWT instead |
| 59 | +# for a console-based menu. |
| 60 | +CONFIG_CAIRO=y |
| 61 | +CONFIG_FBWHIPTAIL=y |
| 62 | + |
| 63 | +CONFIG_LINUX_USB=y |
| 64 | + |
| 65 | +export CONFIG_TPM=y |
| 66 | +export CONFIG_BOOTSCRIPT=/bin/gui-init |
| 67 | +export CONFIG_BOOT_REQ_HASH=n |
| 68 | +export CONFIG_BOOT_REQ_ROLLBACK=n |
| 69 | +export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on intel_iommu=igfx_off" |
| 70 | +export CONFIG_BOOT_KERNEL_REMOVE="quiet" |
| 71 | +export CONFIG_BOOT_DEV="/dev/sda1" |
| 72 | +export CONFIG_BOARD_NAME="P8Z77-M PRO" |
| 73 | +export CONFIG_FLASHROM_OPTIONS="-p internal" |
| 74 | +#Set this option to zero out the VSCC table https://github.com/osresearch/heads/pull/1358#discussion_r1153251399 |
| 75 | +export CONFIG_ZERO_IFD_VSCC=y |
| 76 | + |
| 77 | +# Make the Coreboot build depend on the following 3rd party blobs: |
| 78 | +$(build)/coreboot-$(CONFIG_COREBOOT_VERSION)/$(BOARD)/.build: \ |
| 79 | + $(pwd)/blobs/p8z77-m_pro/me.bin $(pwd)/blobs/p8z77-m_pro/ifd.bin |
| 80 | + |
| 81 | +$(pwd)/blobs/p8z77-m_pro/me.bin: |
| 82 | + COREBOOT_DIR="$(build)/$(coreboot_base_dir)" \ |
| 83 | + $(pwd)/blobs/p8z77-m_pro/download_BIOS_clean.sh |
| 84 | + |
| 85 | +$(pwd)/blobs/p8z77-m_pro/ifd.bin: |
| 86 | + COREBOOT_DIR="$(build)/$(coreboot_base_dir)" \ |
| 87 | + $(pwd)/blobs/p8z77-m_pro/download_BIOS_clean.sh |
0 commit comments