Skip to content

Commit 0d81285

Browse files
committed
Add Z220
Add files via upload Create z220-cmt-maximized.config Create z220-cmt-hotp-maximized.config Add files via upload Update config.yml Update linux-x230-maximized.config I use an NVME drive. Admittedly adding this to the X230 config isn't ideal because the X230 itself is far from ideal for an NVME SSD. However I suspect someone using something like this or a Z77 board would well like to have the ability to boot from NVME. chmod +x blob download script Update coreboot-z220-cmt.config CBFS now equal to 00ffffff-0001b000
1 parent bc148f1 commit 0d81285

6 files changed

Lines changed: 168 additions & 0 deletions

File tree

.circleci/config.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,20 @@ workflows:
532532
subcommand: ""
533533
requires:
534534
- librem_14
535+
536+
- build:
537+
name: z220-cmt-maximized
538+
target: z220-cmt-maximized
539+
subcommand: ""
540+
requires:
541+
- librem_14
542+
543+
- build:
544+
name: z220-cmt-hotp-maximized
545+
target: z220-cmt-hotp-maximized
546+
subcommand: ""
547+
requires:
548+
- librem_14
535549

536550
# - build:
537551
# name: kgpe-d16_workstation-usb_keyboard

blobs/z220/download_BIOS_clean.sh

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#!/bin/bash
2+
# Z220 CMT HP
3+
4+
function printusage {
5+
echo "Usage: $0 -m <me_cleaner>(optional)"
6+
}
7+
8+
BLOBDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
9+
10+
if [ "$#" -eq 0 ]; then printusage; fi
11+
12+
while getopts ":m:i:" opt; do
13+
case $opt in
14+
m)
15+
if [ -x "$OPTARG" ]; then
16+
MECLEAN="$OPTARG"
17+
fi
18+
;;
19+
esac
20+
21+
done
22+
23+
if [ -z "$MECLEAN" ]; then
24+
MECLEAN=`command -v $BLOBDIR/../../build/x86/coreboot-*/util/me_cleaner/me_cleaner.py 2>&1|head -n1`
25+
if [ -z "$MECLEAN" ]; then
26+
echo "me_cleaner.py required but not found or specified with -m. Aborting."
27+
exit 1;
28+
fi
29+
fi
30+
31+
BIN_FILE="DOS Flash/K51_0187.BIN"
32+
BIN_TGZ_SHA256SUM="0102d569239fdc14ca86a7afc4b16d2b12703401890b83e188f34d23844870dc sp97120.tgz"
33+
BIN_FILE_SHA256SUM="cc5a9c2d4827e9b1501c2dc0a464f580d4a2d65e4ff83dbab548e51839339d06 $BIN_FILE"
34+
FINAL_IFD_SHA256SUM="6b6bb09af0abbd93a73f2a1bde970d3ab488ed1c9c898d312f2b0676dc40d5ae $BLOBDIR/ifd.bin"
35+
FINAL_ME_SHA256SUM="2ee4bbf3e49e0c1f0215d7955d2a7793c7e108014f3aa4592bfa9785c0033d0d $BLOBDIR/me.bin"
36+
TGZURL="https://ftp.hp.com/pub/softpaq/sp97001-97500/sp97120.tgz"
37+
38+
TGZFILENAME=`echo $TGZURL | sed 's/.*\///'`
39+
ROMFILENAME=`echo $TGZFILENAME | sed 's/\.zip$/\.ROM/'`
40+
41+
extractdir=$(mktemp -d)
42+
echo "### Creating temp dir $extractdir "
43+
cd "$extractdir"
44+
45+
echo "### Downloading $TGZURL"
46+
wget $TGZURL || { echo "ERROR: wget failed $TGZURL" && exit 1; }
47+
echo "### Verifying expected hash of $TGZFILENAME"
48+
echo "$BIN_TGZ_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification on downloaded binary..." && exit 1; }
49+
50+
echo "### Extracting Archives"
51+
tar -xf $TGZFILENAME DOS\ Flash || { echo "Failed unzipping $TGZFILENAME - Tool installed on host?" && exit 1;}
52+
53+
echo "### Verifying expected hash of $ROMFILENAME"
54+
echo "$BIN_FILE_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification on extracted binary..." && exit 1; }
55+
56+
#echo "### extracing BIOS from Capsule"
57+
#dd bs=1024 skip=2 if=P8Z77-V-ASUS-2104.CAP of=P8Z77-V-ASUS-2104.ROM || { echo "Failed to de-cap the ROM..." && exit 1; }
58+
59+
echo "### Applying me_cleaner to neuter and truncate. EFFS,FCRS whitelisted"
60+
$MECLEAN -S -r -t -d -O /tmp/unneeded.bin -D "$BLOBDIR/ifd.bin" -M "$BLOBDIR/me.bin" "$BIN_FILE"
61+
62+
echo "### Verifying expected hashes"
63+
echo "$FINAL_IFD_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification on generated IFD bin..." && exit 1; }
64+
echo "$FINAL_ME_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification on generated ME binary..." && exit 1; }
65+
66+
echo "###Cleaning up..."
67+
cd -
68+
rm -r "$extractdir"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Inherit the rest from the base Z220 CMT config.
2+
include $(pwd)/boards/z220-cmt-maximized/z220-cmt-maximized.config
3+
4+
CONFIG_HOTPKEY=y
5+
6+
export CONFIG_BOARD_NAME="Hewlett-Packard Z220 Convertible Minitower (HOTP)"
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Configuration for HP Z220 CMT
2+
#
3+
#Test platform
4+
#BOARD: HP Z220 CMT
5+
#RAM:
6+
#CPU: Intel E3-1275v2
7+
#
8+
# note: nohz=off is an optional CONFIG_LINUX_COMMAND_LINE parameter to supress repeated NOHZ: local_softirq_pending console output
9+
#
10+
CONFIG_LINUX_CONFIG=config/linux-x230-maximized.config
11+
CONFIG_COREBOOT_CONFIG=config/coreboot-z220-cmt.config
12+
13+
export CONFIG_COREBOOT=y
14+
export CONFIG_COREBOOT_VERSION=4.17
15+
export CONFIG_LINUX_VERSION=4.14.62
16+
17+
CONFIG_CRYPTSETUP2=y
18+
CONFIG_FLASHROM=y
19+
CONFIG_FLASHTOOLS=y
20+
CONFIG_GPG2=y
21+
CONFIG_KEXEC=y
22+
CONFIG_UTIL_LINUX=y
23+
CONFIG_LVM2=y
24+
CONFIG_MBEDTLS=y
25+
CONFIG_PCIUTILS=y
26+
CONFIG_POPT=y
27+
CONFIG_QRENCODE=y
28+
CONFIG_TPMTOTP=y
29+
30+
# Dependencies for a graphical menu. Enable CONFIG_SLANG and CONFIG_NEWT instead
31+
# for a console-based menu.
32+
CONFIG_CAIRO=y
33+
CONFIG_FBWHIPTAIL=y
34+
35+
CONFIG_LINUX_USB=y
36+
37+
export CONFIG_TPM=y
38+
export CONFIG_BOOTSCRIPT=/bin/gui-init
39+
export CONFIG_BOOT_REQ_HASH=n
40+
export CONFIG_BOOT_REQ_ROLLBACK=n
41+
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=igfx_off"
42+
export CONFIG_BOOT_KERNEL_REMOVE="quiet"
43+
export CONFIG_BOOT_DEV="/dev/sda1"
44+
export CONFIG_BOARD_NAME="Hewlett-Packard Z220 Convertible Minitower"
45+
export CONFIG_FLASHROM_OPTIONS="-p internal"
46+
47+
# Make the Coreboot build depend on the following 3rd party blobs:
48+
$(build)/coreboot-$(CONFIG_COREBOOT_VERSION)/$(BOARD)/.build: \
49+
$(pwd)/blobs/z220/me.bin $(pwd)/blobs/z220/ifd.bin
50+
51+
$(pwd)/blobs/z220/me.bin:
52+
COREBOOT_DIR="$(build)/$(coreboot_base_dir)" \
53+
$(pwd)/blobs/z220/download_BIOS_clean.sh

