Skip to content

Commit

Permalink
Activate dual console by default and restructure board config
Browse files Browse the repository at this point in the history
Changing CONFIG_USB_BOOT_DEV to sdc1, adding back CONFIG_BOOT_STATIC_IP to 192.168.2.3, adding dual console to OpenBMC and tty0 in attempt to have QubesOS graphic installer which complains with no networking when attempting to start VNC

Adding dual console to OpenBmc and tty0

putting kgpe-d16-coreboot.conf in defconfig format

NO_HZ wasn't included in kernel config. Adding it.

Wasn't able to have both console firing up QubesOS gui installer, complaining about hvc1 console errors. Splitting up Workstation and server config. This one works for Worstation

Removing serial configuration and static IP stuff since we have a workstation here.

Seperate Workstation and Server board configurations until dual console truely works through QubesOS gui installation. kgpe-d16 board config removed until then.

Placing files in good directories

Corrrect flashrom options for kgpe-d16 server and workstation boards

kgpe-d16 linux: NO_HZ_IDLE instead of NO_HZ

kgpe-d16: seperate board for workstation to be AST and gui-init based, while kgpe-d16-> kgpe-d16_server

kgpe-d16_server: boots, shows ASpeed text on VGA, controllable through BMC via SSH.

kgpe-d16_workstation on ASpeed console. WIP. (Includes CIs configs to build server and workstation)

kgpe-d16_workstation in defconfig format

kgpe-d16 boards: pass from GPG to GPG2 board definitions

kgpe-d16_workstation : Adding Cairo and FbWhpitail in board config for gui-init to work in FB mode

kgpe-d16: removing plymouth.ignore-serial-consoles to fix server terminal output

kgpe-d16: bring par with staging branch https://gitlab.com/tlaurion/heads/commits/kgpe-d16_staging

kgpe-d16 : expressively export CONFIG_TPM=n

kgpe-d16_wokstation gui-init variables were missing

kgpe-d16 boards: add CONFIG_LINUX_USB_COMPANION_CONTROLLER so that usb is recognized

linux-kgpe-d16*: add support for Pike

kgpe-d16_workstation-usb_keyboard board support addition

