From cb346e23521c06dec9ede41d57c5d8fead839962 Mon Sep 17 00:00:00 2001 From: Daniil Klimuk Date: Wed, 9 Jul 2025 11:33:39 +0200 Subject: [PATCH 1/2] docs: dts-tests.md: add custom iPXE server manual Signed-off-by: Daniil Klimuk --- docs/dts-tests.md | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/docs/dts-tests.md b/docs/dts-tests.md index 271a369246..59c099e527 100644 --- a/docs/dts-tests.md +++ b/docs/dts-tests.md @@ -31,7 +31,9 @@ Control variables: * `dts_ipxe_link`: useful if you are testing DTS which is not released yet. Just put here a link to your script which will load your DTS. By default DTS is - being booted from `dl.3mdeb.com`; + being booted from `dl.3mdeb.com`; Check [the following + chapter](#http-server-with-dts-ipxe-boot) for information on how to set up a + custom HTTP iPXE server with DTS. * `dpp_email`, `dpp_password`: for DPP credentials, if tests need them. Launching example: @@ -44,6 +46,39 @@ robot -b command_log.txt -v snipeit:no -L TRACE -v config:qemu -v rte_ip:127.0.0 > `http://192.168.0.102:8080/ipxe` with your DTS iPXE > script link. +### HTTP server with DTS iPXE boot + +Follow the steps below to prepare an iPXE server with a custom DTS image. + +1. Create a directory and place the DTS `bzImage` and DTS `.cpio.gz` file. +2. Create and edit a `dts.ipxe` file, pasting the following content: + + ```text + #!ipxe + + initrd http://IP:8080/CPIO_GZ_NAME.cpio.gz + kernel http://IP:8080/bzImage + + boot + ``` + + Where IP is the IP address of the machine where the HTTP server will be + launched, and CPIO_GZ_NAME is the name of DTS CPIO archive image. + +3. `cd` into the directory and run a Python HTTP server: + + ```bash + python -m http.server 8080 + ``` + +From now the `dts.ipxe` can be used via iPXE shell by typing: + +```text +chain http://IP:8080/dts.ipxe +``` + +Where IP is the IP address of the machine where the HTTP server is launched. + ## Unit tests These tests have not been implemented yet. From c39fdf9382193080fb1951f5f0890731d43a147c Mon Sep 17 00:00:00 2001 From: Daniil Klimuk Date: Wed, 9 Jul 2025 16:45:02 +0200 Subject: [PATCH 2/2] docs: dts-tests.md: use script for iPXE server Signed-off-by: Daniil Klimuk --- docs/dts-tests.md | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/docs/dts-tests.md b/docs/dts-tests.md index 59c099e527..cd22574c84 100644 --- a/docs/dts-tests.md +++ b/docs/dts-tests.md @@ -31,7 +31,7 @@ Control variables: * `dts_ipxe_link`: useful if you are testing DTS which is not released yet. Just put here a link to your script which will load your DTS. By default DTS is - being booted from `dl.3mdeb.com`; Check [the following + being booted from `dl.3mdeb.com`. Check [the following chapter](#http-server-with-dts-ipxe-boot) for information on how to set up a custom HTTP iPXE server with DTS. * `dpp_email`, `dpp_password`: for DPP credentials, if tests need them. @@ -48,33 +48,12 @@ robot -b command_log.txt -v snipeit:no -L TRACE -v config:qemu -v rte_ip:127.0.0 ### HTTP server with DTS iPXE boot -Follow the steps below to prepare an iPXE server with a custom DTS image. - -1. Create a directory and place the DTS `bzImage` and DTS `.cpio.gz` file. -2. Create and edit a `dts.ipxe` file, pasting the following content: - - ```text - #!ipxe - - initrd http://IP:8080/CPIO_GZ_NAME.cpio.gz - kernel http://IP:8080/bzImage - - boot - ``` - - Where IP is the IP address of the machine where the HTTP server will be - launched, and CPIO_GZ_NAME is the name of DTS CPIO archive image. - -3. `cd` into the directory and run a Python HTTP server: - - ```bash - python -m http.server 8080 - ``` - -From now the `dts.ipxe` can be used via iPXE shell by typing: +Use [the automation script](https://github.com/Dasharo/open-source-firmware-validation/blob/develop/scripts/ci/ipxe-run.sh) +to prepare an iPXE server with a custom DTS image. After that the `dts.ipxe` can +be used via iPXE shell to boot the DTS image: ```text -chain http://IP:8080/dts.ipxe +chain http://IP:4321/dts.ipxe ``` Where IP is the IP address of the machine where the HTTP server is launched.