Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OEM reownership required changes for QubesOS certification of the X230 #551

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
42a0146
- OEM mode is enforced on HOTP/TOTP sealed clean hardware.
tlaurion Apr 23, 2019
e49b184
- OEM mode is enforced on HOTP/TOTP sealed clean hardware.
tlaurion Apr 23, 2019
79b3390
LibremKey -> Librem Key
tlaurion Apr 23, 2019
b7b11a6
LibremKey -> Librem Key
tlaurion Apr 23, 2019
d0efe53
Corrections in numbering of OEM onboarding menu.
tlaurion Apr 24, 2019
5361ad1
Small fixes following PR comments
tlaurion Apr 24, 2019
ecbc01e
kexec-save-default:
tlaurion Apr 25, 2019
3318f67
functions: rm -> rm -f on /boot/reset_disk_unlock_key to suppress err…
tlaurion Apr 25, 2019
20b0fbf
oem-reownership/oem.example : explain the usage of /boot/oem and when…
tlaurion Apr 25, 2019
b49d9cd
Removing useless dies in gui scripts
tlaurion Apr 25, 2019
330a54f
Code cleanup. Removal of file_selector function, since it now exists …
tlaurion Apr 26, 2019
99148c8
Typo correction
tlaurion Apr 26, 2019
f527191
Modify kexec-save-default to propose LUKS sealing of Disk Unlock Key …
tlaurion Apr 26, 2019
54a067c
Setting proper defaults for boards specifying CONFIG_TPM=y in regard …
tlaurion Apr 26, 2019
a5624f0
Modified gitlab-ci.yaml so that the cache is shared only on the same …
tlaurion Apr 26, 2019
677f810
Fix regression that broke support for unencrypted partitions. UNTESTE…
tlaurion Apr 26, 2019
2c475b5
.gitlab-ci.yml ./.git ignore
tlaurion Apr 26, 2019
49d2641
gpg-gui: Factory Reset Nitrokey Pro v2/Librem Key GPG Card -> Factory…
tlaurion Apr 27, 2019
733fc9b
Merge remote-tracking branch 'osresearch/master' into oem_reownership…
tlaurion Apr 27, 2019
ab28f31
kexec-save-default: corrections to properly support unencrypted insta…
tlaurion Apr 30, 2019
f89fca5
mount-usb: readd support of mounting second device wihtout new usb de…
tlaurion Apr 30, 2019
f619eab
Merge remote-tracking branch 'osresearch/master' into oem_reownership…
tlaurion May 1, 2019
f716fd3
initrd/bin/reencrypt-luks:
tlaurion May 1, 2019
4940593
Revert "Support Fedora 30 boot configuration"
tlaurion May 1, 2019
5a77114
Merge remote-tracking branch 'osresearch/master' into oem_reownership…
tlaurion May 1, 2019
81594fd
initrd/bin/kexec-save-default:
tlaurion May 1, 2019
2fc2cc4
Add hash files related to roms put in artifact.zip and remove from bu…
tlaurion May 2, 2019
460186c
.gitlab-ci.yaml: Actually, having the content of the rom hashes both …
tlaurion May 2, 2019
ce2d414
Makefile: Required change to have distinct hash files for each board.
tlaurion May 2, 2019
2e99b74
.gitlab-ci.yml: Remove .git uncaching
tlaurion May 2, 2019
7a24dae
.gitlab-ci.yml: forgot to rename the files to be outputed to build lo…
tlaurion May 2, 2019
327b12a
Reverting .gitlab-ci.yml and Makefile to output on both build log and…
tlaurion May 3, 2019
00eaff9
Merge remote-tracking branch 'heads105/fc30kexec2' into oem_reownersh…
tlaurion May 3, 2019
696980d
initrd/etc/functions: pcrs to be shown are intended to be 0-8 as in m…
tlaurion May 3, 2019
a937a75
initrd/bin/tpm-reset: removal of whitespace
tlaurion May 3, 2019
02e9e24
Merge branch 'master' into oem_reownership-staging_rebase_master_PR
tlaurion May 3, 2019
ea52ca1
initrd/bin/reencrypt-luks: correct logic
tlaurion May 3, 2019
ae6c22c
Merge branch 'oem_reownership-staging_rebase_master_PR' of github.com…
tlaurion May 3, 2019
e4e8cb6
initrd/bin/reencrypt-luks remove static cipher that was put in place …
tlaurion May 3, 2019
86e1c14
.gitlab-ci.yml: Trying to get rid of .git cache warnings
tlaurion May 3, 2019
ff0c33a
initrd/bin/mount-usb: Support for LUKS encrypted devices added.
tlaurion May 4, 2019
a9b2ec5
initrd/bin/mount-usb: add board CONFIG_USB_BOOT_DEV defined device in…
tlaurion May 4, 2019
c1d26d8
initrd/bin/mount-usb: add error handling when mounting
tlaurion May 4, 2019
ff81d35
initrd/bin/reencrypt-luks: homogenize whiptail messages.
tlaurion May 5, 2019
e6acde4
Replace mount_usb calls by making mount-usb check if a device is mounted
tlaurion May 5, 2019
b7ddcdb
initrd/.ash_history: Take into consideration current state of other c…
tlaurion May 5, 2019
17273a7
Uniformize and limit unrequired changes to master.
tlaurion May 8, 2019
d50cfa4
initrd/etc/functions: reading of /media/oem-provisioning takes into c…
tlaurion May 9, 2019
ac1f518
initrd/bin/mount-usb: revert changes implying non-usb block devices
tlaurion May 12, 2019
1a55239
WIP
tlaurion May 14, 2019
36d51b7
WIP
tlaurion May 14, 2019
891d823
Merge branch 'oem_reownership-staging_rebase_master_PR2' of github.co…
tlaurion May 22, 2019
eb15108
Merge branch 'master' of https://github.com/osresearch/heads into HEAD
tlaurion May 23, 2019
39140d1
Attempt to remove HZ errors with nohz=on which cut user inputs in my …
tlaurion May 28, 2019
557d47c
add "clear" command availability through busybox config change
tlaurion May 28, 2019
faacaf7
OEM ReOwnership now proposes to generate missing /media/oem-provision…
tlaurion May 28, 2019
1a6b52c
Merge branch 'master' of https://github.com/osresearch/heads into tes…
tlaurion May 28, 2019
2e13cfc
OEM: testing duplicate problems and attempts to launch vi dynamically…
tlaurion May 28, 2019
bb2a9d3
x230: add mmc and sdhci support. note: mount-usb is modified to only …
tlaurion Jun 4, 2019
1258e29
OEM reownership: force to be on AC Power, else poweroff.
tlaurion Jun 4, 2019
11e66da
mount-usb: removed legacy support for board config defined USB device.
tlaurion Jun 4, 2019
feb5b4d
functions:
tlaurion Jun 4, 2019
9c357a5
initrd/media/oem-provisioning: was not supposed to be here.
tlaurion Jun 4, 2019
4a5a718
modules/linux: addition of mmc and sdhci dependencies if CONFIG_LINUX…
tlaurion Jun 4, 2019
fd9b145
mount-sdcard: copy cat of mount-usb for sdhci/mmc cards. Useful for O…
tlaurion Jun 4, 2019
379823d
oem-provisioning attended one-shot filling of required information
tlaurion Jun 7, 2019
ce799d1
reencrypt-luks: aesthetic fixes
tlaurion Jun 7, 2019
faddca3
kexec-save-default: fix luks device proposition by proposing existing…
tlaurion Jun 7, 2019
abbb02f
Merge branch 'master' of https://github.com/osresearch/heads into oem…
tlaurion Jun 8, 2019
141d50a
Merge branch 'Attended_OEM_ReownershipDiceware_master_merge' into oem…
tlaurion Jun 8, 2019
00fbd9c
qemu: reverting changes that were needed for testing OEM-Reownership
tlaurion Jun 8, 2019
2cd5c48
Cosmetic changes
tlaurion Jun 8, 2019
c5d0782
OEM Reownership now validates signed hash integrity
tlaurion Jun 9, 2019
96e2621
gui-init: Hash validation happens in /boot. chdir to /
tlaurion Jun 9, 2019
919b46e
cosmetic whiptail changes
tlaurion Jun 9, 2019
e0cf0ce
Typo corrections
tlaurion Jun 9, 2019
0b348f1
Reverting LIBREMKEY dependence on x230.config board. Creating x230-li…
tlaurion Jun 11, 2019
e7a2ced
Change Nitrokey/Librem Key references to Librem Key only to remove co…
tlaurion Jun 11, 2019
c5946ac
Change x230 OEM default board build to x230-libremkey
tlaurion Jun 11, 2019
bf5761b
x230-libremkey missed requirements
tlaurion Jun 12, 2019
9a65931
Fix USB boot following mount-usb changes deprecating CONFIG_USB_BOOT_…
tlaurion Jun 12, 2019
b884994
Playing with gitlab caches... Still some corruption found. Grrrr...
tlaurion Jun 12, 2019
00b4d87
Try to cache only the .build dir
tlaurion Jun 13, 2019
c20c184
Documentation changes
tlaurion Jun 13, 2019
6be2fb8
Clariy and add OEM specific notes
tlaurion Jun 13, 2019
e897cd9
Gitlab CI cache plays. Doing a complete ./ cache and forcing gitlab t…
tlaurion Jun 13, 2019
cc56d63
Forcing reset of git in gitlab config
tlaurion Jun 13, 2019
0b7cf06
Fix bug of OEM asking to validate manually disk unlock key while dice…
tlaurion Jun 17, 2019
42418ad
OEM: sort provisioned information prior to store them into /media/oem…
tlaurion Jun 17, 2019
29058df
EOM: add back manual input validation of oem_luks_Disk_Unlock_Key
tlaurion Jun 17, 2019
4b69f55
OEM : add instruction on GPG public Key Comment: Cannot be empty.
tlaurion Jun 22, 2019
89115ee
OEM: Add a last whiptail warning before Reownership ends, just prior …
tlaurion Jun 23, 2019
0f3fd5d
OEM: Last message adjustments before ending OEM reownership
tlaurion Jun 23, 2019
0e8384c
Merge remote-tracking branch 'osresearch/master' into oem_reownership…
tlaurion Jun 25, 2019
01baf58
OEM: Remove requirement of GPG Admin PIN to not contain space, the bu…
tlaurion Jun 25, 2019
879aada
cryptsetup: add LUKS nuke patchset from https://gitlab.com/kalilinux/…
tlaurion Jun 25, 2019
3ddaab7
factory-reset-libremkey: Remove no space constraint on GPG Admin PIN
tlaurion Jun 27, 2019
bb7e89e
OEM: make diceware suggested passwords sepearated by spaces (Since GP…
tlaurion Jun 27, 2019
53e863d
OEM: readd automatic provisioning of GPG Admin PIN in seal-libremkey
tlaurion Jun 27, 2019
96c710e
OEM: Disk Unlock Key Passphrase was missing a notify to confirm expor…
tlaurion Jun 30, 2019
47d024e
OEM: small typos correction
tlaurion Jun 30, 2019
8f5d0b1
gui-init: Fix 'Update checksums and sign all files in /boot' whiptail…
tlaurion Jun 30, 2019
ca021d2
reencrypt-luks: uniformisation of wording
tlaurion Jul 1, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
image: insurgotech/fedora-29_heads-ci

stages:
- build

build:
stage: build
cache:
paths:
- ./
key: "$CI_COMMIT_REF_SLUG"
script:
- git fetch origin
- git reset --hard origin/$CI_COMMIT_REF_NAME
- make BOARD=x230-flash
- make BOARD=x230-libremkey
- echo "x230-flash hashes:"
- cat ./build/x230-flash/hashes.txt
- echo "x230 hashes:"
- cat ./build/x230-libremkey/hashes.txt
artifacts:
paths:
- ./build/x230-flash/x230-flash.rom
- ./build/x230-flash/hashes.txt
- ./build/x230-libremkey/coreboot.rom
- ./build/x230-libremkey/hashes.txt
2 changes: 2 additions & 0 deletions boards/librem13v2/librem13v2.config
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ CONFIG_LIBREMKEY=y
CONFIG_LINUX_USB=y

export CONFIG_TPM=y
export CONFIG_OFFER_TPM_LUKS_DISK_UNLOCK_KEY=n

export CONFIG_BOOTSCRIPT=/bin/gui-init
export CONFIG_BOOT_REQ_HASH=n
export CONFIG_BOOT_REQ_ROLLBACK=n
Expand Down
2 changes: 2 additions & 0 deletions boards/librem13v4/librem13v4.config
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ CONFIG_LIBREMKEY=y
CONFIG_LINUX_USB=y

export CONFIG_TPM=y
export CONFIG_OFFER_TPM_LUKS_DISK_UNLOCK_KEY=n

export CONFIG_BOOTSCRIPT=/bin/gui-init
export CONFIG_BOOT_REQ_HASH=n
export CONFIG_BOOT_REQ_ROLLBACK=n
Expand Down
2 changes: 2 additions & 0 deletions boards/librem15v4/librem15v4.config
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ CONFIG_LIBREMKEY=y
CONFIG_LINUX_USB=y

export CONFIG_TPM=y
export CONFIG_OFFER_TPM_LUKS_DISK_UNLOCK_KEY=n

export CONFIG_BOOTSCRIPT=/bin/gui-init
export CONFIG_BOOT_REQ_HASH=n
export CONFIG_BOOT_REQ_ROLLBACK=n
Expand Down
4 changes: 3 additions & 1 deletion boards/x220/x220.config
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@ CONFIG_DROPBEAR=y
CONFIG_LINUX_USB=y
CONFIG_LINUX_E1000E=y

export CONFIG_BOOTSCRIPT=/bin/generic-init
export CONFIG_TPM=y
export CONFIG_OFFER_TPM_LUKS_DISK_UNLOCK_KEY=y

export CONFIG_BOOTSCRIPT=/bin/generic-init
export CONFIG_BOOT_REQ_HASH=n
export CONFIG_BOOT_REQ_ROLLBACK=n
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on"
Expand Down
50 changes: 50 additions & 0 deletions boards/x230-libremkey/x230-libremkey.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Configuration for a x230 with Librem Key, running Qubes and other OSes
export CONFIG_COREBOOT=y
CONFIG_COREBOOT_CONFIG=config/coreboot-x230-libremkey.config
CONFIG_LINUX_CONFIG=config/linux-x230-libremkey.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_SLANG=y
#CONFIG_NEWT=y
CONFIG_CAIRO=y
CONFIG_FBWHIPTAIL=y
CONFIG_LIBREMKEY=y

CONFIG_LINUX_USB=y
CONFIG_LINUX_E1000E=y
export CONFIG_LINUX_SDHCI=y

export CONFIG_TPM=y
export CONFIG_OFFER_TPM_LUKS_DISK_UNLOCK_KEY=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=""
export CONFIG_BOOT_DEV="/dev/sda1"
export CONFIG_BOOT_GUI_MENU_NAME="Thinkpad X230 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.
8 changes: 7 additions & 1 deletion boards/x230/x230.config
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,24 @@ CONFIG_QRENCODE=y
CONFIG_TPMTOTP=y
CONFIG_DROPBEAR=y

#CONFIG_SLANG=y
#CONFIG_NEWT=y
CONFIG_CAIRO=y
CONFIG_FBWHIPTAIL=y
#CONFIG_LIBREMKEY=y

CONFIG_LINUX_USB=y
CONFIG_LINUX_E1000E=y
export CONFIG_LINUX_SDHCI=y

export CONFIG_TPM=y
export CONFIG_OFFER_TPM_LUKS_DISK_UNLOCK_KEY=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_KERNEL_REMOVE=""
export CONFIG_BOOT_DEV="/dev/sda1"
export CONFIG_BOOT_GUI_MENU_NAME="Thinkpad X230 Heads Boot Menu"
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
Expand Down
4 changes: 2 additions & 2 deletions config/busybox.config
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ CONFIG_RM=y
CONFIG_RMDIR=y
CONFIG_SEQ=y
CONFIG_SHRED=y
# CONFIG_SHUF is not set
CONFIG_SHUF=y
CONFIG_SLEEP=y
CONFIG_FEATURE_FANCY_SLEEP=y
CONFIG_FEATURE_FLOAT_SLEEP=y
Expand Down Expand Up @@ -350,7 +350,7 @@ CONFIG_FEATURE_HUMAN_READABLE=y
# Console Utilities
#
# CONFIG_CHVT is not set
# CONFIG_CLEAR is not set
CONFIG_CLEAR=y
# CONFIG_DEALLOCVT is not set
# CONFIG_DUMPKMAP is not set
# CONFIG_FGCONSOLE is not set
Expand Down
24 changes: 24 additions & 0 deletions config/coreboot-x230-libremkey.config
Original file line number Diff line number Diff line change
@@ -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_X230=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/x230-libremkey/bzImage"
CONFIG_PAYLOAD_OPTIONS=""
# CONFIG_PXE is not set
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet loglevel=3"
CONFIG_LINUX_INITRD="../../build/x230-libremkey/initrd.cpio.xz"
CONFIG_DEBUG_SMM_RELOCATION=y
2 changes: 1 addition & 1 deletion config/coreboot-x230.config
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ CONFIG_PAYLOAD_LINUX=y
CONFIG_PAYLOAD_FILE="../../build/x230/bzImage"
CONFIG_PAYLOAD_OPTIONS=""
# CONFIG_PXE is not set
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet"
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet loglevel=3"
CONFIG_LINUX_INITRD="../../build/x230/initrd.cpio.xz"
CONFIG_DEBUG_SMM_RELOCATION=y
Loading