From 29b0c6b0240d927acb9f53d49d48029dc2cbef9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 11:54:03 +0100 Subject: [PATCH 01/18] platform-configs/include/pcengines.robot: add initial pcengines lib MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- platform-configs/include/pcengines.robot | 207 +++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 platform-configs/include/pcengines.robot diff --git a/platform-configs/include/pcengines.robot b/platform-configs/include/pcengines.robot new file mode 100644 index 0000000000..f55101459e --- /dev/null +++ b/platform-configs/include/pcengines.robot @@ -0,0 +1,207 @@ +*** Settings *** +Resource default.robot + + +*** Variables *** +${INITIAL_DUT_CONNECTION_METHOD}= telnet +${DUT_CONNECTION_METHOD}= ${INITIAL_DUT_CONNECTION_METHOD} +${PAYLOAD}= tianocore +${RTE_S2_N_PORT}= 13541 +${FLASH_SIZE}= ${8*1024*1024} +${FLASH_LENGTH}= ${EMPTY} +${TIANOCORE_STRING}= to boot directly +${BOOT_MENU_KEY}= F11 +${SETUP_MENU_KEY}= Delete +${BOOT_MENU_STRING}= Please select boot device: +${SETUP_MENU_STRING}= Select Entry +${IPXE_BOOT_ENTRY}= iPXE Network Boot +${EDK2_IPXE_CHECKPOINT}= iPXE Shell +${MANUFACTURER}= PC Engines +${CPU}= AMD GX-412TC SOC +${INITIAL_CPU_FREQUENCY}= 1000 +${DEF_CORES}= 4 +${DEF_THREADS}= 1 +${DEF_CPU}= 4 +${DEF_ONLINE_CPU}= 0-3 +${DEF_SOCKETS}= 1 +${POWER_CTRL}= RteCtrl +${FLASH_VERIFY_METHOD}= tianocore-shell +${FLASH_VERIFY_OPTION}= UEFI Shell +# TODO +${MAX_CPU_TEMP}= ${EMPTY} + +${DMIDECODE_MANUFACTURER}= PC Engines +${DMIDECODE_VENDOR}= 3mdeb +${DMIDECODE_FAMILY}= N/A +# TODO +${DMIDECODE_TYPE}= Desktop + +${DEVICE_AUDIO1}= ${EMPTY} +${DEVICE_AUDIO2}= ${EMPTY} +${WIFI_CARD_UBUNTU}= ${EMPTY} +${USB_MODEL}= ${EMPTY} +${USB_DEVICE}= ${EMPTY} +${SD_CARD_VENDOR}= ${EMPTY} +${SD_CARD_MODEL}= ${EMPTY} + +# Supported test environments +${TESTS_IN_FIRMWARE_SUPPORT}= ${TRUE} +${TESTS_IN_UBUNTU_SUPPORT}= ${FALSE} +${TESTS_IN_DEBIAN_SUPPORT}= ${FALSE} +${TESTS_IN_WINDOWS_SUPPORT}= ${FALSE} + +# Regression test flags +${DASHARO_SECURITY_MENU_SUPPORT}= ${FALSE} +${DASHARO_USB_MENU_SUPPORT}= ${FALSE} +${DASHARO_NETWORKING_MENU_SUPPORT}= ${FALSE} +${DASHARO_INTEL_ME_MENU_SUPPORT}= ${FALSE} +${DASHARO_CHIPSET_MENU_SUPPORT}= ${FALSE} +${DASHARO_POWER_MGMT_MENU_SUPPORT}= ${FALSE} +${DASHARO_PCI_PCIE_MENU_SUPPORT}= ${FALSE} +${DASHARO_PCIE_REBAR_SUPPORT}= ${FALSE} +${DASHARO_MEMORY_MENU_SUPPORT}= ${FALSE} +# Test module: dasharo-compatibility +${BASE_PORT_ALLOCATOR_V4_SUPPORT}= ${FALSE} +${CUSTOM_BOOT_MENU_KEY_SUPPORT}= ${FALSE} +${CUSTOM_SETUP_MENU_KEY_SUPPORT}= ${FALSE} +${CUSTOM_NETWORK_BOOT_ENTRIES_SUPPORT}= ${FALSE} +${COREBOOT_FAN_CONTROL_SUPPORT}= ${FALSE} +${INTERNAL_LCD_DISPLAY_SUPPORT}= ${FALSE} +${EXTERNAL_HDMI_DISPLAY_SUPPORT}= ${FALSE} +${EXTERNAL_DISPLAY_PORT_SUPPORT}= ${FALSE} +${EC_AND_SUPER_IO_SUPPORT}= ${FALSE} +${CUSTOM_LOGO_SUPPORT}= ${FALSE} +${USB_DISKS_DETECTION_SUPPORT}= ${FALSE} +${USB_KEYBOARD_DETECTION_SUPPORT}= ${FALSE} +${USB_CAMERA_DETECTION_SUPPORT}= ${FALSE} +${USB_TYPE_C_DISPLAY_SUPPORT}= ${FALSE} +${UEFI_SHELL_SUPPORT}= ${FALSE} +${UEFI_COMPATIBLE_INTERFACE_SUPPORT}= ${FALSE} +${IPXE_BOOT_SUPPORT}= ${FALSE} +${NVME_DISK_SUPPORT}= ${FALSE} +${SD_CARD_READER_SUPPORT}= ${FALSE} +${WIRELESS_CARD_SUPPORT}= ${FALSE} +${WIRELESS_CARD_WIFI_SUPPORT}= ${FALSE} +${WIRELESS_CARD_BLUETOOTH_SUPPORT}= ${FALSE} +${NVIDIA_GRAPHICS_CARD_SUPPORT}= ${FALSE} +${AUDIO_SUBSYSTEM_SUPPORT}= ${FALSE} +${SUSPEND_AND_RESUME_SUPPORT}= ${FALSE} +${SERIAL_NUMBER_VERIFICATION}= ${FALSE} +${SERIAL_FROM_MAC}= ${FALSE} +${FIRMWARE_NUMBER_VERIFICATION}= ${FALSE} +${FIRMWARE_FROM_BINARY}= ${FALSE} +${PRODUCT_NAME_VERIFICATION}= ${FALSE} +${RELEASE_DATE_VERIFICATION}= ${FALSE} +${RELEASE_DATE_FROM_SOL}= ${FALSE} +${MANUFACTURER_VERIFICATION}= ${FALSE} +${VENDOR_VERIFICATION}= ${FALSE} +${FAMILY_VERIFICATION}= ${FALSE} +${TYPE_VERIFICATION}= ${FALSE} +${HARDWARE_WP_SUPPORT}= ${FALSE} +${DOCKING_STATION_USB_SUPPORT}= ${FALSE} +${DOCKING_STATION_KEYBOARD_SUPPORT}= ${FALSE} +${DOCKING_STATION_USB_C_CHARGING_SUPPORT}= ${FALSE} +${EMMC_SUPPORT}= ${FALSE} +${DTS_SUPPORT}= ${FALSE} +${FIRMWARE_BUILDING_SUPPORT}= ${FALSE} +${DOCKING_STATION_NET_INTERFACE}= ${FALSE} +${DOCKING_STATION_HDMI}= ${FALSE} +${DOCKING_STATION_DISPLAY_PORT}= ${FALSE} +${UPLOAD_ON_USB_SUPPORT}= ${FALSE} +${DOCKING_STATION_SD_CARD_READER_SUPPORT}= ${FALSE} +${CPU_TESTS_SUPPORT}= ${FALSE} +${RESET_TO_DEFAULTS_SUPPORT}= ${FALSE} +${L3_CACHE_SUPPORT}= ${FALSE} +${L4_CACHE_SUPPORT}= ${FALSE} +${MEMORY_PROFILE_SUPPORT}= ${FALSE} +${DEFAULT_POWER_STATE_AFTER_FAIL}= Powered Off +${ESP_SCANNING_SUPPORT}= ${FALSE} +${DTS_FIRMWARE_FLASHING_SUPPORT}= ${FALSE} +${DTS_EC_FLASHING_SUPPORT}= ${FALSE} +${BASE_PORT_BOOTBLOCK_SUPPORT}= ${FALSE} +${BASE_PORT_ROMSTAGE_SUPPORT}= ${FALSE} +${BASE_PORT_POSTCAR_SUPPORT}= ${FALSE} +${BASE_PORT_RAMSTAGE_SUPPORT}= ${FALSE} +${BOOT_BLOCKING_SUPPORT}= ${FALSE} +${FAN_SPEED_MEASURE_SUPPORT}= ${FALSE} +${DOCKING_STATION_AUDIO_SUPPORT}= ${FALSE} +${DOCKING_STATION_DETECT_SUPPORT}= ${FALSE} +${HEADS_PAYLOAD_SUPPORT}= ${FALSE} +${DEVICE_TREE_SUPPORT}= ${FALSE} +${MINI_PC_IE_SLOT_SUPPORT}= ${FALSE} +${NETBOOT_UTILITIES_SUPPORT}= ${FALSE} +${PETITBOOT_PAYLOAD_SUPPORT}= ${FALSE} +${HIBERNATION_AND_RESUME_SUPPORT}= ${FALSE} + +# Test module: dasharo-security +${TPM_SUPPORT}= ${FALSE} +${VERIFIED_BOOT_SUPPORT}= ${FALSE} +${VERIFIED_BOOT_POPUP_SUPPORT}= ${FALSE} +${MEASURED_BOOT_SUPPORT}= ${FALSE} +${SECURE_BOOT_SUPPORT}= ${FALSE} +${SECURE_BOOT_DEFAULT_STATE}= Disabled +${USB_STACK_SUPPORT}= ${FALSE} +${USB_MASS_STORAGE_SUPPORT}= ${FALSE} +${TCG_OPAL_DISK_PASSWORD_SUPPORT}= ${FALSE} +${BIOS_LOCK_SUPPORT}= ${FALSE} +${SMM_WRITE_PROTECTION_SUPPORT}= ${FALSE} +${WIFI_BLUETOOTH_CARD_SWITCH_SUPPORT}= ${FALSE} +${CAMERA_SWITCH_SUPPORT}= ${FALSE} +${EARLY_BOOT_DMA_SUPPORT}= ${FALSE} +${UEFI_PASSWORD_SUPPORT}= ${FALSE} + +# Test module: dasharo-performance +${SERIAL_BOOT_MEASURE}= ${FALSE} +${CPU_TEMPERATURE_MEASURE}= ${FALSE} +${CPU_FREQUENCY_MEASURE}= ${FALSE} +${PLATFORM_STABILITY_CHECKING}= ${FALSE} +${CUSTOM_FAN_CURVE_SILENT_MODE_SUPPORT}= ${FALSE} +${CUSTOM_FAN_CURVE_PERFORMANCE_MODE_SUPPORT}= ${FALSE} + +# Test module: dasharo-stab +${M2_WIFI_SUPPORT}= ${FALSE} +${TPM_DETECT_SUPPORT}= ${FALSE} +${NVME_DETECTION_SUPPORT}= ${FALSE} +${USB_TYPE-A_DEVICES_DETECTION_SUPPORT}= ${FALSE} +${NETWORK_INTERFACE_AFTER_SUSPEND_SUPPORT}= ${FALSE} + +# Test cases iterations number +# Booting OS from USB stick test cases +${BOOT_FROM_USB_ITERATIONS_NUMBER}= 0 +# Sticks detection test cases +${USB_DETECTION_ITERATIONS_NUMBER}= 0 + +# Other platform flags and counters +# Cooling procedure iterations +${COOLING_PROCEDURE_ITERATIONS}= 0 +# Stability tests duration in minutes +${STABILITY_TEST_DURATION}= 15 +# Interval between the following readings in stability tests +${STABILITY_TEST_MEASURE_INTERVAL}= 5 +# Frequency measure test duration +${FREQUENCY_TEST_DURATION}= 60 +# Interval between the following readings in frequency measure tests +${FREQUENCY_TEST_MEASURE_INTERVAL}= 1 +# Temperature measure test duration +${TEMPERATURE_TEST_DURATION}= 60 +# Interval between the following readings in temperature measure tests +${TEMPERATURE_TEST_MEASURE_INTERVAL}= 1 +# Custom fan curve tests duration in minutes +${CUSTOM_FAN_CURVE_TEST_DURATION}= 30 +# Interval between the following readings in custom fan curve tests +${CUSTOM_FAN_CURVE_MEASURE_INTERVAL}= 1 +# Maximum fails during during performing test suite usb-boot.robot +${ALLOWED_FAILS_USB_BOOT}= 0 +# Maximum fails during during performing test suite usb-detect.robot +${ALLOWED_FAILS_USB_DETECT}= 0 +# Number of suspend and resume cycles performed during suspend test +${SUSPEND_ITERATIONS_NUMBER}= 15 +# Maximum number of fails during performing suspend and resume cycles +${SUSPEND_ALLOWED_FAILS}= 0 +# Maximum fails during performing docking station detect tests +${ALLOWED_DOCKING_STATION_DETECT_FAILS}= 0 +# Number of iterations in stability detection tests +${STABILITY_DETECTION_COLDBOOT_ITERATIONS}= 2 +${STABILITY_DETECTION_WARMBOOT_ITERATIONS}= 2 +${STABILITY_DETECTION_REBOOT_ITERATIONS}= 5 +${STABILITY_DETECTION_SUSPEND_ITERATIONS}= 5 From dbf433c180872332fabf8613ecdf8d6cca6474ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 11:54:17 +0100 Subject: [PATCH 02/18] platform-configs/pcengines-apu4.robot: add initial apu4 config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- platform-configs/pcengines-apu4.robot | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 platform-configs/pcengines-apu4.robot diff --git a/platform-configs/pcengines-apu4.robot b/platform-configs/pcengines-apu4.robot new file mode 100644 index 0000000000..f0408b59e1 --- /dev/null +++ b/platform-configs/pcengines-apu4.robot @@ -0,0 +1,6 @@ +*** Settings *** +Resource include/pcengines.robot + + +*** Variables *** +${DMIDECODE_PRODUCT_NAME}= apu4 From af6a158b57e555a5cd7330b898bf4a5c1c6d02e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 11:57:58 +0100 Subject: [PATCH 03/18] README.md: alphabetize DUT list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b01ef20719..95ef2d3506 100644 --- a/README.md +++ b/README.md @@ -69,15 +69,15 @@ different platform) may vary. | Manufacturer | Platform | Firmware | $CONFIG | |--------------|----------------------|--------------------------|----------------------------------------| -| NovaCustom | NV41MZ | Dasharo | `novacustom-nv41mz` | -| NovaCustom | NV41MB | Dasharo | `novacustom-nv41mb` | +| MSI | PRO Z690 A DDR5 | Dasharo | `msi-pro-z690-a-ddr5` | +| MSI | PRO Z690 A WIFI DDR4 | Dasharo | `msi-pro-z690-a-wifi-ddr4` | | NovaCustom | NS50MU | Dasharo | `novacustom-ns50mu` | -| NovaCustom | NS70MU | Dasharo | `movacustom-ns70mu` | -| NovaCustom | NV41PZ | Dasharo | `novacustom-nv41pz` | | NovaCustom | NS50PU | Dasharo | `novacustom-ns50pu` | +| NovaCustom | NS70MU | Dasharo | `movacustom-ns70mu` | | NovaCustom | NS70PU | Dasharo | `novacustom-ns70pu` | -| MSI | PRO Z690 A WIFI DDR4 | Dasharo | `msi-pro-z690-a-wifi-ddr4` | -| MSI | PRO Z690 A DDR5 | Dasharo | `msi-pro-z690-a-ddr5` | +| NovaCustom | NV41MB | Dasharo | `novacustom-nv41mb` | +| NovaCustom | NV41MZ | Dasharo | `novacustom-nv41mz` | +| NovaCustom | NV41PZ | Dasharo | `novacustom-nv41pz` | | Protectli | V1210 | Dasharo | `protectli-v1210` | | Protectli | V1410 | Dasharo | `protectli-v1410` | | Protectli | V1610 | Dasharo | `protectli-v1610` | @@ -86,9 +86,9 @@ different platform) may vary. | Protectli | VP4630 | Dasharo | `protectli-vp4630` | | Protectli | VP4650 | Dasharo | `protectli-vp4650` | | Protectli | VP4670 | Dasharo | `protectli-vp4670` | +| QEMU | Q35 | Dasharo (UEFI) | `qemu` | | Raptor-CS | TalosII | Dasharo | `raptor-cs_talos2` | | Raspberry Pi | RaspberryPi 3B | Yocto | `rpi-3b` | -| QEMU | Q35 | Dasharo (UEFI) | `qemu` | ## Getting started From d41603c1c7f7ec48eac7e8689d24d9a20d33a569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 12:11:47 +0100 Subject: [PATCH 04/18] variables.robot: update apu4 config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- variables.robot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/variables.robot b/variables.robot index 3eb5c645d9..ba9532b3ca 100644 --- a/variables.robot +++ b/variables.robot @@ -40,9 +40,9 @@ ${OS_UBUNTU}= ubuntu &{RTE10}= ip=192.168.10.173 cpuid=02c00042a3b72a65 pcb_rev=0.5.3 ... platform=apu3 board-revision=c4 env=prod ... platform_vendor=PC Engines firmware_type=BIOS -&{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea pcb_rev=0.5.3 +&{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea pcb_rev=1.0.0 ... platform=apu4 board-revision=4d env=prod -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines firmware_type=UEFI &{RTE12}= ip=192.168.10.175 cpuid=02c000420334dd56 pcb_rev=0.5.3 ... platform=apu5 board-revision=b env=prod ... platform_vendor=PC Engines firmware_type=BIOS From 43c4a0abcf52dd1c5460e3dd48c0371fe1d4ab4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 12:51:28 +0100 Subject: [PATCH 05/18] README.md: add apu4 to DUT list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 95ef2d3506..4b4092ccb5 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,7 @@ different platform) may vary. | NovaCustom | NV41MB | Dasharo | `novacustom-nv41mb` | | NovaCustom | NV41MZ | Dasharo | `novacustom-nv41mz` | | NovaCustom | NV41PZ | Dasharo | `novacustom-nv41pz` | +| PC Engines | apu4 | Dasharo | `pcengines-apu4` | | Protectli | V1210 | Dasharo | `protectli-v1210` | | Protectli | V1410 | Dasharo | `protectli-v1410` | | Protectli | V1610 | Dasharo | `protectli-v1610` | From 74334622f2b3a2457a83ad8c6afaa26dc850bf8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 12:51:46 +0100 Subject: [PATCH 06/18] platform-configs/include/pcengines.robot: enable UEFI Shell tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- platform-configs/include/pcengines.robot | 25 ++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/platform-configs/include/pcengines.robot b/platform-configs/include/pcengines.robot index f55101459e..10f74af5a1 100644 --- a/platform-configs/include/pcengines.robot +++ b/platform-configs/include/pcengines.robot @@ -3,15 +3,15 @@ Resource default.robot *** Variables *** -${INITIAL_DUT_CONNECTION_METHOD}= telnet +${INITIAL_DUT_CONNECTION_METHOD}= Telnet ${DUT_CONNECTION_METHOD}= ${INITIAL_DUT_CONNECTION_METHOD} ${PAYLOAD}= tianocore ${RTE_S2_N_PORT}= 13541 ${FLASH_SIZE}= ${8*1024*1024} ${FLASH_LENGTH}= ${EMPTY} -${TIANOCORE_STRING}= to boot directly -${BOOT_MENU_KEY}= F11 -${SETUP_MENU_KEY}= Delete +${TIANOCORE_STRING}= ENTER +${BOOT_MENU_KEY}= ${F11} +${SETUP_MENU_KEY}= ${DELETE} ${BOOT_MENU_STRING}= Please select boot device: ${SETUP_MENU_STRING}= Select Entry ${IPXE_BOOT_ENTRY}= iPXE Network Boot @@ -75,8 +75,8 @@ ${USB_DISKS_DETECTION_SUPPORT}= ${FALSE} ${USB_KEYBOARD_DETECTION_SUPPORT}= ${FALSE} ${USB_CAMERA_DETECTION_SUPPORT}= ${FALSE} ${USB_TYPE_C_DISPLAY_SUPPORT}= ${FALSE} -${UEFI_SHELL_SUPPORT}= ${FALSE} -${UEFI_COMPATIBLE_INTERFACE_SUPPORT}= ${FALSE} +${UEFI_SHELL_SUPPORT}= ${TRUE} +${UEFI_COMPATIBLE_INTERFACE_SUPPORT}= ${TRUE} ${IPXE_BOOT_SUPPORT}= ${FALSE} ${NVME_DISK_SUPPORT}= ${FALSE} ${SD_CARD_READER_SUPPORT}= ${FALSE} @@ -205,3 +205,16 @@ ${STABILITY_DETECTION_COLDBOOT_ITERATIONS}= 2 ${STABILITY_DETECTION_WARMBOOT_ITERATIONS}= 2 ${STABILITY_DETECTION_REBOOT_ITERATIONS}= 5 ${STABILITY_DETECTION_SUSPEND_ITERATIONS}= 5 + +*** Keywords *** +Power On + [Documentation] Keyword clears telnet buffer and sets Device Under Test + ... into Power On state using RTE OC buffers. Implementation + ... must be compatible with the theory of operation of a + ... specific platform. + IF '${DUT_CONNECTION_METHOD}' == 'SSH' RETURN + Sleep 2s + RteCtrl Power Off + Sleep 10s + Telnet.Read + RteCtrl Power On From 2c373c2c4b1202347cbb306da91c0cfc21144dfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 13:24:08 +0100 Subject: [PATCH 07/18] platform-configs/include/pcengines.robot: remove redundant definitions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- platform-configs/include/pcengines.robot | 206 ++++++----------------- 1 file changed, 56 insertions(+), 150 deletions(-) diff --git a/platform-configs/include/pcengines.robot b/platform-configs/include/pcengines.robot index 10f74af5a1..1f12d59cc3 100644 --- a/platform-configs/include/pcengines.robot +++ b/platform-configs/include/pcengines.robot @@ -36,175 +36,81 @@ ${DMIDECODE_FAMILY}= N/A # TODO ${DMIDECODE_TYPE}= Desktop -${DEVICE_AUDIO1}= ${EMPTY} -${DEVICE_AUDIO2}= ${EMPTY} -${WIFI_CARD_UBUNTU}= ${EMPTY} -${USB_MODEL}= ${EMPTY} -${USB_DEVICE}= ${EMPTY} -${SD_CARD_VENDOR}= ${EMPTY} -${SD_CARD_MODEL}= ${EMPTY} - # Supported test environments ${TESTS_IN_FIRMWARE_SUPPORT}= ${TRUE} -${TESTS_IN_UBUNTU_SUPPORT}= ${FALSE} -${TESTS_IN_DEBIAN_SUPPORT}= ${FALSE} -${TESTS_IN_WINDOWS_SUPPORT}= ${FALSE} +${TESTS_IN_UBUNTU_SUPPORT}= ${TRUE} +${TESTS_IN_DEBIAN_SUPPORT}= ${TRUE} # Regression test flags -${DASHARO_SECURITY_MENU_SUPPORT}= ${FALSE} -${DASHARO_USB_MENU_SUPPORT}= ${FALSE} -${DASHARO_NETWORKING_MENU_SUPPORT}= ${FALSE} +${DASHARO_SECURITY_MENU_SUPPORT}= ${TRUE} +${DASHARO_USB_MENU_SUPPORT}= ${TRUE} +${DASHARO_NETWORKING_MENU_SUPPORT}= ${TRUE} ${DASHARO_INTEL_ME_MENU_SUPPORT}= ${FALSE} -${DASHARO_CHIPSET_MENU_SUPPORT}= ${FALSE} +${DASHARO_CHIPSET_MENU_SUPPORT}= ${TRUE} ${DASHARO_POWER_MGMT_MENU_SUPPORT}= ${FALSE} ${DASHARO_PCI_PCIE_MENU_SUPPORT}= ${FALSE} ${DASHARO_PCIE_REBAR_SUPPORT}= ${FALSE} ${DASHARO_MEMORY_MENU_SUPPORT}= ${FALSE} # Test module: dasharo-compatibility -${BASE_PORT_ALLOCATOR_V4_SUPPORT}= ${FALSE} -${CUSTOM_BOOT_MENU_KEY_SUPPORT}= ${FALSE} -${CUSTOM_SETUP_MENU_KEY_SUPPORT}= ${FALSE} -${CUSTOM_NETWORK_BOOT_ENTRIES_SUPPORT}= ${FALSE} -${COREBOOT_FAN_CONTROL_SUPPORT}= ${FALSE} -${INTERNAL_LCD_DISPLAY_SUPPORT}= ${FALSE} -${EXTERNAL_HDMI_DISPLAY_SUPPORT}= ${FALSE} -${EXTERNAL_DISPLAY_PORT_SUPPORT}= ${FALSE} -${EC_AND_SUPER_IO_SUPPORT}= ${FALSE} -${CUSTOM_LOGO_SUPPORT}= ${FALSE} -${USB_DISKS_DETECTION_SUPPORT}= ${FALSE} -${USB_KEYBOARD_DETECTION_SUPPORT}= ${FALSE} -${USB_CAMERA_DETECTION_SUPPORT}= ${FALSE} -${USB_TYPE_C_DISPLAY_SUPPORT}= ${FALSE} +${CUSTOM_BOOT_MENU_KEY_SUPPORT}= ${TRUE} +${CUSTOM_SETUP_MENU_KEY_SUPPORT}= ${TRUE} +${EC_AND_SUPER_IO_SUPPORT}= ${TRUE} +${USB_DISKS_DETECTION_SUPPORT}= ${TRUE} ${UEFI_SHELL_SUPPORT}= ${TRUE} ${UEFI_COMPATIBLE_INTERFACE_SUPPORT}= ${TRUE} -${IPXE_BOOT_SUPPORT}= ${FALSE} -${NVME_DISK_SUPPORT}= ${FALSE} -${SD_CARD_READER_SUPPORT}= ${FALSE} -${WIRELESS_CARD_SUPPORT}= ${FALSE} -${WIRELESS_CARD_WIFI_SUPPORT}= ${FALSE} -${WIRELESS_CARD_BLUETOOTH_SUPPORT}= ${FALSE} -${NVIDIA_GRAPHICS_CARD_SUPPORT}= ${FALSE} -${AUDIO_SUBSYSTEM_SUPPORT}= ${FALSE} -${SUSPEND_AND_RESUME_SUPPORT}= ${FALSE} -${SERIAL_NUMBER_VERIFICATION}= ${FALSE} -${SERIAL_FROM_MAC}= ${FALSE} -${FIRMWARE_NUMBER_VERIFICATION}= ${FALSE} -${FIRMWARE_FROM_BINARY}= ${FALSE} -${PRODUCT_NAME_VERIFICATION}= ${FALSE} -${RELEASE_DATE_VERIFICATION}= ${FALSE} -${RELEASE_DATE_FROM_SOL}= ${FALSE} -${MANUFACTURER_VERIFICATION}= ${FALSE} -${VENDOR_VERIFICATION}= ${FALSE} -${FAMILY_VERIFICATION}= ${FALSE} -${TYPE_VERIFICATION}= ${FALSE} -${HARDWARE_WP_SUPPORT}= ${FALSE} -${DOCKING_STATION_USB_SUPPORT}= ${FALSE} -${DOCKING_STATION_KEYBOARD_SUPPORT}= ${FALSE} -${DOCKING_STATION_USB_C_CHARGING_SUPPORT}= ${FALSE} -${EMMC_SUPPORT}= ${FALSE} -${DTS_SUPPORT}= ${FALSE} -${FIRMWARE_BUILDING_SUPPORT}= ${FALSE} -${DOCKING_STATION_NET_INTERFACE}= ${FALSE} -${DOCKING_STATION_HDMI}= ${FALSE} -${DOCKING_STATION_DISPLAY_PORT}= ${FALSE} -${UPLOAD_ON_USB_SUPPORT}= ${FALSE} -${DOCKING_STATION_SD_CARD_READER_SUPPORT}= ${FALSE} -${CPU_TESTS_SUPPORT}= ${FALSE} -${RESET_TO_DEFAULTS_SUPPORT}= ${FALSE} -${L3_CACHE_SUPPORT}= ${FALSE} -${L4_CACHE_SUPPORT}= ${FALSE} -${MEMORY_PROFILE_SUPPORT}= ${FALSE} -${DEFAULT_POWER_STATE_AFTER_FAIL}= Powered Off -${ESP_SCANNING_SUPPORT}= ${FALSE} -${DTS_FIRMWARE_FLASHING_SUPPORT}= ${FALSE} -${DTS_EC_FLASHING_SUPPORT}= ${FALSE} -${BASE_PORT_BOOTBLOCK_SUPPORT}= ${FALSE} -${BASE_PORT_ROMSTAGE_SUPPORT}= ${FALSE} -${BASE_PORT_POSTCAR_SUPPORT}= ${FALSE} -${BASE_PORT_RAMSTAGE_SUPPORT}= ${FALSE} -${BOOT_BLOCKING_SUPPORT}= ${FALSE} -${FAN_SPEED_MEASURE_SUPPORT}= ${FALSE} -${DOCKING_STATION_AUDIO_SUPPORT}= ${FALSE} -${DOCKING_STATION_DETECT_SUPPORT}= ${FALSE} -${HEADS_PAYLOAD_SUPPORT}= ${FALSE} -${DEVICE_TREE_SUPPORT}= ${FALSE} -${MINI_PC_IE_SLOT_SUPPORT}= ${FALSE} -${NETBOOT_UTILITIES_SUPPORT}= ${FALSE} -${PETITBOOT_PAYLOAD_SUPPORT}= ${FALSE} -${HIBERNATION_AND_RESUME_SUPPORT}= ${FALSE} +${IPXE_BOOT_SUPPORT}= ${TRUE} +${SD_CARD_READER_SUPPORT}= ${TRUE} +${WIRELESS_CARD_SUPPORT}= ${TRUE} +${WIRELESS_CARD_WIFI_SUPPORT}= ${TRUE} +${SERIAL_NUMBER_VERIFICATION}= ${TRUE} +${FIRMWARE_NUMBER_VERIFICATION}= ${TRUE} +${FIRMWARE_FROM_BINARY}= ${TRUE} +${PRODUCT_NAME_VERIFICATION}= ${TRUE} +${RELEASE_DATE_VERIFICATION}= ${TRUE} +${RELEASE_DATE_FROM_SOL}= ${TRUE} +${MANUFACTURER_VERIFICATION}= ${TRUE} +${VENDOR_VERIFICATION}= ${TRUE} +${FAMILY_VERIFICATION}= ${TRUE} +${TYPE_VERIFICATION}= ${TRUE} +${HARDWARE_WP_SUPPORT}= ${TRUE} +${DTS_SUPPORT}= ${TRUE} +${FIRMWARE_BUILDING_SUPPORT}= ${TRUE} +${UPLOAD_ON_USB_SUPPORT}= ${TRUE} +${CPU_TESTS_SUPPORT}= ${TRUE} +${RESET_TO_DEFAULTS_SUPPORT}= ${TRUE} +${L2_CACHE_SUPPORT}= ${TRUE} +${L3_CACHE_SUPPORT}= ${TRUE} +${DEFAULT_POWER_STATE_AFTER_FAIL}= Powered On +${ESP_SCANNING_SUPPORT}= ${TRUE} +${DTS_FIRMWARE_FLASHING_SUPPORT}= ${TRUE} +${BASE_PORT_BOOTBLOCK_SUPPORT}= ${TRUE} +${BASE_PORT_ROMSTAGE_SUPPORT}= ${TRUE} +${BASE_PORT_POSTCAR_SUPPORT}= ${TRUE} +${BASE_PORT_RAMSTAGE_SUPPORT}= ${TRUE} +${MINI_PC_IE_SLOT_SUPPORT}= ${TRUE} +${NETBOOT_UTILITIES_SUPPORT}= ${TRUE} +${HIBERNATION_AND_RESUME_SUPPORT}= ${TRUE} # Test module: dasharo-security -${TPM_SUPPORT}= ${FALSE} -${VERIFIED_BOOT_SUPPORT}= ${FALSE} -${VERIFIED_BOOT_POPUP_SUPPORT}= ${FALSE} -${MEASURED_BOOT_SUPPORT}= ${FALSE} -${SECURE_BOOT_SUPPORT}= ${FALSE} +${TPM_SUPPORT}= ${TRUE} +${MEASURED_BOOT_SUPPORT}= ${TRUE} +${SECURE_BOOT_SUPPORT}= ${TRUE} ${SECURE_BOOT_DEFAULT_STATE}= Disabled -${USB_STACK_SUPPORT}= ${FALSE} -${USB_MASS_STORAGE_SUPPORT}= ${FALSE} -${TCG_OPAL_DISK_PASSWORD_SUPPORT}= ${FALSE} -${BIOS_LOCK_SUPPORT}= ${FALSE} -${SMM_WRITE_PROTECTION_SUPPORT}= ${FALSE} -${WIFI_BLUETOOTH_CARD_SWITCH_SUPPORT}= ${FALSE} -${CAMERA_SWITCH_SUPPORT}= ${FALSE} -${EARLY_BOOT_DMA_SUPPORT}= ${FALSE} -${UEFI_PASSWORD_SUPPORT}= ${FALSE} +${USB_STACK_SUPPORT}= ${TRUE} +${USB_MASS_STORAGE_SUPPORT}= ${TRUE} +${TCG_OPAL_DISK_PASSWORD_SUPPORT}= ${TRUE} +${BIOS_LOCK_SUPPORT}= ${TRUE} +${UEFI_PASSWORD_SUPPORT}= ${TRUE} # Test module: dasharo-performance -${SERIAL_BOOT_MEASURE}= ${FALSE} -${CPU_TEMPERATURE_MEASURE}= ${FALSE} -${CPU_FREQUENCY_MEASURE}= ${FALSE} -${PLATFORM_STABILITY_CHECKING}= ${FALSE} -${CUSTOM_FAN_CURVE_SILENT_MODE_SUPPORT}= ${FALSE} -${CUSTOM_FAN_CURVE_PERFORMANCE_MODE_SUPPORT}= ${FALSE} +${SERIAL_BOOT_MEASURE}= ${TRUE} +${CPU_TEMPERATURE_MEASURE}= ${TRUE} +${CPU_FREQUENCY_MEASURE}= ${TRUE} +${PLATFORM_STABILITY_CHECKING}= ${TRUE} # Test module: dasharo-stab -${M2_WIFI_SUPPORT}= ${FALSE} -${TPM_DETECT_SUPPORT}= ${FALSE} -${NVME_DETECTION_SUPPORT}= ${FALSE} -${USB_TYPE-A_DEVICES_DETECTION_SUPPORT}= ${FALSE} -${NETWORK_INTERFACE_AFTER_SUSPEND_SUPPORT}= ${FALSE} - -# Test cases iterations number -# Booting OS from USB stick test cases -${BOOT_FROM_USB_ITERATIONS_NUMBER}= 0 -# Sticks detection test cases -${USB_DETECTION_ITERATIONS_NUMBER}= 0 - -# Other platform flags and counters -# Cooling procedure iterations -${COOLING_PROCEDURE_ITERATIONS}= 0 -# Stability tests duration in minutes -${STABILITY_TEST_DURATION}= 15 -# Interval between the following readings in stability tests -${STABILITY_TEST_MEASURE_INTERVAL}= 5 -# Frequency measure test duration -${FREQUENCY_TEST_DURATION}= 60 -# Interval between the following readings in frequency measure tests -${FREQUENCY_TEST_MEASURE_INTERVAL}= 1 -# Temperature measure test duration -${TEMPERATURE_TEST_DURATION}= 60 -# Interval between the following readings in temperature measure tests -${TEMPERATURE_TEST_MEASURE_INTERVAL}= 1 -# Custom fan curve tests duration in minutes -${CUSTOM_FAN_CURVE_TEST_DURATION}= 30 -# Interval between the following readings in custom fan curve tests -${CUSTOM_FAN_CURVE_MEASURE_INTERVAL}= 1 -# Maximum fails during during performing test suite usb-boot.robot -${ALLOWED_FAILS_USB_BOOT}= 0 -# Maximum fails during during performing test suite usb-detect.robot -${ALLOWED_FAILS_USB_DETECT}= 0 -# Number of suspend and resume cycles performed during suspend test -${SUSPEND_ITERATIONS_NUMBER}= 15 -# Maximum number of fails during performing suspend and resume cycles -${SUSPEND_ALLOWED_FAILS}= 0 -# Maximum fails during performing docking station detect tests -${ALLOWED_DOCKING_STATION_DETECT_FAILS}= 0 -# Number of iterations in stability detection tests -${STABILITY_DETECTION_COLDBOOT_ITERATIONS}= 2 -${STABILITY_DETECTION_WARMBOOT_ITERATIONS}= 2 -${STABILITY_DETECTION_REBOOT_ITERATIONS}= 5 -${STABILITY_DETECTION_SUSPEND_ITERATIONS}= 5 +${TPM_DETECT_SUPPORT}= ${TRUE} +${USB_TYPE-A_DEVICES_DETECTION_SUPPORT}= ${TRUE} *** Keywords *** Power On From d20d90966ed3af80f979d7e39e2d393e2bf4c39b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 13:49:21 +0100 Subject: [PATCH 08/18] platform-configs/include/pcengines.robot: adjust test scope MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- platform-configs/include/pcengines.robot | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform-configs/include/pcengines.robot b/platform-configs/include/pcengines.robot index 1f12d59cc3..e0d1ce75e9 100644 --- a/platform-configs/include/pcengines.robot +++ b/platform-configs/include/pcengines.robot @@ -93,13 +93,14 @@ ${HIBERNATION_AND_RESUME_SUPPORT}= ${TRUE} # Test module: dasharo-security ${TPM_SUPPORT}= ${TRUE} +${VERIFIED_BOOT_SUPPORT}= ${TRUE} +${VERIFIED_BOOT_POPUP_SUPPORT}= ${TRUE} ${MEASURED_BOOT_SUPPORT}= ${TRUE} ${SECURE_BOOT_SUPPORT}= ${TRUE} ${SECURE_BOOT_DEFAULT_STATE}= Disabled ${USB_STACK_SUPPORT}= ${TRUE} ${USB_MASS_STORAGE_SUPPORT}= ${TRUE} ${TCG_OPAL_DISK_PASSWORD_SUPPORT}= ${TRUE} -${BIOS_LOCK_SUPPORT}= ${TRUE} ${UEFI_PASSWORD_SUPPORT}= ${TRUE} # Test module: dasharo-performance From 1f546cb3d5f225b507c453081cca4ca7807a1431 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 13:55:22 +0100 Subject: [PATCH 09/18] platform-configs/include/pcengines.robot: remove unsupported tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- platform-configs/include/pcengines.robot | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/platform-configs/include/pcengines.robot b/platform-configs/include/pcengines.robot index e0d1ce75e9..c6d0735c5c 100644 --- a/platform-configs/include/pcengines.robot +++ b/platform-configs/include/pcengines.robot @@ -39,18 +39,9 @@ ${DMIDECODE_TYPE}= Desktop # Supported test environments ${TESTS_IN_FIRMWARE_SUPPORT}= ${TRUE} ${TESTS_IN_UBUNTU_SUPPORT}= ${TRUE} -${TESTS_IN_DEBIAN_SUPPORT}= ${TRUE} # Regression test flags ${DASHARO_SECURITY_MENU_SUPPORT}= ${TRUE} -${DASHARO_USB_MENU_SUPPORT}= ${TRUE} -${DASHARO_NETWORKING_MENU_SUPPORT}= ${TRUE} -${DASHARO_INTEL_ME_MENU_SUPPORT}= ${FALSE} -${DASHARO_CHIPSET_MENU_SUPPORT}= ${TRUE} -${DASHARO_POWER_MGMT_MENU_SUPPORT}= ${FALSE} -${DASHARO_PCI_PCIE_MENU_SUPPORT}= ${FALSE} -${DASHARO_PCIE_REBAR_SUPPORT}= ${FALSE} -${DASHARO_MEMORY_MENU_SUPPORT}= ${FALSE} # Test module: dasharo-compatibility ${CUSTOM_BOOT_MENU_KEY_SUPPORT}= ${TRUE} ${CUSTOM_SETUP_MENU_KEY_SUPPORT}= ${TRUE} @@ -98,9 +89,6 @@ ${VERIFIED_BOOT_POPUP_SUPPORT}= ${TRUE} ${MEASURED_BOOT_SUPPORT}= ${TRUE} ${SECURE_BOOT_SUPPORT}= ${TRUE} ${SECURE_BOOT_DEFAULT_STATE}= Disabled -${USB_STACK_SUPPORT}= ${TRUE} -${USB_MASS_STORAGE_SUPPORT}= ${TRUE} -${TCG_OPAL_DISK_PASSWORD_SUPPORT}= ${TRUE} ${UEFI_PASSWORD_SUPPORT}= ${TRUE} # Test module: dasharo-performance From 212a3c85fb05bef84a43e3a2217021a6d652d0f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 14:45:23 +0100 Subject: [PATCH 10/18] README.md: split some docs to a subdirectory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- README.md | 204 ++--------------------------------------- docs/contributing.md | 90 ++++++++++++++++++ docs/qemu.md | 48 ++++++++++ docs/raptor-talos-2.md | 47 ++++++++++ 4 files changed, 192 insertions(+), 197 deletions(-) create mode 100644 docs/contributing.md create mode 100644 docs/qemu.md create mode 100644 docs/raptor-talos-2.md diff --git a/README.md b/README.md index 4b4092ccb5..78b243c83f 100644 --- a/README.md +++ b/README.md @@ -22,18 +22,8 @@ appear here. - [Running tests](#running-tests) - [Running tests via wrapper](#running-tests-via-wrapper) - [Running regressions tests](#running-regressions-tests) -* [QEMU workflow](#qemu-workflow) - - [Booting](#booting) -* [Contributing](#contributing) - - [Code](#code) - - [Issues](#issues) -* [Guidelines](#guidelines) - - [Pre-commit and CI checks](#pre-commit-and-ci-checks) - - [Code style](#code-style) - - [Keywords](#keywords) - - [Documentation](#documentation) * [Useful refactoring tools](#useful-refactoring-tools) -* [RCS Talos II platforms](#rcs-talos-ii-platform) +* [Additional documents](#additional-documents) ## Lab architecture @@ -194,146 +184,6 @@ platform config file. FW_FILE=$FW_FILE DEVICE_IP=$DEVICE_IP RTE_IP=$RTE_IP CONFIG=$CONFIG ./scripts/regression.sh ``` -## QEMU workflow - -> Make sure to proceed with [Getting started section](#getting-started) first. - -Many of the test and keywords can be tested in emulation environment. This -can greatly increase the development speed: -* there is no need to acquire hardware, -* there is no need to flash hardware, or resolve other hardware-related - problems, -* the boot time (and responsivness in general) is much faster. - -### Booting - -Following script assume that you have `OVMF_CODE.fd` and `OVMF_VARS.fd` in you -current working directory. If those binaries will not be found script will -download latest release of Dasharo (UEFI) for QEMU Q35. - -If you want to use script in development workflow, most likely you have already built -Dasharo (UEFI) for QEMU Q35 according to -[this instruction](https://docs.dasharo.com/variants/qemu_q35/building-manual/). -In that case you would like to provide directory with Dasharo (UEFI) binaries as -environment variable (`DIR`). - -You may also decide to not use graphics user interface for QEMU. In that case -choose mode `nographic`. If you run QEMU on a remote machine you may consider -to use mode `vnc` with default port for graphical output being `5900`. - -Dasharo (UEFI) in QEMU can be started with: - -```bash -./scripts/ci/qemu-run.sh graphic firmware -``` - -In this mode, a graphical QEMU window would popup, so you can observe the test -flow, or control it manually. The actual testing will happen over -serial, which is exposed via telnet. For more modes and options, please refer -to the script's help text. - -You may also build customized Dasharo firmware for QEMU (e.g. with some Dasharo -options enabled or disabled). In such a case, please refer to: -* [Building Manual in Dasharo for QEMU documentation](https://docs.dasharo.com/variants/qemu_q35/building-manual/) -* [Development section in Dasharo for QEMU documentation](https://docs.dasharo.com/variants/qemu_q35/development/) - -Refer to the [latest releases](https://github.com/Dasharo/edk2/releases/latest/) -to see which test have been proven to work on QEMU so far. - -You may also refer to the `./scripts/ci/qemu-self-test.sh`, where we aim to -keep testing common keywords, to ensure of their correct operation. - -## Contributing - -### Code - -* Install pre-commit hooks after cloning repository: - -```bash -pre-commit install -``` - -### Issues - -If you are certain that the issue is related to this repository, create issue -directly -[here](https://github.com/Dasharo/open-source-firmware-validation/issues/new/choose). -Otherwise, create an issue in -[dasharo-issues repisotory](https://github.com/Dasharo/dasharo-issues/issues/new/choose). - -## Guidelines - -A list of guidelines we shall follow during transition to improve the quality -of this repository. We start with getting rid of duplicated keywords, reducing -the size of `keywords.robot` file, and improving their overall quality. - -There are other areas of interest that we will look into in the next steps -and add as guidelines: -* variables (use Python/YAML, not robot syntax), -* platform-configs (get rid of duplication, and unused data), -* separate test for different OS into different suites, -* prepare the OS for running test suite via some dedicated tools (e.g. Ansible), - rather than implementing keywords for that from scratch, -* reduce the number of unnecessary power events, so tests can finish quicker, -* improve overall code quality by enabling back more - [robocop checks we cannot pass right now](https://github.com/Dasharo/open-source-firmware-validation/blob/main/robocop.toml), -* To Be Continued. - -### Pre-commit and CI checks - -1. Make sure to use `pre-commit` locally. All pre-commit and other CI checks - must pass of course, prior requesting for review. Please check the status of - checks in your PR. If the failure is questionable, provide your arguments - for that, rather than silently ignoring this fact. - -### Code style - -1. It is automatically handled by - [robotidy](https://robotidy.readthedocs.io/en/stable/). The current rules - can be found - [here](https://github.com/Dasharo/open-source-firmware-validation/blob/main/.robotidy). - -### Keywords - -1. No new keywords in `keywords.robot` will be accepted -* new keywords must be placed in a logically divided modules, under `lib/` - directory - - see - [openbmc-test-automation](https://github.com/openbmc/openbmc-test-automation/tree/master/lib) - as a reference -* if you need to modify something in `keywords.robot`, you should create a new - module under `lib/` -* if you add new keyword module, you should review the `keywords.module` and - move related keywords there as well, if suitable -1. If keyword from keywords.robot can be reused or improved, do that instead - of creating a new one - - keyword duplication will not be accepted, - - you will be asked to use/improve existing keywords instead. -1. You are encouraged to use Python for more sophisticaed or complex keywords - (e.g. more convoluted data parsing and processing). We are not forced to use - RF for all keywords. Especially when it is simply easier to use Python. -1. For reading from terminal (no matter if it is Telnet, or SSH), - following keywords must be used: - - `Read From Terminal Until Prompt` - - `Read From Terminal Until` - - `Read From Terminal` - Usage of other keywords is prohibited. Whenever you modify a test/keyword, - you should rework it to use one of the above. -1. For writing into terminal, following keywords must be used: - - `Execute Command In Terminal` - - `Write Into Terminal` - - `Write Bare Into Terminal` - Usage of other keywords is prohibited. Whenever you modify a test/keyword, - you should rework it to use one of the above. - You should use `Execute Command In Terminal` unless you have a very good - reason not to. Thanks to that, your keyword will not leave floating output - in buffer to be received by another keywords, not expecting that. - -### Documentation - -* Each new (or modified) file, test, keyword, must have a `[Documentation]` - section. - ## Useful refactoring tools * [sherlock](https://github.com/MarketSquare/robotframework-sherlock) @@ -342,50 +192,10 @@ and add as guidelines: * [Renaming Test Cases](https://robotidy.readthedocs.io/en/stable/transformers/RenameTestCases.html) * [Renaming Variables](https://robotidy.readthedocs.io/en/stable/transformers/RenameVariables.html) -## RCS Talos II platform +## Additional documents -When running tests on Talos II platform use the following commands: - -**WARNING** The support state of this platform in the `main` branch may vary. -We should have a single documentation for all platforms. This effort is tracked in -[this issue](https://github.com/Dasharo/open-source-firmware-validation/issues/112). - -* For running a single test case: - -```bash -robot -L TRACE -v device_ip:$DEVICE_IP -v config:raptor-cs_talos2 -v fw_file:$FW_FILE \ --v bootblock_file:$BOOTBLOCK_FILE -v zImage_file:$ZIMAGE_FILE -v pnor_file:$PNOR_FILE \ --t $TEST_CASE_ID $TEST_MODULE/$TEST_SUITE -``` - -* For running single test suite: - -```bash -robot -L TRACE -v device_ip:$DEVICE_IP -v config:raptor-cs_talos2 -v fw_file:$FW_FILE \ --v bootblock_file:$BOOTBLOCK_FILE -v zImage_file:$ZIMAGE_FILE -v pnor_file:$PNOR_FILE \ -$TEST_MODULE/$TEST_SUITE -``` - -* For running single test module: - -```bash -robot -L TRACE -v device_ip:$DEVICE_IP -v config:raptor-cs_talos2 -v fw_file:$FW_FILE \ --v bootblock_file:$BOOTBLOCK_FILE -v zImage_file:$ZIMAGE_FILE -v pnor_file:$PNOR_FILE \ -./$TEST_MODULE -``` - -Parameters should be defined as follows: - -* $DEVICE_IP - OBMC IP address (currently `192.168.20.9`), -* $FW_FILE - path to and name of the coreboot firmware file, -* $BOOTBLOCK_FILE - path to and name of the bootblock file, -* $ZIMAGE_FILE - path to and name of the zImage file, -* $PNOR_FILE - path to and name of the pnor file, -* $TEST_MODULE - name of the test module (i.e. `dasharo-compatibility`), -* $TEST_SUITE - name of the test suite (i.e. `coreboot-base-port`), -* $TEST_CASE_ID - ID of the requested to run test case (i.e. `CBP001.001`). - Note that after test case ID asterisk should be added. This is necessary due - to the construction of the flag `-t` (or `--test`) - -You can also run tests with `-v snipeit:no` in order to skip checking whether -the platform is available on snipeit. +- [Contributing](docs/contributing.md) - Instructions for first-time + contributors +- [Raptor CS Talos II](docs/raptor-talos-2.md) - Documentation specific to the + Raptor Computing Systems Talos II mainboard +- [QEMU](docs/qemu.md) - Documentation for running tests in QEMU diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 0000000000..af81919154 --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1,90 @@ +## Contributing + +### Code + +* Install pre-commit hooks after cloning repository: + +```bash +pre-commit install +``` + +### Issues + +If you are certain that the issue is related to this repository, create issue +directly +[here](https://github.com/Dasharo/open-source-firmware-validation/issues/new/choose). +Otherwise, create an issue in +[dasharo-issues repisotory](https://github.com/Dasharo/dasharo-issues/issues/new/choose). + +## Guidelines + +A list of guidelines we shall follow during transition to improve the quality +of this repository. We start with getting rid of duplicated keywords, reducing +the size of `keywords.robot` file, and improving their overall quality. + +There are other areas of interest that we will look into in the next steps +and add as guidelines: +* variables (use Python/YAML, not robot syntax), +* platform-configs (get rid of duplication, and unused data), +* separate test for different OS into different suites, +* prepare the OS for running test suite via some dedicated tools (e.g. Ansible), + rather than implementing keywords for that from scratch, +* reduce the number of unnecessary power events, so tests can finish quicker, +* improve overall code quality by enabling back more + [robocop checks we cannot pass right now](https://github.com/Dasharo/open-source-firmware-validation/blob/main/robocop.toml), +* To Be Continued. + +### Pre-commit and CI checks + +1. Make sure to use `pre-commit` locally. All pre-commit and other CI checks + must pass of course, prior requesting for review. Please check the status of + checks in your PR. If the failure is questionable, provide your arguments + for that, rather than silently ignoring this fact. + +### Code style + +1. It is automatically handled by + [robotidy](https://robotidy.readthedocs.io/en/stable/). The current rules + can be found + [here](https://github.com/Dasharo/open-source-firmware-validation/blob/main/.robotidy). + +### Keywords + +1. No new keywords in `keywords.robot` will be accepted +* new keywords must be placed in a logically divided modules, under `lib/` + directory + - see + [openbmc-test-automation](https://github.com/openbmc/openbmc-test-automation/tree/master/lib) + as a reference +* if you need to modify something in `keywords.robot`, you should create a new + module under `lib/` +* if you add new keyword module, you should review the `keywords.module` and + move related keywords there as well, if suitable +1. If keyword from keywords.robot can be reused or improved, do that instead + of creating a new one + - keyword duplication will not be accepted, + - you will be asked to use/improve existing keywords instead. +1. You are encouraged to use Python for more sophisticaed or complex keywords + (e.g. more convoluted data parsing and processing). We are not forced to use + RF for all keywords. Especially when it is simply easier to use Python. +1. For reading from terminal (no matter if it is Telnet, or SSH), + following keywords must be used: + - `Read From Terminal Until Prompt` + - `Read From Terminal Until` + - `Read From Terminal` + Usage of other keywords is prohibited. Whenever you modify a test/keyword, + you should rework it to use one of the above. +1. For writing into terminal, following keywords must be used: + - `Execute Command In Terminal` + - `Write Into Terminal` + - `Write Bare Into Terminal` + Usage of other keywords is prohibited. Whenever you modify a test/keyword, + you should rework it to use one of the above. + You should use `Execute Command In Terminal` unless you have a very good + reason not to. Thanks to that, your keyword will not leave floating output + in buffer to be received by another keywords, not expecting that. + +### Documentation + +* Each new (or modified) file, test, keyword, must have a `[Documentation]` + section. diff --git a/docs/qemu.md b/docs/qemu.md new file mode 100644 index 0000000000..63c91c06da --- /dev/null +++ b/docs/qemu.md @@ -0,0 +1,48 @@ +## QEMU workflow + +> Make sure to proceed with [Getting started section](../README.md#getting-started) first. + +Many of the test and keywords can be tested in emulation environment. This +can greatly increase the development speed: +* there is no need to acquire hardware, +* there is no need to flash hardware, or resolve other hardware-related + problems, +* the boot time (and responsivness in general) is much faster. + +### Booting + +Following script assume that you have `OVMF_CODE.fd` and `OVMF_VARS.fd` in you +current working directory. If those binaries will not be found script will +download latest release of Dasharo (UEFI) for QEMU Q35. + +If you want to use script in development workflow, most likely you have already built +Dasharo (UEFI) for QEMU Q35 according to +[this instruction](https://docs.dasharo.com/variants/qemu_q35/building-manual/). +In that case you would like to provide directory with Dasharo (UEFI) binaries as +environment variable (`DIR`). + +You may also decide to not use graphics user interface for QEMU. In that case +choose mode `nographic`. If you run QEMU on a remote machine you may consider +to use mode `vnc` with default port for graphical output being `5900`. + +Dasharo (UEFI) in QEMU can be started with: + +```bash +./scripts/ci/qemu-run.sh graphic firmware +``` + +In this mode, a graphical QEMU window would popup, so you can observe the test +flow, or control it manually. The actual testing will happen over +serial, which is exposed via telnet. For more modes and options, please refer +to the script's help text. + +You may also build customized Dasharo firmware for QEMU (e.g. with some Dasharo +options enabled or disabled). In such a case, please refer to: +* [Building Manual in Dasharo for QEMU documentation](https://docs.dasharo.com/variants/qemu_q35/building-manual/) +* [Development section in Dasharo for QEMU documentation](https://docs.dasharo.com/variants/qemu_q35/development/) + +Refer to the [latest releases](https://github.com/Dasharo/edk2/releases/latest/) +to see which test have been proven to work on QEMU so far. + +You may also refer to the `./scripts/ci/qemu-self-test.sh`, where we aim to +keep testing common keywords, to ensure of their correct operation. diff --git a/docs/raptor-talos-2.md b/docs/raptor-talos-2.md new file mode 100644 index 0000000000..072c49e6d9 --- /dev/null +++ b/docs/raptor-talos-2.md @@ -0,0 +1,47 @@ +## RCS Talos II platform + +When running tests on Talos II platform use the following commands: + +**WARNING** The support state of this platform in the `main` branch may vary. +We should have a single documentation for all platforms. This effort is tracked in +[this issue](https://github.com/Dasharo/open-source-firmware-validation/issues/112). + +* For running a single test case: + +```bash +robot -L TRACE -v device_ip:$DEVICE_IP -v config:raptor-cs_talos2 -v fw_file:$FW_FILE \ +-v bootblock_file:$BOOTBLOCK_FILE -v zImage_file:$ZIMAGE_FILE -v pnor_file:$PNOR_FILE \ +-t $TEST_CASE_ID $TEST_MODULE/$TEST_SUITE +``` + +* For running single test suite: + +```bash +robot -L TRACE -v device_ip:$DEVICE_IP -v config:raptor-cs_talos2 -v fw_file:$FW_FILE \ +-v bootblock_file:$BOOTBLOCK_FILE -v zImage_file:$ZIMAGE_FILE -v pnor_file:$PNOR_FILE \ +$TEST_MODULE/$TEST_SUITE +``` + +* For running single test module: + +```bash +robot -L TRACE -v device_ip:$DEVICE_IP -v config:raptor-cs_talos2 -v fw_file:$FW_FILE \ +-v bootblock_file:$BOOTBLOCK_FILE -v zImage_file:$ZIMAGE_FILE -v pnor_file:$PNOR_FILE \ +./$TEST_MODULE +``` + +Parameters should be defined as follows: + +* $DEVICE_IP - OBMC IP address (currently `192.168.20.9`), +* $FW_FILE - path to and name of the coreboot firmware file, +* $BOOTBLOCK_FILE - path to and name of the bootblock file, +* $ZIMAGE_FILE - path to and name of the zImage file, +* $PNOR_FILE - path to and name of the pnor file, +* $TEST_MODULE - name of the test module (i.e. `dasharo-compatibility`), +* $TEST_SUITE - name of the test suite (i.e. `coreboot-base-port`), +* $TEST_CASE_ID - ID of the requested to run test case (i.e. `CBP001.001`). + Note that after test case ID asterisk should be added. This is necessary due + to the construction of the flag `-t` (or `--test`) + +You can also run tests with `-v snipeit:no` in order to skip checking whether +the platform is available on snipeit. From 436d72e9757d884fef0dee0791402bc548f0241f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 15:16:08 +0100 Subject: [PATCH 11/18] docs/adding-new-platforms.md: add file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- README.md | 2 + docs/adding-new-platforms.md | 81 ++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 docs/adding-new-platforms.md diff --git a/README.md b/README.md index 78b243c83f..ffeb94223e 100644 --- a/README.md +++ b/README.md @@ -194,6 +194,8 @@ FW_FILE=$FW_FILE DEVICE_IP=$DEVICE_IP RTE_IP=$RTE_IP CONFIG=$CONFIG ./scripts/re ## Additional documents +- [Adding new platforms](docs/adding-new-platforms.md) - Instructions for adding + support for new platforms - [Contributing](docs/contributing.md) - Instructions for first-time contributors - [Raptor CS Talos II](docs/raptor-talos-2.md) - Documentation specific to the diff --git a/docs/adding-new-platforms.md b/docs/adding-new-platforms.md new file mode 100644 index 0000000000..7637d39594 --- /dev/null +++ b/docs/adding-new-platforms.md @@ -0,0 +1,81 @@ +## Adding new platforms + +Depending on what type of platform you're adding, the instructions here will +vary. + +### Adding a brand new platform + +- Create a new file for your mainboard in `platform-configs/`. For most + platforms this file will be called `[platform-vendor]-[platform-model].robot`. +- Add the following at the top of your platform config: + +```robot +*** Settings *** +Resource default.robot +``` + +- Copy the contents of `include/default.robot` to your platform config +- Modify the file for your platform: + - Modify the settings appropriately for your mainboard + - Remove any unmodified lines - they will be sourced from `default.robot` +- Add the platform configuration to `variables.robot: + - Create a new configuration of RTE, if you are using one, e.g.: + + ```robot + &{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea pcb_rev=1.0.0 + ... platform=apu4 board-revision=4d env=prod + ... platform_vendor=PC Engines firmware_type=UEFI + ``` + + - Add the RTE to the list: + + ``` + @{RTE_LIST}= &{RTE05} + ... &{RTE06} &{RTE07} &{RTE08} &{RTE09} &{RTE10} + ... &{RTE11} + ``` + + - Do the same for any modules installed in the platform + - Create a new CONFIG contaning the RTE and modules used for testing, and + append it to the list: + + ``` + @{CONFIG04}= &{RTE11} &{SSD06} &{CARD06} &{USB03} + ... &{MODULE06} &{ADAPTER01} &{MODULE10} + + @{CONFIG_LIST}= @{CONFIG01} @{CONFIG02} @{CONFIG03} @{CONFIG04} + ``` + + - Run a simple test to verify the config is working correctly - for example + UEFI Shell: + + ``` + robot -v snipeit:no -L TRACE -v rte_ip:192.168.10.174 -v device_ip:0.0.0.0 -v config:pcengines-apu4 dasharo-compatibility/uefi-shell.robot + ``` + +### Adding new variant of an existing platform + +Some boards come in multiple variants, where the majority of properties and +features can be shared. For these cases, we have shared "base" configs in +`platform-configs/include/`. This way we don't need to copy-paste entire config +files, making maintenance easier. In this example we'll be adding a new PC +Engines apu variant, using an existing pcengines base config: + +- Create a config file in `platform-configs` for your platform +- Add the following to your platform config + +``` +*** Settings *** +Resource include/pcengines.robot +``` + +- Add variant-specific settings for your platform - in this case, only the + SMBIOS product name field: + +``` +*** Variables *** +${DMIDECODE_PRODUCT_NAME}= apu4 +``` + +- Proceed with adding the platform to `variables.robot` as per +[Adding a brand new platform](#adding-a-brand-new-platform). From c6182609f6623f1da8acd92d23aa68b5fcc022c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 15:20:05 +0100 Subject: [PATCH 12/18] platform-configs/include/pcengines.robot: remove unsupported tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- platform-configs/include/pcengines.robot | 7 ------- 1 file changed, 7 deletions(-) diff --git a/platform-configs/include/pcengines.robot b/platform-configs/include/pcengines.robot index c6d0735c5c..80fd7bac87 100644 --- a/platform-configs/include/pcengines.robot +++ b/platform-configs/include/pcengines.robot @@ -66,7 +66,6 @@ ${TYPE_VERIFICATION}= ${TRUE} ${HARDWARE_WP_SUPPORT}= ${TRUE} ${DTS_SUPPORT}= ${TRUE} ${FIRMWARE_BUILDING_SUPPORT}= ${TRUE} -${UPLOAD_ON_USB_SUPPORT}= ${TRUE} ${CPU_TESTS_SUPPORT}= ${TRUE} ${RESET_TO_DEFAULTS_SUPPORT}= ${TRUE} ${L2_CACHE_SUPPORT}= ${TRUE} @@ -74,13 +73,7 @@ ${L3_CACHE_SUPPORT}= ${TRUE} ${DEFAULT_POWER_STATE_AFTER_FAIL}= Powered On ${ESP_SCANNING_SUPPORT}= ${TRUE} ${DTS_FIRMWARE_FLASHING_SUPPORT}= ${TRUE} -${BASE_PORT_BOOTBLOCK_SUPPORT}= ${TRUE} -${BASE_PORT_ROMSTAGE_SUPPORT}= ${TRUE} -${BASE_PORT_POSTCAR_SUPPORT}= ${TRUE} -${BASE_PORT_RAMSTAGE_SUPPORT}= ${TRUE} ${MINI_PC_IE_SLOT_SUPPORT}= ${TRUE} -${NETBOOT_UTILITIES_SUPPORT}= ${TRUE} -${HIBERNATION_AND_RESUME_SUPPORT}= ${TRUE} # Test module: dasharo-security ${TPM_SUPPORT}= ${TRUE} From 8b29f60af64217cf45460b0822775dcdb337c2e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 15:23:22 +0100 Subject: [PATCH 13/18] platform-configs/include/pcengines.robot: add back USB write tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- platform-configs/include/pcengines.robot | 1 + 1 file changed, 1 insertion(+) diff --git a/platform-configs/include/pcengines.robot b/platform-configs/include/pcengines.robot index 80fd7bac87..96302be6d3 100644 --- a/platform-configs/include/pcengines.robot +++ b/platform-configs/include/pcengines.robot @@ -66,6 +66,7 @@ ${TYPE_VERIFICATION}= ${TRUE} ${HARDWARE_WP_SUPPORT}= ${TRUE} ${DTS_SUPPORT}= ${TRUE} ${FIRMWARE_BUILDING_SUPPORT}= ${TRUE} +${UPLOAD_ON_USB_SUPPORT}= ${TRUE} ${CPU_TESTS_SUPPORT}= ${TRUE} ${RESET_TO_DEFAULTS_SUPPORT}= ${TRUE} ${L2_CACHE_SUPPORT}= ${TRUE} From 7eca2e0385d60dbcc23ef39cf349ce781ef7c9e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Mon, 4 Mar 2024 17:57:47 +0100 Subject: [PATCH 14/18] docs/adding-new-platforms.md: improve readability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- docs/adding-new-platforms.md | 45 +++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/docs/adding-new-platforms.md b/docs/adding-new-platforms.md index 7637d39594..9bed90537c 100644 --- a/docs/adding-new-platforms.md +++ b/docs/adding-new-platforms.md @@ -3,23 +3,30 @@ Depending on what type of platform you're adding, the instructions here will vary. +- If no similar board is yet supported, follow the steps in + [Adding a brand new platform](#adding-a-brand-new-platform) +- If the board is a variant of another, similar, already supported board, follow + the steps in + [Adding new variant of an existing platform](#adding-new-variant-of-an-existing-platform) + ### Adding a brand new platform - Create a new file for your mainboard in `platform-configs/`. For most platforms this file will be called `[platform-vendor]-[platform-model].robot`. -- Add the following at the top of your platform config: - -```robot -*** Settings *** -Resource default.robot -``` - - Copy the contents of `include/default.robot` to your platform config - Modify the file for your platform: - - Modify the settings appropriately for your mainboard - - Remove any unmodified lines - they will be sourced from `default.robot` + + Modify the settings appropriately for your mainboard + + Remove any unmodified lines - they will be sourced from `default.robot` + + Add the following at the top of your platform config - this will ensure + defaults are used for unspecified options: + + ```robot + *** Settings *** + Resource default.robot + ``` + - Add the platform configuration to `variables.robot: - - Create a new configuration of RTE, if you are using one, e.g.: + + Create a new configuration of RTE, if you are using one, e.g.: ```robot &{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea pcb_rev=1.0.0 @@ -27,29 +34,29 @@ Resource default.robot ... platform_vendor=PC Engines firmware_type=UEFI ``` - - Add the RTE to the list: + + Add the RTE to the list: - ``` + ```robot @{RTE_LIST}= &{RTE05} ... &{RTE06} &{RTE07} &{RTE08} &{RTE09} &{RTE10} ... &{RTE11} ``` - - Do the same for any modules installed in the platform - - Create a new CONFIG contaning the RTE and modules used for testing, and + + Do the same for any modules installed in the platform + + Create a new CONFIG containing the RTE and modules used for testing, and append it to the list: - ``` + ```robot @{CONFIG04}= &{RTE11} &{SSD06} &{CARD06} &{USB03} ... &{MODULE06} &{ADAPTER01} &{MODULE10} @{CONFIG_LIST}= @{CONFIG01} @{CONFIG02} @{CONFIG03} @{CONFIG04} ``` - - Run a simple test to verify the config is working correctly - for example + + Run a simple test to verify the config is working correctly - for example UEFI Shell: - ``` + ```robot robot -v snipeit:no -L TRACE -v rte_ip:192.168.10.174 -v device_ip:0.0.0.0 -v config:pcengines-apu4 dasharo-compatibility/uefi-shell.robot ``` @@ -64,7 +71,7 @@ Engines apu variant, using an existing pcengines base config: - Create a config file in `platform-configs` for your platform - Add the following to your platform config -``` +```robot *** Settings *** Resource include/pcengines.robot ``` @@ -72,7 +79,7 @@ Resource include/pcengines.robot - Add variant-specific settings for your platform - in this case, only the SMBIOS product name field: -``` +```robot *** Variables *** ${DMIDECODE_PRODUCT_NAME}= apu4 ``` From 2e8e541126690feb58f64beaaad3727acd72325b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Fri, 8 Mar 2024 16:07:11 +0100 Subject: [PATCH 15/18] variables.robot: remove unused firmware_type var MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- docs/adding-new-platforms.md | 2 +- variables.robot | 91 ++++++++++++++++++------------------ 2 files changed, 46 insertions(+), 47 deletions(-) diff --git a/docs/adding-new-platforms.md b/docs/adding-new-platforms.md index 9bed90537c..1b687805ba 100644 --- a/docs/adding-new-platforms.md +++ b/docs/adding-new-platforms.md @@ -31,7 +31,7 @@ vary. ```robot &{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea pcb_rev=1.0.0 ... platform=apu4 board-revision=4d env=prod - ... platform_vendor=PC Engines firmware_type=UEFI + ... platform_vendor=PC Engines ``` + Add the RTE to the list: diff --git a/variables.robot b/variables.robot index ba9532b3ca..1a99c2fb78 100644 --- a/variables.robot +++ b/variables.robot @@ -8,7 +8,6 @@ ${MEMTEST_HEADER}= Memtest86+ 5.01 coreboot ${DEBIAN_STABLE_VER}= 4.14.y ${TEARDOWN}= no ${SNIPEIT}= yes -${FIRMWARE_TYPE_VAR}= ${EMPTY} ${DL_CACHE_DIR}= ${CURDIR}/dl-cache @@ -23,165 +22,165 @@ ${OS_UBUNTU}= ubuntu # Vitro Technology ---------------------------------------------------- &{RTE05}= ip=192.168.4.167 cpuid=02c00042d55c19d3 pcb_rev=0.5.3 ... platform=crystal env=dev -... platform_vendor=unknown firmware_type=unknown +... platform_vendor=unknown &{RTE06}= ip=192.168.4.168 cpuid=02c000426978d2a7 pcb_rev=1.0.0 ... platform=dht-dev env=dev -... platform_vendor=unknown firmware_type=unknown +... platform_vendor=unknown &{RTE07}= ip=192.168.4.169 cpuid=02c00042fdc96eda pcb_rev=1.0.0 ... platform=dht-prod env=prod -... platform_vendor=unknown firmware_type=unknown +... platform_vendor=unknown # PCEngines production platforms ------------------------------------------------ &{RTE08}= ip=192.168.10.171 cpuid=02c000429e34aeca pcb_rev=0.5.3 ... platform=apu1 board-revision=d4 env=prod -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines &{RTE09}= ip=192.168.10.172 cpuid=02c000420c4ce851 pcb_rev=0.5.3 ... platform=apu2 board-revision=c4 env=prod -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines &{RTE10}= ip=192.168.10.173 cpuid=02c00042a3b72a65 pcb_rev=0.5.3 ... platform=apu3 board-revision=c4 env=prod -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines &{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea pcb_rev=1.0.0 ... platform=apu4 board-revision=4d env=prod -... platform_vendor=PC Engines firmware_type=UEFI +... platform_vendor=PC Engines &{RTE12}= ip=192.168.10.175 cpuid=02c000420334dd56 pcb_rev=0.5.3 ... platform=apu5 board-revision=b env=prod -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines &{RTE13}= ip=192.168.10.176 cpuid=02c00042c70883cf pcb_rev=0.5.3 ... platform=apu6 board-revision=b env=prod -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines &{RTE14}= ip=192.168.10.200 cpuid=02c0004204bf6561 pcb_rev=0.5.3 ... platform=LT1000 env=prod -... platform_vendor=unknown firmware_type=BIOS +... platform_vendor=unknown &{RTE15}= ip=192.168.10.179 cpuid=02c0004222cfa701 pcb_rev=0.5.3 ... platform=solidpc env=prod -... platform_vendor=unknown firmware_type=unknown +... platform_vendor=unknown &{RTE16}= ip=192.168.10.180 cpuid=02c00042d455092d pcb_rev=0.5.3 ... platform=mbt_2210 env=prod -... platform_vendor=unknown firmware_type=BIOS +... platform_vendor=unknown &{RTE17}= ip=192.168.10.181 cpuid=02c0004200242187 pcb_rev=0.5.3 ... platform=mbt_4210 env=prod -... platform_vendor=unknown firmware_type=BIOS +... platform_vendor=unknown &{RTE18}= ip=192.168.10.XXX cpuid=XXX pcb_rev=XXX ... platform=fw2b env=prod -... platform_vendor=unknown firmware_type=BIOS +... platform_vendor=unknown &{RTE19}= ip=192.168.4.182 cpuid=02c001423b9f9efa pcb_rev=1.1.0 ... platform=fw4b env=prod -... platform_vendor=protectli firmware_type=BIOS +... platform_vendor=protectli &{RTE20}= ip=192.168.4.183 cpuid=02c0004258ac3935 pcb_rev=0.5.3 ... platform=apu2 board-revision=c4 env=dev -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines &{RTE21}= ip=192.168.4.157 cpuid=02c00042888f8467 pcb_rev=0.5.3 ... platform=apu2 board-revision=c4 env=dev -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines &{RTE22}= ip=192.168.10.162 cpuid=02c00042f3ba1188 pcb_rev=0.5.3 ... platform=apu2 board-revision=d env=dev -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines &{RTE23}= ip=192.168.10.163 cpuid=02c00042ea860eca pcb_rev=0.5.3 ... platform=apu3 board-revision=c env=dev -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines &{RTE24}= ip=192.168.10.71 cpuid=02c0004225f66d15 pcb_rev=0.5.3 ... platform=apu4 board-revision=a env=dev -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines &{RTE25}= ip=192.168.4.50 cpuid=02c00042e90c36f2 pcb_rev=1.1.0 ... platform=optiplex-9010 board-revision=x env=prod -... platform_vendor=DELL sonoff_ip=192.168.4.134 firmware_type=UEFI +... platform_vendor=DELL sonoff_ip=192.168.4.134 &{RTE26}= ip=192.168.4.133 cpuid=02c0014296737c0d pcb_rev=1.1.0 ... platform=talosII board-revision=1.01 env=dev ... platform_vendor=Raptor Engineering, LLC sonoff_ip=192.168.4.106 -&{RTE27}= ip=192.168.4.223 cpuid=02c00042921d288f pcb_rev=1.1.0 firmware_type=unknown +&{RTE27}= ip=192.168.4.223 cpuid=02c00042921d288f pcb_rev=1.1.0 ... platform=optiplex-7010 board-revision=x env=prod -... platform_vendor=DELL sonoff_ip=192.168.4.134 firmware_type=UEFI +... platform_vendor=DELL sonoff_ip=192.168.4.134 # Immunefi -------------------------------------------------------------------- &{RTE28}= ip=192.168.10.70 cpuid=02c000423e00d488 pcb_rev=1.1.0 ... platform=KGPE-D16-8MB board-revision=x env=dev -... platform_vendor=ASUS sonoff_ip=192.168.10.125 firmware_type=BIOS +... platform_vendor=ASUS sonoff_ip=192.168.10.125 &{RTE29}= ip=192.168.20.15 cpuid=02c0004282a2891c pcb_rev=1.1.0 ... platform=KGPE-D16-16MB board-revision=x env=dev -... platform_vendor=ASUS sonoff_ip=192.168.10.144 firmware_type=BIOS +... platform_vendor=ASUS sonoff_ip=192.168.10.144 # 3mdeb Protectli ----------------------------------------------------- &{RTE30}= ip=192.168.4.190 cpuid=02c0014270499deb pcb_rev=1.1.0 ... platform=FW6_CML board-revision=1.01 env=dev -... platform_vendor=fw66_cml firmware_type=BIOS +... platform_vendor=fw66_cml &{RTE31}= ip=192.168.4.121 cpuid=02c000423305c959 pcb_rev=1.1.0 ... platform=fw6e board-revision=1.01 env=dev -... platform_vendor=fw6e firmware_type=BIOS +... platform_vendor=fw6e # PCEngines developer platforms ----------------------------------------------- &{RTE32}= ip=192.168.20.6 cpuid=02c000425de69477 pcb_rev=1.0.0 ... platform=apu1 board-revision=d4 env=dev -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines # MSI-PRO-Z690-A platforms (Zir-Blazer) ----------------------------- &{RTE33}= ip=192.168.10.107 cpuid=02c00042a74281e6 pcb_rev=1.1.0 ... platform=msi-pro-z690-a-wifi-ddr4 board-revision=1.1.0 env=dev ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.170 -... firmware_type=UEFI pikvm_ip=192.168.10.99 +... pikvm_ip=192.168.10.99 &{RTE34}= ip=192.168.10.199 cpuid=02c000424753a7fb pcb_rev=1.1.0 ... platform=msi-pro-z690-a-wifi-ddr4 board-revision=1.1.0 env=dev ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.169 -... firmware_type=UEFI pikvm_ip=192.168.10.16 +... pikvm_ip=192.168.10.16 &{RTE39}= ip=192.168.10.188 cpuid=02c0014266f49b55 pcb_rev=1.1.0 ... platform=msi-pro-z690-a-ddr5 board-revision=1.1.0 env=dev ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.69 -... firmware_type=UEFI pikvm_ip=192.168.10.45 +... pikvm_ip=192.168.10.45 # MSI-PRO-Z790-P platforms (Zir-Blazer) ----------------------------- &{RTE46}= ip=192.168.10.127 cpuid=02c00142a99e60ef pcb_rev=1.1.0 ... platform=msi-pro-z790-p-ddr5 board-revision=1.1.0 env=dev ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.253 -... firmware_type=UEFI pikvm_ip=192.168.10.226 +... pikvm_ip=192.168.10.226 # PC Engines APU7 platform ----------------------------------------------------- &{RTE35}= ip=192.168.10.177 cpuid=02c00042522d9294 pcb_rev=0.5.3 ... platform=apu7 board-revision=a env=prod -... platform_vendor=PC Engines firmware_type=BIOS +... platform_vendor=PC Engines # 3mdeb Protectli vp4630 ----------------------------------------------------- &{RTE36}= ip=192.168.10.244 cpuid=02c0014248d5bffc pcb_rev=1.1.0 ... platform=protectli-vp4630 board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb Protectli vp4670 ----------------------------------------------------- &{RTE37}= ip=192.168.10.228 cpuid=02c00042b2a75f00 pcb_rev=1.1.0 ... platform=protectli-vp4670 sonoff_ip=192.168.10.19 ... board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb Protectli vp4670_2 --------------------------------------------------- &{RTE49}= ip=192.168.10.14 cpuid=02c00042f1d72c95 pcb_rev=1.1.0 ... platform=protectli-vp4670 sonoff_ip=192.168.10.144 ... board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb Protectli vp4650 ----------------------------------------------------- &{RTE38}= ip=192.168.10.203 cpuid=02c00142076840cf pcb_rev=1.1.0 ... platform=protectli-vp4650 sonoff_ip=192.168.10.251 ... board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb Protectli vp4650_2 --------------------------------------------------- &{RTE50}= ip=192.168.10.160 cpuid=02c000421dfebcdb pcb_rev=1.1.0 ... platform=protectli-vp4650 board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb Protectli vp2420 ----------------------------------------------------- &{RTE40}= ip=192.168.10.221 cpuid=02c00142959df458 pcb_rev=1.1.0 ... platform=protectli-vp2420 board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb Protectli FW4C ------------------------------------------------------- &{RTE41}= ip=192.168.10.168 cpuid=02c00042bd1a7dee pcb_rev=1.1.0 ... platform=protectli-fw4c board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb Protectli VP2410 ------------------------------------------------------ &{RTE42}= ip=192.168.10.233 cpuid=02c00042661f9013 pcb_rev=1.1.0 ... platform=protectli-vp2410 board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb Protectli V1210 ------------------------------------------------------ &{RTE43}= ip=192.168.10.55 cpuid=02c0004278eb1b72 pcb_rev=1.1.0 ... platform=protectli-v1210 board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb Protectli V1410 ------------------------------------------------------ &{RTE44}= ip=192.168.10.198 cpuid=02c00042df7b6fc2 pcb_rev=1.1.0 ... platform=protectli-v1410 board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb Protectli V1610 ------------------------------------------------------ &{RTE45}= ip=192.168.10.218 cpuid=02c00142033c4387 pcb_rev=1.1.0 ... platform=protectli-v1610 board-revision=x env=dev -... platform_vendor=protectli firmware_type=UEFI +... platform_vendor=protectli # 3mdeb RPi 3B for Yocto ------------------------------------------------------ &{RTE47}= ip=192.168.10.65 cpuid=02c00042a0dd0cd0 pcb_rev=a22082 ... platform=RPi-3-model-B-V1.2 sonoff_ip=192.168.10.27 -... env=dev platform_vendor=element14 firmware_type=yocto +... env=dev platform_vendor=element14 # QEMU &{RTE48}= ip=127.0.0.1 cpuid=02c0014296737c0d pcb_rev=1.1.0 ... platform=qemu board-revision=1.01 env=dev From 07eb70c970d6cbd30999889f88ec392cf71bf0f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Fri, 8 Mar 2024 16:09:28 +0100 Subject: [PATCH 16/18] variables.robot: remove unused pcb_rev var MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- docs/adding-new-platforms.md | 2 +- variables.robot | 92 ++++++++++++++++++------------------ 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/docs/adding-new-platforms.md b/docs/adding-new-platforms.md index 1b687805ba..e75e8f0188 100644 --- a/docs/adding-new-platforms.md +++ b/docs/adding-new-platforms.md @@ -29,7 +29,7 @@ vary. + Create a new configuration of RTE, if you are using one, e.g.: ```robot - &{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea pcb_rev=1.0.0 + &{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea ... platform=apu4 board-revision=4d env=prod ... platform_vendor=PC Engines ``` diff --git a/variables.robot b/variables.robot index 1a99c2fb78..d75cdbf39e 100644 --- a/variables.robot +++ b/variables.robot @@ -20,169 +20,169 @@ ${OS_UBUNTU}= ubuntu # RTE database: # Vitro Technology ---------------------------------------------------- -&{RTE05}= ip=192.168.4.167 cpuid=02c00042d55c19d3 pcb_rev=0.5.3 +&{RTE05}= ip=192.168.4.167 cpuid=02c00042d55c19d3 ... platform=crystal env=dev ... platform_vendor=unknown -&{RTE06}= ip=192.168.4.168 cpuid=02c000426978d2a7 pcb_rev=1.0.0 +&{RTE06}= ip=192.168.4.168 cpuid=02c000426978d2a7 ... platform=dht-dev env=dev ... platform_vendor=unknown -&{RTE07}= ip=192.168.4.169 cpuid=02c00042fdc96eda pcb_rev=1.0.0 +&{RTE07}= ip=192.168.4.169 cpuid=02c00042fdc96eda ... platform=dht-prod env=prod ... platform_vendor=unknown # PCEngines production platforms ------------------------------------------------ -&{RTE08}= ip=192.168.10.171 cpuid=02c000429e34aeca pcb_rev=0.5.3 +&{RTE08}= ip=192.168.10.171 cpuid=02c000429e34aeca ... platform=apu1 board-revision=d4 env=prod ... platform_vendor=PC Engines -&{RTE09}= ip=192.168.10.172 cpuid=02c000420c4ce851 pcb_rev=0.5.3 +&{RTE09}= ip=192.168.10.172 cpuid=02c000420c4ce851 ... platform=apu2 board-revision=c4 env=prod ... platform_vendor=PC Engines -&{RTE10}= ip=192.168.10.173 cpuid=02c00042a3b72a65 pcb_rev=0.5.3 +&{RTE10}= ip=192.168.10.173 cpuid=02c00042a3b72a65 ... platform=apu3 board-revision=c4 env=prod ... platform_vendor=PC Engines -&{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea pcb_rev=1.0.0 +&{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea ... platform=apu4 board-revision=4d env=prod ... platform_vendor=PC Engines -&{RTE12}= ip=192.168.10.175 cpuid=02c000420334dd56 pcb_rev=0.5.3 +&{RTE12}= ip=192.168.10.175 cpuid=02c000420334dd56 ... platform=apu5 board-revision=b env=prod ... platform_vendor=PC Engines -&{RTE13}= ip=192.168.10.176 cpuid=02c00042c70883cf pcb_rev=0.5.3 +&{RTE13}= ip=192.168.10.176 cpuid=02c00042c70883cf ... platform=apu6 board-revision=b env=prod ... platform_vendor=PC Engines -&{RTE14}= ip=192.168.10.200 cpuid=02c0004204bf6561 pcb_rev=0.5.3 +&{RTE14}= ip=192.168.10.200 cpuid=02c0004204bf6561 ... platform=LT1000 env=prod ... platform_vendor=unknown -&{RTE15}= ip=192.168.10.179 cpuid=02c0004222cfa701 pcb_rev=0.5.3 +&{RTE15}= ip=192.168.10.179 cpuid=02c0004222cfa701 ... platform=solidpc env=prod ... platform_vendor=unknown -&{RTE16}= ip=192.168.10.180 cpuid=02c00042d455092d pcb_rev=0.5.3 +&{RTE16}= ip=192.168.10.180 cpuid=02c00042d455092d ... platform=mbt_2210 env=prod ... platform_vendor=unknown -&{RTE17}= ip=192.168.10.181 cpuid=02c0004200242187 pcb_rev=0.5.3 +&{RTE17}= ip=192.168.10.181 cpuid=02c0004200242187 ... platform=mbt_4210 env=prod ... platform_vendor=unknown -&{RTE18}= ip=192.168.10.XXX cpuid=XXX pcb_rev=XXX +&{RTE18}= ip=192.168.10.XXX cpuid=XXX ... platform=fw2b env=prod ... platform_vendor=unknown -&{RTE19}= ip=192.168.4.182 cpuid=02c001423b9f9efa pcb_rev=1.1.0 +&{RTE19}= ip=192.168.4.182 cpuid=02c001423b9f9efa ... platform=fw4b env=prod ... platform_vendor=protectli -&{RTE20}= ip=192.168.4.183 cpuid=02c0004258ac3935 pcb_rev=0.5.3 +&{RTE20}= ip=192.168.4.183 cpuid=02c0004258ac3935 ... platform=apu2 board-revision=c4 env=dev ... platform_vendor=PC Engines -&{RTE21}= ip=192.168.4.157 cpuid=02c00042888f8467 pcb_rev=0.5.3 +&{RTE21}= ip=192.168.4.157 cpuid=02c00042888f8467 ... platform=apu2 board-revision=c4 env=dev ... platform_vendor=PC Engines -&{RTE22}= ip=192.168.10.162 cpuid=02c00042f3ba1188 pcb_rev=0.5.3 +&{RTE22}= ip=192.168.10.162 cpuid=02c00042f3ba1188 ... platform=apu2 board-revision=d env=dev ... platform_vendor=PC Engines -&{RTE23}= ip=192.168.10.163 cpuid=02c00042ea860eca pcb_rev=0.5.3 +&{RTE23}= ip=192.168.10.163 cpuid=02c00042ea860eca ... platform=apu3 board-revision=c env=dev ... platform_vendor=PC Engines -&{RTE24}= ip=192.168.10.71 cpuid=02c0004225f66d15 pcb_rev=0.5.3 +&{RTE24}= ip=192.168.10.71 cpuid=02c0004225f66d15 ... platform=apu4 board-revision=a env=dev ... platform_vendor=PC Engines -&{RTE25}= ip=192.168.4.50 cpuid=02c00042e90c36f2 pcb_rev=1.1.0 +&{RTE25}= ip=192.168.4.50 cpuid=02c00042e90c36f2 ... platform=optiplex-9010 board-revision=x env=prod ... platform_vendor=DELL sonoff_ip=192.168.4.134 -&{RTE26}= ip=192.168.4.133 cpuid=02c0014296737c0d pcb_rev=1.1.0 +&{RTE26}= ip=192.168.4.133 cpuid=02c0014296737c0d ... platform=talosII board-revision=1.01 env=dev ... platform_vendor=Raptor Engineering, LLC sonoff_ip=192.168.4.106 -&{RTE27}= ip=192.168.4.223 cpuid=02c00042921d288f pcb_rev=1.1.0 +&{RTE27}= ip=192.168.4.223 cpuid=02c00042921d288f ... platform=optiplex-7010 board-revision=x env=prod ... platform_vendor=DELL sonoff_ip=192.168.4.134 # Immunefi -------------------------------------------------------------------- -&{RTE28}= ip=192.168.10.70 cpuid=02c000423e00d488 pcb_rev=1.1.0 +&{RTE28}= ip=192.168.10.70 cpuid=02c000423e00d488 ... platform=KGPE-D16-8MB board-revision=x env=dev ... platform_vendor=ASUS sonoff_ip=192.168.10.125 -&{RTE29}= ip=192.168.20.15 cpuid=02c0004282a2891c pcb_rev=1.1.0 +&{RTE29}= ip=192.168.20.15 cpuid=02c0004282a2891c ... platform=KGPE-D16-16MB board-revision=x env=dev ... platform_vendor=ASUS sonoff_ip=192.168.10.144 # 3mdeb Protectli ----------------------------------------------------- -&{RTE30}= ip=192.168.4.190 cpuid=02c0014270499deb pcb_rev=1.1.0 +&{RTE30}= ip=192.168.4.190 cpuid=02c0014270499deb ... platform=FW6_CML board-revision=1.01 env=dev ... platform_vendor=fw66_cml -&{RTE31}= ip=192.168.4.121 cpuid=02c000423305c959 pcb_rev=1.1.0 +&{RTE31}= ip=192.168.4.121 cpuid=02c000423305c959 ... platform=fw6e board-revision=1.01 env=dev ... platform_vendor=fw6e # PCEngines developer platforms ----------------------------------------------- -&{RTE32}= ip=192.168.20.6 cpuid=02c000425de69477 pcb_rev=1.0.0 +&{RTE32}= ip=192.168.20.6 cpuid=02c000425de69477 ... platform=apu1 board-revision=d4 env=dev ... platform_vendor=PC Engines # MSI-PRO-Z690-A platforms (Zir-Blazer) ----------------------------- -&{RTE33}= ip=192.168.10.107 cpuid=02c00042a74281e6 pcb_rev=1.1.0 +&{RTE33}= ip=192.168.10.107 cpuid=02c00042a74281e6 ... platform=msi-pro-z690-a-wifi-ddr4 board-revision=1.1.0 env=dev ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.170 ... pikvm_ip=192.168.10.99 -&{RTE34}= ip=192.168.10.199 cpuid=02c000424753a7fb pcb_rev=1.1.0 +&{RTE34}= ip=192.168.10.199 cpuid=02c000424753a7fb ... platform=msi-pro-z690-a-wifi-ddr4 board-revision=1.1.0 env=dev ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.169 ... pikvm_ip=192.168.10.16 -&{RTE39}= ip=192.168.10.188 cpuid=02c0014266f49b55 pcb_rev=1.1.0 +&{RTE39}= ip=192.168.10.188 cpuid=02c0014266f49b55 ... platform=msi-pro-z690-a-ddr5 board-revision=1.1.0 env=dev ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.69 ... pikvm_ip=192.168.10.45 # MSI-PRO-Z790-P platforms (Zir-Blazer) ----------------------------- -&{RTE46}= ip=192.168.10.127 cpuid=02c00142a99e60ef pcb_rev=1.1.0 +&{RTE46}= ip=192.168.10.127 cpuid=02c00142a99e60ef ... platform=msi-pro-z790-p-ddr5 board-revision=1.1.0 env=dev ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.253 ... pikvm_ip=192.168.10.226 # PC Engines APU7 platform ----------------------------------------------------- -&{RTE35}= ip=192.168.10.177 cpuid=02c00042522d9294 pcb_rev=0.5.3 +&{RTE35}= ip=192.168.10.177 cpuid=02c00042522d9294 ... platform=apu7 board-revision=a env=prod ... platform_vendor=PC Engines # 3mdeb Protectli vp4630 ----------------------------------------------------- -&{RTE36}= ip=192.168.10.244 cpuid=02c0014248d5bffc pcb_rev=1.1.0 +&{RTE36}= ip=192.168.10.244 cpuid=02c0014248d5bffc ... platform=protectli-vp4630 board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli vp4670 ----------------------------------------------------- -&{RTE37}= ip=192.168.10.228 cpuid=02c00042b2a75f00 pcb_rev=1.1.0 +&{RTE37}= ip=192.168.10.228 cpuid=02c00042b2a75f00 ... platform=protectli-vp4670 sonoff_ip=192.168.10.19 ... board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli vp4670_2 --------------------------------------------------- -&{RTE49}= ip=192.168.10.14 cpuid=02c00042f1d72c95 pcb_rev=1.1.0 +&{RTE49}= ip=192.168.10.14 cpuid=02c00042f1d72c95 ... platform=protectli-vp4670 sonoff_ip=192.168.10.144 ... board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli vp4650 ----------------------------------------------------- -&{RTE38}= ip=192.168.10.203 cpuid=02c00142076840cf pcb_rev=1.1.0 +&{RTE38}= ip=192.168.10.203 cpuid=02c00142076840cf ... platform=protectli-vp4650 sonoff_ip=192.168.10.251 ... board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli vp4650_2 --------------------------------------------------- -&{RTE50}= ip=192.168.10.160 cpuid=02c000421dfebcdb pcb_rev=1.1.0 +&{RTE50}= ip=192.168.10.160 cpuid=02c000421dfebcdb ... platform=protectli-vp4650 board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli vp2420 ----------------------------------------------------- -&{RTE40}= ip=192.168.10.221 cpuid=02c00142959df458 pcb_rev=1.1.0 +&{RTE40}= ip=192.168.10.221 cpuid=02c00142959df458 ... platform=protectli-vp2420 board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli FW4C ------------------------------------------------------- -&{RTE41}= ip=192.168.10.168 cpuid=02c00042bd1a7dee pcb_rev=1.1.0 +&{RTE41}= ip=192.168.10.168 cpuid=02c00042bd1a7dee ... platform=protectli-fw4c board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli VP2410 ------------------------------------------------------ -&{RTE42}= ip=192.168.10.233 cpuid=02c00042661f9013 pcb_rev=1.1.0 +&{RTE42}= ip=192.168.10.233 cpuid=02c00042661f9013 ... platform=protectli-vp2410 board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli V1210 ------------------------------------------------------ -&{RTE43}= ip=192.168.10.55 cpuid=02c0004278eb1b72 pcb_rev=1.1.0 +&{RTE43}= ip=192.168.10.55 cpuid=02c0004278eb1b72 ... platform=protectli-v1210 board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli V1410 ------------------------------------------------------ -&{RTE44}= ip=192.168.10.198 cpuid=02c00042df7b6fc2 pcb_rev=1.1.0 +&{RTE44}= ip=192.168.10.198 cpuid=02c00042df7b6fc2 ... platform=protectli-v1410 board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli V1610 ------------------------------------------------------ -&{RTE45}= ip=192.168.10.218 cpuid=02c00142033c4387 pcb_rev=1.1.0 +&{RTE45}= ip=192.168.10.218 cpuid=02c00142033c4387 ... platform=protectli-v1610 board-revision=x env=dev ... platform_vendor=protectli # 3mdeb RPi 3B for Yocto ------------------------------------------------------ -&{RTE47}= ip=192.168.10.65 cpuid=02c00042a0dd0cd0 pcb_rev=a22082 +&{RTE47}= ip=192.168.10.65 cpuid=02c00042a0dd0cd0 ... platform=RPi-3-model-B-V1.2 sonoff_ip=192.168.10.27 ... env=dev platform_vendor=element14 # QEMU -&{RTE48}= ip=127.0.0.1 cpuid=02c0014296737c0d pcb_rev=1.1.0 +&{RTE48}= ip=127.0.0.1 cpuid=02c0014296737c0d ... platform=qemu board-revision=1.01 env=dev ... platform_vendor=qemu # NovaCustom laptopts test stand ----------------------------------------------- From 965b7000696fc67f8c01cb26827c4cf77eeac7a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Fri, 8 Mar 2024 16:15:54 +0100 Subject: [PATCH 17/18] variables.robot: remove unused board-revision and env vars MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- docs/adding-new-platforms.md | 3 +- variables.robot | 89 +++++++++++++++++------------------- 2 files changed, 44 insertions(+), 48 deletions(-) diff --git a/docs/adding-new-platforms.md b/docs/adding-new-platforms.md index e75e8f0188..ef26bd0a75 100644 --- a/docs/adding-new-platforms.md +++ b/docs/adding-new-platforms.md @@ -30,8 +30,7 @@ vary. ```robot &{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea - ... platform=apu4 board-revision=4d env=prod - ... platform_vendor=PC Engines + ... platform=apu4 platform_vendor=PC Engines ``` + Add the RTE to the list: diff --git a/variables.robot b/variables.robot index d75cdbf39e..3b32be576a 100644 --- a/variables.robot +++ b/variables.robot @@ -21,169 +21,166 @@ ${OS_UBUNTU}= ubuntu # RTE database: # Vitro Technology ---------------------------------------------------- &{RTE05}= ip=192.168.4.167 cpuid=02c00042d55c19d3 -... platform=crystal env=dev +... platform=crystal ... platform_vendor=unknown &{RTE06}= ip=192.168.4.168 cpuid=02c000426978d2a7 -... platform=dht-dev env=dev +... platform=dht-dev ... platform_vendor=unknown &{RTE07}= ip=192.168.4.169 cpuid=02c00042fdc96eda -... platform=dht-prod env=prod +... platform=dht-prod ... platform_vendor=unknown # PCEngines production platforms ------------------------------------------------ &{RTE08}= ip=192.168.10.171 cpuid=02c000429e34aeca -... platform=apu1 board-revision=d4 env=prod +... platform=apu1 ... platform_vendor=PC Engines &{RTE09}= ip=192.168.10.172 cpuid=02c000420c4ce851 -... platform=apu2 board-revision=c4 env=prod +... platform=apu2 ... platform_vendor=PC Engines &{RTE10}= ip=192.168.10.173 cpuid=02c00042a3b72a65 -... platform=apu3 board-revision=c4 env=prod +... platform=apu3 ... platform_vendor=PC Engines &{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea -... platform=apu4 board-revision=4d env=prod +... platform=apu4 ... platform_vendor=PC Engines &{RTE12}= ip=192.168.10.175 cpuid=02c000420334dd56 -... platform=apu5 board-revision=b env=prod +... platform=apu5 ... platform_vendor=PC Engines &{RTE13}= ip=192.168.10.176 cpuid=02c00042c70883cf -... platform=apu6 board-revision=b env=prod +... platform=apu6 ... platform_vendor=PC Engines &{RTE14}= ip=192.168.10.200 cpuid=02c0004204bf6561 -... platform=LT1000 env=prod +... platform=LT1000 ... platform_vendor=unknown &{RTE15}= ip=192.168.10.179 cpuid=02c0004222cfa701 -... platform=solidpc env=prod +... platform=solidpc ... platform_vendor=unknown &{RTE16}= ip=192.168.10.180 cpuid=02c00042d455092d -... platform=mbt_2210 env=prod +... platform=mbt_2210 ... platform_vendor=unknown &{RTE17}= ip=192.168.10.181 cpuid=02c0004200242187 -... platform=mbt_4210 env=prod +... platform=mbt_4210 ... platform_vendor=unknown &{RTE18}= ip=192.168.10.XXX cpuid=XXX -... platform=fw2b env=prod +... platform=fw2b ... platform_vendor=unknown &{RTE19}= ip=192.168.4.182 cpuid=02c001423b9f9efa -... platform=fw4b env=prod +... platform=fw4b ... platform_vendor=protectli &{RTE20}= ip=192.168.4.183 cpuid=02c0004258ac3935 -... platform=apu2 board-revision=c4 env=dev +... platform=apu2 ... platform_vendor=PC Engines &{RTE21}= ip=192.168.4.157 cpuid=02c00042888f8467 -... platform=apu2 board-revision=c4 env=dev +... platform=apu2 ... platform_vendor=PC Engines &{RTE22}= ip=192.168.10.162 cpuid=02c00042f3ba1188 -... platform=apu2 board-revision=d env=dev +... platform=apu2 ... platform_vendor=PC Engines &{RTE23}= ip=192.168.10.163 cpuid=02c00042ea860eca -... platform=apu3 board-revision=c env=dev +... platform=apu3 ... platform_vendor=PC Engines &{RTE24}= ip=192.168.10.71 cpuid=02c0004225f66d15 -... platform=apu4 board-revision=a env=dev +... platform=apu4 ... platform_vendor=PC Engines &{RTE25}= ip=192.168.4.50 cpuid=02c00042e90c36f2 -... platform=optiplex-9010 board-revision=x env=prod +... platform=optiplex-9010 ... platform_vendor=DELL sonoff_ip=192.168.4.134 &{RTE26}= ip=192.168.4.133 cpuid=02c0014296737c0d -... platform=talosII board-revision=1.01 env=dev +... platform=talosII ... platform_vendor=Raptor Engineering, LLC sonoff_ip=192.168.4.106 &{RTE27}= ip=192.168.4.223 cpuid=02c00042921d288f -... platform=optiplex-7010 board-revision=x env=prod +... platform=optiplex-7010 ... platform_vendor=DELL sonoff_ip=192.168.4.134 # Immunefi -------------------------------------------------------------------- &{RTE28}= ip=192.168.10.70 cpuid=02c000423e00d488 -... platform=KGPE-D16-8MB board-revision=x env=dev +... platform=KGPE-D16-8MB ... platform_vendor=ASUS sonoff_ip=192.168.10.125 &{RTE29}= ip=192.168.20.15 cpuid=02c0004282a2891c -... platform=KGPE-D16-16MB board-revision=x env=dev +... platform=KGPE-D16-16MB ... platform_vendor=ASUS sonoff_ip=192.168.10.144 # 3mdeb Protectli ----------------------------------------------------- &{RTE30}= ip=192.168.4.190 cpuid=02c0014270499deb -... platform=FW6_CML board-revision=1.01 env=dev +... platform=FW6_CML ... platform_vendor=fw66_cml &{RTE31}= ip=192.168.4.121 cpuid=02c000423305c959 -... platform=fw6e board-revision=1.01 env=dev +... platform=fw6e ... platform_vendor=fw6e # PCEngines developer platforms ----------------------------------------------- &{RTE32}= ip=192.168.20.6 cpuid=02c000425de69477 -... platform=apu1 board-revision=d4 env=dev +... platform=apu1 ... platform_vendor=PC Engines # MSI-PRO-Z690-A platforms (Zir-Blazer) ----------------------------- &{RTE33}= ip=192.168.10.107 cpuid=02c00042a74281e6 -... platform=msi-pro-z690-a-wifi-ddr4 board-revision=1.1.0 env=dev +... platform=msi-pro-z690-a-wifi-ddr4 ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.170 ... pikvm_ip=192.168.10.99 &{RTE34}= ip=192.168.10.199 cpuid=02c000424753a7fb -... platform=msi-pro-z690-a-wifi-ddr4 board-revision=1.1.0 env=dev +... platform=msi-pro-z690-a-wifi-ddr4 ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.169 ... pikvm_ip=192.168.10.16 &{RTE39}= ip=192.168.10.188 cpuid=02c0014266f49b55 -... platform=msi-pro-z690-a-ddr5 board-revision=1.1.0 env=dev +... platform=msi-pro-z690-a-ddr5 ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.69 ... pikvm_ip=192.168.10.45 # MSI-PRO-Z790-P platforms (Zir-Blazer) ----------------------------- &{RTE46}= ip=192.168.10.127 cpuid=02c00142a99e60ef -... platform=msi-pro-z790-p-ddr5 board-revision=1.1.0 env=dev +... platform=msi-pro-z790-p-ddr5 ... platform_vendor=MSI Co., Ltd sonoff_ip=192.168.10.253 ... pikvm_ip=192.168.10.226 # PC Engines APU7 platform ----------------------------------------------------- &{RTE35}= ip=192.168.10.177 cpuid=02c00042522d9294 -... platform=apu7 board-revision=a env=prod +... platform=apu7 ... platform_vendor=PC Engines # 3mdeb Protectli vp4630 ----------------------------------------------------- &{RTE36}= ip=192.168.10.244 cpuid=02c0014248d5bffc -... platform=protectli-vp4630 board-revision=x env=dev +... platform=protectli-vp4630 ... platform_vendor=protectli # 3mdeb Protectli vp4670 ----------------------------------------------------- &{RTE37}= ip=192.168.10.228 cpuid=02c00042b2a75f00 ... platform=protectli-vp4670 sonoff_ip=192.168.10.19 -... board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli vp4670_2 --------------------------------------------------- &{RTE49}= ip=192.168.10.14 cpuid=02c00042f1d72c95 ... platform=protectli-vp4670 sonoff_ip=192.168.10.144 -... board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli vp4650 ----------------------------------------------------- &{RTE38}= ip=192.168.10.203 cpuid=02c00142076840cf ... platform=protectli-vp4650 sonoff_ip=192.168.10.251 -... board-revision=x env=dev ... platform_vendor=protectli # 3mdeb Protectli vp4650_2 --------------------------------------------------- &{RTE50}= ip=192.168.10.160 cpuid=02c000421dfebcdb -... platform=protectli-vp4650 board-revision=x env=dev +... platform=protectli-vp4650 ... platform_vendor=protectli # 3mdeb Protectli vp2420 ----------------------------------------------------- &{RTE40}= ip=192.168.10.221 cpuid=02c00142959df458 -... platform=protectli-vp2420 board-revision=x env=dev +... platform=protectli-vp2420 ... platform_vendor=protectli # 3mdeb Protectli FW4C ------------------------------------------------------- &{RTE41}= ip=192.168.10.168 cpuid=02c00042bd1a7dee -... platform=protectli-fw4c board-revision=x env=dev +... platform=protectli-fw4c ... platform_vendor=protectli # 3mdeb Protectli VP2410 ------------------------------------------------------ &{RTE42}= ip=192.168.10.233 cpuid=02c00042661f9013 -... platform=protectli-vp2410 board-revision=x env=dev +... platform=protectli-vp2410 ... platform_vendor=protectli # 3mdeb Protectli V1210 ------------------------------------------------------ &{RTE43}= ip=192.168.10.55 cpuid=02c0004278eb1b72 -... platform=protectli-v1210 board-revision=x env=dev +... platform=protectli-v1210 ... platform_vendor=protectli # 3mdeb Protectli V1410 ------------------------------------------------------ &{RTE44}= ip=192.168.10.198 cpuid=02c00042df7b6fc2 -... platform=protectli-v1410 board-revision=x env=dev +... platform=protectli-v1410 ... platform_vendor=protectli # 3mdeb Protectli V1610 ------------------------------------------------------ &{RTE45}= ip=192.168.10.218 cpuid=02c00142033c4387 -... platform=protectli-v1610 board-revision=x env=dev +... platform=protectli-v1610 ... platform_vendor=protectli # 3mdeb RPi 3B for Yocto ------------------------------------------------------ &{RTE47}= ip=192.168.10.65 cpuid=02c00042a0dd0cd0 ... platform=RPi-3-model-B-V1.2 sonoff_ip=192.168.10.27 -... env=dev platform_vendor=element14 +... platform_vendor=element14 # QEMU &{RTE48}= ip=127.0.0.1 cpuid=02c0014296737c0d -... platform=qemu board-revision=1.01 env=dev +... platform=qemu ... platform_vendor=qemu # NovaCustom laptopts test stand ----------------------------------------------- &{RTE51}= ip=192.168.4.180 From 9af359cdac2c3b43ebecc9b2cc901cc47518db7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Fri, 8 Mar 2024 16:21:51 +0100 Subject: [PATCH 18/18] docs/adding-new-platforms.md: use boot menu key as example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Kopeć --- docs/adding-new-platforms.md | 64 +++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/docs/adding-new-platforms.md b/docs/adding-new-platforms.md index ef26bd0a75..557248beac 100644 --- a/docs/adding-new-platforms.md +++ b/docs/adding-new-platforms.md @@ -1,4 +1,4 @@ -## Adding new platforms +# Adding new platforms Depending on what type of platform you're adding, the instructions here will vary. @@ -9,7 +9,7 @@ vary. the steps in [Adding new variant of an existing platform](#adding-new-variant-of-an-existing-platform) -### Adding a brand new platform +## Adding a brand new platform - Create a new file for your mainboard in `platform-configs/`. For most platforms this file will be called `[platform-vendor]-[platform-model].robot`. @@ -28,38 +28,56 @@ vary. - Add the platform configuration to `variables.robot: + Create a new configuration of RTE, if you are using one, e.g.: - ```robot - &{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea - ... platform=apu4 platform_vendor=PC Engines - ``` + ```robot + &{RTE11}= ip=192.168.10.174 cpuid=02c000426621f7ea + ... platform=apu4 platform_vendor=PC Engines + ``` + Add the RTE to the list: - ```robot - @{RTE_LIST}= &{RTE05} - ... &{RTE06} &{RTE07} &{RTE08} &{RTE09} &{RTE10} - ... &{RTE11} - ``` + ```robot + @{RTE_LIST}= &{RTE05} + ... &{RTE06} &{RTE07} &{RTE08} &{RTE09} &{RTE10} + ... &{RTE11} + ``` + Do the same for any modules installed in the platform + Create a new CONFIG containing the RTE and modules used for testing, and append it to the list: - ```robot - @{CONFIG04}= &{RTE11} &{SSD06} &{CARD06} &{USB03} - ... &{MODULE06} &{ADAPTER01} &{MODULE10} + ```robot + @{CONFIG04}= &{RTE11} &{SSD06} &{CARD06} &{USB03} + ... &{MODULE06} &{ADAPTER01} &{MODULE10} - @{CONFIG_LIST}= @{CONFIG01} @{CONFIG02} @{CONFIG03} @{CONFIG04} - ``` + @{CONFIG_LIST}= @{CONFIG01} @{CONFIG02} @{CONFIG03} @{CONFIG04} + ``` + Run a simple test to verify the config is working correctly - for example - UEFI Shell: - - ```robot - robot -v snipeit:no -L TRACE -v rte_ip:192.168.10.174 -v device_ip:0.0.0.0 -v config:pcengines-apu4 dasharo-compatibility/uefi-shell.robot - ``` - -### Adding new variant of an existing platform + custom boot menu key: + + ```robot + robot -v snipeit:no -L TRACE -v rte_ip:192.168.10.174 -v device_ip:0.0.0.0 -v config:pcengines-apu4 dasharo-compatibility/custom-boot-menu-key.robot + ``` + + If everything went right, the output may look something like this + + ```bash + ============================================================================== + Custom-Boot-Menu-Key + ============================================================================== + CBK001.001 Custom boot menu key :: Check whether the DUT is config... | PASS | + ------------------------------------------------------------------------------ + CBK002.001 Custom setup menu key :: Check whether the DUT is confi... | PASS | + ------------------------------------------------------------------------------ + Custom-Boot-Menu-Key | PASS | + 2 tests, 2 passed, 0 failed + ============================================================================== + Output: /home/michal/Development/Dasharo/osfv/output.xml + Log: /home/michal/Development/Dasharo/osfv/log.html + Report: /home/michal/Development/Dasharo/osfv/report.html + ``` + +## Adding new variant of an existing platform Some boards come in multiple variants, where the majority of properties and features can be shared. For these cases, we have shared "base" configs in