kgpe-d16_server-whiptail: Add board and dependencies to have gui-init in whiptail (console mode, not FbWhiptail based

GitlabCI: kgpe-d16 fixes and upstream merge of change

kgpe-d16* board: add statement to fixate coreboot version to 4.8.1 for the moment

kgpe-d16: add missing config/linux-kgpe-d16_server-whiptail.config file

KGPE-D16: community work migration to coreboot 4.11 to fix issue linuxboot#740

KGPE-D16 boards: Adding VBOOT+measured boot, musl-cross patch and 4.11 patch brought up per linuxboot#709

kgpe-d16* boards: add VBOOT Kconfig patch per @miczyg1 recommendation under linuxboot#795 (comment)

KGPE-D16* coreboot configs: Add S3NV as a Runtime data whitelist (so that it is not measured at term) per @miczyg1 recommendation under linuxboot#795 (comment)

kgpe-d16 coreboot 4.11: add https://review.coreboot.org/c/coreboot/+/36908 patch

kgpe-d16 boards: add Linux kernel version where missing.

CircleCI: Add debug output on fail for kgpe-d16 board builds to bring par with upstream after rebasing on master

coreboot module: typo correction (tabs vs spaces)

CircleCI: trying to address "g++: fatal error: Killed signal terminated program cc1plus." happening under coreboot 4.11 and coreboot 4.12 builds

CircleCI: remove past addition to test recommendation from CircleCI: "resource_class: large"

CircleCi: Ok.... lets output dmesg content prior of other logs.... I'm out of ideas. Next step, ask CircleCI for support

At this stage:
- job's "make --load" is supposed to guarantee that the number of thread doesn't exhaust pass of a load of 2 (medium, free class, CircleCI has 32 cores so possibility of a load of 32)
- "--max_old_space_size=4096" in CircleCI environement is supposed to limit memory consumption to 4096Mb of memory, the max of a medium class free tier CircleCI node

CircleCI: remove verbose build (no more V=1), in case of failed build, find all logs modified in last minute and output each of them on console.

coreboot module: implement load average respect inside of problematic CI build for coreboot 4.11+ being killed in the action (32 cores with 4Gb ram get gcc OOM)

coreboot module: replace nproc by number of Gb actually available as number of CPUs, since each thread is expected to have 1Gb of ram.

CircleCI & coreboot config: fix merge conflict rebasing on master

coreboot 4.11 kgpe-d16 vboot patches addendum, credits goes to @Tonux599

Fix merge conflicts and make sure all boards are inside of CircleCI builds. PoC build for linuxboot#867
  • Loading branch information
tlaurion authored and Tonux599 committed Dec 2, 2020
1 parent 7ee4a11 commit bac1d54
Show file tree
Hide file tree
Showing 18 changed files with 1,319 additions and 54 deletions.
72 changes: 71 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,77 @@ jobs:
# - store-artifacts:
# path: build/qemu-linuxboot/hashes.txt

- run:
name: kgpe-d16_workstation
command: |
rm -rf build/kgpe-d16_workstation/* build/log/* && \
make CPUS=4 V=1 BOARD=kgpe-d16_workstation || \
(find ./build/ -name "*.log" -type f -mmin -1 | while read log; do echo ""; echo '==>' "$log" '<=='; echo ""; cat $log; done; exit 1) \
no_output_timeout: 3h
- run:
name: Ouput kgpe-d16_workstation hashes
command: |
cat build/kgpe-d16_workstation/hashes.txt \
- run:
name: Archiving build logs for kgpe-d16_workstation
command: |
tar zcvf build/kgpe-d16_workstation/logs.tar.gz build/log/*
- store-artifacts:
path: build/kgpe-d16_workstation

- run:
name: kgpe-d16_workstation-usb_keyboard
command: |
rm -rf build/kgpe-d16_workstation-usb_keyboard/* build/log/* && \
make CPUS=4 V=1 BOARD=kgpe-d16_workstation-usb_keyboard || \
(find ./build/ -name "*.log" -type f -mmin -1 | while read log; do echo ""; echo '==>' "$log" '<=='; echo ""; cat $log; done; exit 1) \
no_output_timeout: 3h
- run:
name: Ouput kgpe-d16_workstation-usb_keyboard hashes
command: |
cat build/kgpe-d16_workstation-usb_keyboard/hashes.txt \
- run:
name: Archiving build logs for kgpe-d16_workstation-usb_keyboard
command: |
tar zcvf build/kgpe-d16_workstation-usb_keyboard/logs.tar.gz build/log/*
- store-artifacts:
path: build/kgpe-d16_workstation-usb_keyboard

- run:
name: kgpe-d16_server
command: |
rm -rf build/kgpe-d16_server/* build/log/* && \
make CPUS=4 V=1 BOARD=kgpe-d16_server || \
(find ./build/ -name "*.log" -type f -mmin -1 | while read log; do echo ""; echo '==>' "$log" '<=='; echo ""; cat $log; done; exit 1) \
no_output_timeout: 3h
- run:
name: Ouput kgpe-d16_server hashes
command: |
cat build/kgpe-d16_server/hashes.txt \
- run:
name: Archiving build logs for kgpe-d16_server
command: |
tar zcvf build/kgpe-d16_server/logs.tar.gz build/log/*
- store-artifacts:
path: build/kgpe-d16_server

- run:
name: kgpe-d16_server-whiptail
command: |
rm -rf build/kgpe-d16_server-whiptail/* build/log/* && \
make CPUS=4 V=1 BOARD=kgpe-d16_server-whiptail || \
(find ./build/ -name "*.log" -type f -mmin -1 | while read log; do echo ""; echo '==>' "$log" '<=='; echo ""; cat $log; done; exit 1) \
no_output_timeout: 3h
- run:
name: Ouput kgpe-d16_server-whiptail hashes
command: |
cat build/kgpe-d16_server-whiptail/hashes.txt \
- run:
name: Archiving build logs for kgpe-d16_server-whiptail
command: |
tar zcvf build/kgpe-d16_server-whiptail/logs.tar.gz build/log/*
- store-artifacts:
path: build/kgpe-d16_server-whiptail
- run:
name: librem_l1um
command: |
Expand Down Expand Up @@ -121,7 +192,6 @@ jobs:

- run:
name: x230-flash
#We delete build/make-4.2.1/ directory until issue #799 is fixed.
command: |
rm -rf build/x230-flash/* build/log/* && make CPUS=4 V=1 BOARD=x230-flash || touch /tmp/failed_build
no_output_timeout: 3h
Expand Down
46 changes: 41 additions & 5 deletions .gitlab-ci.yml.deprecated
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ stages:

build:
stage: build
retry: 1
retry: 2
cache:
paths:
- packages
Expand Down Expand Up @@ -55,7 +55,6 @@ build:
- cat ./build/x230/hashes.txt
- echo "Archiving x230 logs..."
- tar zcvf ./build/x230/logs.tar.gz ./build/log/*

- echo "Removing old t430 artifacts..."
- rm -rf ./build/t430/*
- rm -rf ./build/log/*
Expand All @@ -65,8 +64,43 @@ build:
- cat ./build/t430/hashes.txt
- echo "Archiving t430 logs..."
- tar zcvf ./build/t430/logs.tar.gz ./build/log/*

- echo "Removing old qemu-coreboot artifacts..."
- echo "Removing old kgpe-d16_workstation artifacts..."
- rm -rf ./build/kgpe-d16_workstation/*
- rm -rf ./build/log/*
- echo "Building BOARD=kgpe-d16_workstation board..."
- make BOARD=kgpe-d16_workstation || (find ./build/log/ -cmin 1|xargs tail; exit 1)
- echo "kgpe-d16_workstation hashes:"
- cat ./build/kgpe-d16_workstation/hashes.txt
- echo "Archiving kgpe-d16_workstation logs..."
- tar zcvf ./build/kgpe-d16_workstation/logs.tar.gz ./build/log/*
- echo "Removing old kgpe-d16_workstation-usb_keyboard artifacts..."
- rm -rf ./build/kgpe-d16_workstation-usb_keyboard/*
- rm -rf ./build/log/*
- echo "Building BOARD=kgpe-d16_workstation-usb_keyboard board..."
- make BOARD=kgpe-d16_workstation || (find ./build/log/ -cmin 1|xargs tail; exit 1)
- echo "kgpe-d16_workstation-usb_keyboard hashes:"
- cat ./build/kgpe-d16_workstation-usb_keyboard/hashes.txt
- echo "Archiving kgpe-d16_workstation-usb_keyboard logs..."
- tar zcvf ./build/kgpe-d16_workstation-usb_keyboard/logs.tar.gz ./build/log/*
- echo "Removing old kgpe-d16_server-whiptail artifacts..."
- rm -rf ./build/kgpe-d16_server-whiptail/*
- rm -rf ./build/log/*
- echo "Building BOARD=kgpe-d16_server-whiptail board..."
- make BOARD=kgpe-d16_server-whiptail || (find ./build/log/ -cmin 1|xargs tail; exit 1)
- echo "kgpe-d16_server-whiptail hashes:"
- cat ./build/kgpe-d16_server-whiptail/hashes.txt
- echo "Archiving kgpe-d16_server-whiptail logs..."
- tar zcvf ./build/kgpe-d16_server-whiptail/logs.tar.gz ./build/log/*
- echo "Removing old kgpe-d16_server artifacts..."
- rm -rf ./build/kgpe-d16_server/*
- rm -rf ./build/log/*
- echo "Building BOARD=kgpe-d16_server board..."
- make BOARD=kgpe-d16_server || (find ./build/log/ -cmin 1|xargs tail; exit 1)
- echo "kgpe-d16_server hashes:"
- cat ./build/kgpe-d16_server/hashes.txt
- echo "Archiving kgpe-d16_server logs..."
- tar zcvf ./build/kgpe-d16_server/logs.tar.gz ./build/log/*
- echo "Removing old qemu-coreboot artifacts..."
- rm -rf ./build/qemu-coreboot/*
- rm -rf ./build/log/*
- echo "Building BOARD=qemu-coreboot board..."
Expand All @@ -79,9 +113,11 @@ build:
- du -shc packages crossgcc build
artifacts:
paths:
- ./build/kgpe-d16_workstation
- ./build/kgpe-d16_workstation-usb_keyboard
- ./build/kgpe-d16_server
- ./build/qemu-coreboot
- ./build/x230-flash
- ./build/t430-flash
- ./build/x230-hotp-verification
- ./build/x230
- ./build/t430
36 changes: 0 additions & 36 deletions boards/kgpe-d16/kgpe-d16.config

This file was deleted.

75 changes: 75 additions & 0 deletions boards/kgpe-d16_server-whiptail/kgpe-d16_server-whiptail.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Configuration for a kgpe-d16_server with whiptail, permitting usage of gui-init on console without FB graphic
# per https://www.raptorengineering.com/coreboot/kgpe-d16-bmc-port-status.php work, with patches merged into Heads
#
# Tested: ASMBV4 reprogrammed per https://www.raptorengineering.com/coreboot/kgpe-d16-bmc-port-status.php
#
# Status:
# - ASpeed text output given on VGA
# - All console output rerirected to sttyS0
# - No TPM support while 20-1 TPM 1.2 chips can be ordered. Report status in Heads
#
# - To connect to BMC: https://github.com/osresearch/heads/issues/134#issuecomment-368922440
# - Please contribute documentation on heads-wiki
# - Please support https://github.com/osresearch/heads/issues/719
export CONFIG_COREBOOT=y
export CONFIG_COREBOOT_VERSION=4.11
export CONFIG_LINUX_VERSION=4.14.62

CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server-whiptail.config
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server-whiptail.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

#Whiptail
CONFIG_SLANG=y
CONFIG_NEWT=y
#FBWhiptail
#CONFIG_CAIRO=y
#CONFIG_FBWHIPTAIL=y

CONFIG_LINUX_USB=y
CONFIG_LINUX_E1000E=y
export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y

export CONFIG_TPM=n
#BOOT SCRIPT SELECTION
#export CONFIG_BOOTSCRIPT=/bin/generic-init
export CONFIG_BOOTSCRIPT=/bin/gui-init
#export CONFIG_BOOTSCRIPT_NETWORK=/bin/network-init-recovery
export CONFIG_BOOT_GUI_MENU_NAME="KGPE-D16 Heads Boot Menu"
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"

#CONSOLE SELECTION
#Single output to OpenBMC
export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 "

#Dual output to local console (tty0) and OpenBmc (ttyS1)
#export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 console=tty0"

#Single output to tty0
#export CONFIG_BOOT_KERNEL_ADD="nohz=on"
export CONFIG_BOOT_RECOVERY_SERIAL="/dev/ttyS0"
export CONFIG_BOOT_STATIC_IP=192.168.2.3


export CONFIG_BOOT_REQ_HASH=n
export CONFIG_BOOT_REQ_ROLLBACK=n
export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
export CONFIG_BOOT_DEV="/dev/sda1"
export CONFIG_USB_BOOT_DEV="/dev/sdb1"

export CONFIG_FLASHROM_OPTIONS="--force --noverify -p internal"
#export CONFIG_BOOT_STATIC_IP=192.168.1.2
59 changes: 59 additions & 0 deletions boards/kgpe-d16_server/kgpe-d16_server.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Configuration for a kgpe-d16_server
# per https://www.raptorengineering.com/coreboot/kgpe-d16-bmc-port-status.php work, with patches merged into Heads
#
# Tested: ASMBV4 reprogrammed per https://www.raptorengineering.com/coreboot/kgpe-d16-bmc-port-status.php
#
# Status:
# - ASpeed text output given on VGA
# - All console output rerirected to sttyS0
# - No TPM support while 20-1 TPM 1.2 chips can be ordered. Report status in Heads
#
# - To connect to BMC: https://github.com/osresearch/heads/issues/134#issuecomment-368922440
# - Please contribute documentation on heads-wiki
# - Please support https://github.com/osresearch/heads/issues/719
export CONFIG_COREBOOT=y
export CONFIG_COREBOOT_VERSION=4.11
export CONFIG_LINUX_VERSION=4.14.62

CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server.config
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server.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_LINUX_USB=y
CONFIG_LINUX_E1000E=y
export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y

export CONFIG_TPM=n
#BOOT SCRIPT SELECTION
export CONFIG_BOOTSCRIPT=/bin/generic-init
#export CONFIG_BOOTSCRIPT_NETWORK=/bin/network-init-recovery

#CONSOLE SELECTION
#Single output to OpenBMC
#export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 "
#Dual output to local console (tty0) and OpenBmc (ttyS1)
export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 console=tty0"
export CONFIG_BOOT_RECOVERY_SERIAL="/dev/ttyS0"
export CONFIG_BOOT_STATIC_IP=192.168.2.3

export CONFIG_BOOT_REQ_HASH=n
export CONFIG_BOOT_REQ_ROLLBACK=n
export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
export CONFIG_BOOT_DEV="/dev/sda1"
export CONFIG_USB_BOOT_DEV="/dev/sdb1"

export CONFIG_FLASHROM_OPTIONS="--force --noverify -p internal"
#export CONFIG_BOOT_STATIC_IP=192.168.1.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Configuration for a kgpe-d16 with USB keyboard support, FBwhiptail on onboard ASpeed GPU
export CONFIG_COREBOOT=y
export CONFIG_COREBOOT_VERSION=4.11
export CONFIG_LINUX_VERSION=4.14.62

CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_workstation-usb_keyboard.config
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_workstation.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

#Whiptail
#CONFIG_SLANG=y
#CONFIG_NEWT=y
#FBWhiptail
CONFIG_CAIRO=y
CONFIG_FBWHIPTAIL=y

CONFIG_LINUX_USB=y
CONFIG_LINUX_E1000E=y
export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y

#Enable USB Keyboard support
export CONFIG_USB_KEYBOARD=y
#No TPM support for the moment
export CONFIG_TPM=n
#BOOT SCRIPT SELECTION
#export CONFIG_BOOTSCRIPT=/bin/generic-init
export CONFIG_BOOTSCRIPT=/bin/gui-init
#export CONFIG_BOOTSCRIPT_NETWORK=/bin/network-init-recovery
export CONFIG_BOOT_GUI_MENU_NAME="KGPE-D16 Heads Boot Menu"
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"

#CONSOLE SELECTION
#Single output to OpenBMC
#export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 "
#Dual output to local console (tty0) and OpenBmc (ttyS1)
#export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 console=tty0"
#Single output to tty0
export CONFIG_BOOT_KERNEL_ADD="nohz=on console=tty0"
#export CONFIG_BOOT_RECOVERY_SERIAL="/dev/ttyS0"
#export CONFIG_BOOT_STATIC_IP=192.168.2.3

export CONFIG_BOOT_REQ_HASH=n
export CONFIG_BOOT_REQ_ROLLBACK=n
export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
export CONFIG_BOOT_DEV="/dev/sda1"
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
export CONFIG_FLASHROM_OPTIONS="--force --noverify -p internal"
Loading

0 comments on commit bac1d54

Please sign in to comment.