config/coreboot-z220-cmt.config

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
CONFIG_VENDOR_HP=y
2+
CONFIG_BOARD_HP_Z220_CMT_WORKSTATION=y
3+
CONFIG_BOARD_HP_Z220_SERIES_COMMON=y
4+
5+
CONFIG_CBFS_SIZE=0xFE4FFF
6+
CONFIG_HAVE_IFD_BIN=y
7+
CONFIG_HAVE_ME_BIN=y
8+
CONFIG_HAVE_GBE_BIN=y
9+
CONFIG_GBE_BIN_PATH="@BLOB_DIR@/xx30/gbe.bin"
10+
CONFIG_IFD_BIN_PATH="@BLOB_DIR@/z220/ifd.bin"
11+
CONFIG_ME_BIN_PATH="@BLOB_DIR@/z220/me.bin"
12+
CONFIG_NO_GFX_INIT=y
13+
CONFIG_TPM_MEASURED_BOOT=y
14+
CONFIG_TPM1=y
15+
CONFIG_DRIVERS_PS2_KEYBOARD=y
16+
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
17+
CONFIG_PAYLOAD_LINUX=y
18+
CONFIG_PAYLOAD_FILE="@BOARD_BUILD_DIR@/bzImage"
19+
CONFIG_LINUX_INITRD="@BOARD_BUILD_DIR@/initrd.cpio.xz"
20+
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off nohz=off"
21+
CONFIG_ONBOARD_VGA_IS_PRIMARY=y
22+
23+
CONFIG_PCIEXP_DEFAULT_MAX_RESIZABLE_BAR_BITS=63
24+
CONFIG_PCIEXP_L1_SUB_STATE=y
25+
CONFIG_PCIEXP_CLK_PM=y
26+
CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS=y

config/linux-x230-maximized.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,3 +330,4 @@ CONFIG_CRC8=m
330330
CONFIG_XZ_DEC_TEST=m
331331
CONFIG_CORDIC=m
332332
CONFIG_IRQ_POLL=y
333+
CONFIG_BLK_DEV_NVME=y

0 commit comments

Comments
 (0)