From 7ff2281602472e29f85dafcec6ac8d5117eae907 Mon Sep 17 00:00:00 2001 From: nedpfeiffer <116780681+nedpfeiffer@users.noreply.github.com> Date: Sun, 29 Dec 2024 06:03:12 +0000 Subject: [PATCH 1/8] Update dell_optiplex/initial-deployment.md --- .../dell_optiplex/initial-deployment.md | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/variants/dell_optiplex/initial-deployment.md b/docs/variants/dell_optiplex/initial-deployment.md index e47d531e0d..e17932e930 100644 --- a/docs/variants/dell_optiplex/initial-deployment.md +++ b/docs/variants/dell_optiplex/initial-deployment.md @@ -120,7 +120,17 @@ binwalk -e O7010A29.exe -C . Assuming the extraction process was successful, you should now have an extracted UEFI image file, hidden under an unassuming name such as `65C10`. Deeper down the rabbit hole, you will now have to extract the -blobs from this image using `uefi-firmware-parser`: +blobs from this image using `uefi-firmware-parser`, a set of Python scripts +for parsing, extracting, and recreating UEFI firmware volumes. To install: + +``` +apt install python3-pip python3-venv +python3 -m venv venv +source venv/bin/activate +pip install uefi-firmware==1.9 +``` + +To extract the blobs (you may have to run the command twice): ```bash uefi-firmware-parser -e "_O7010A29.exe.extracted/65C10" -O @@ -132,14 +142,14 @@ files. Now, let's copy them with more readable names for future reference: * EC firmware - `cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3- -42a0-a316-22dd0517c1e8/volume-0x50000/file-d386beb8-4b54-4e69-94f5- -06091f67e0d3/section0.raw sch5545_ecfw.bin` +42a0-a316-22dd0517c1e8/volume-0x50000/file-d386beb8-4b54-4e69-94f5-06091f67e0d3/section0.raw +sch5545_ecfw.bin` * BIOS ACM file - `cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3- -42a0-a316-22dd0517c1e8/volume-0x500000/file-2d27c618-7dcd-41f5-bb10- -21166be7e143/object-0.raw IVB_BIOSAC_PRODUCTION.bin` +42a0-a316-22dd0517c1e8/volume-0x500000/file-2d27c618-7dcd-41f5-bb10-21166be7e143/object-0.raw +IVB_BIOSAC_PRODUCTION.bin` The SINIT file is fortunately available for download directly from Intel at [this url](https://cdrdv2.intel.com/v1/dl/getContent/630744). From 092dc9fbfea5bdd790123b3d3711bdba69a7f98f Mon Sep 17 00:00:00 2001 From: nedpfeiffer <116780681+nedpfeiffer@users.noreply.github.com> Date: Sun, 29 Dec 2024 06:13:08 +0000 Subject: [PATCH 2/8] Update initial-deployment.md --- docs/variants/dell_optiplex/initial-deployment.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/variants/dell_optiplex/initial-deployment.md b/docs/variants/dell_optiplex/initial-deployment.md index e17932e930..541cd370af 100644 --- a/docs/variants/dell_optiplex/initial-deployment.md +++ b/docs/variants/dell_optiplex/initial-deployment.md @@ -124,7 +124,7 @@ blobs from this image using `uefi-firmware-parser`, a set of Python scripts for parsing, extracting, and recreating UEFI firmware volumes. To install: ``` -apt install python3-pip python3-venv +apt install python3-venv python3-pip python3 -m venv venv source venv/bin/activate pip install uefi-firmware==1.9 @@ -141,15 +141,15 @@ files. Now, let's copy them with more readable names for future reference: * EC firmware - -`cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3- -42a0-a316-22dd0517c1e8/volume-0x50000/file-d386beb8-4b54-4e69-94f5-06091f67e0d3/section0.raw -sch5545_ecfw.bin` +``` +cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3-42a0-a316-22dd0517c1e8/volume-0x50000/file-d386beb8-4b54-4e69-94f5-06091f67e0d3/section0.raw sch5545_ecfw.bin +``` * BIOS ACM file - -`cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3- -42a0-a316-22dd0517c1e8/volume-0x500000/file-2d27c618-7dcd-41f5-bb10-21166be7e143/object-0.raw -IVB_BIOSAC_PRODUCTION.bin` +``` +cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3-42a0-a316-22dd0517c1e8/volume-0x500000/file-2d27c618-7dcd-41f5-bb10-21166be7e143/object-0.raw IVB_BIOSAC_PRODUCTION.bin +``` The SINIT file is fortunately available for download directly from Intel at [this url](https://cdrdv2.intel.com/v1/dl/getContent/630744). From e40c296e8cef0eb20b92529576c7d502a56a0ddd Mon Sep 17 00:00:00 2001 From: nedpfeiffer <116780681+nedpfeiffer@users.noreply.github.com> Date: Sun, 29 Dec 2024 06:19:04 +0000 Subject: [PATCH 3/8] Update initial-deployment.md --- docs/variants/dell_optiplex/initial-deployment.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/variants/dell_optiplex/initial-deployment.md b/docs/variants/dell_optiplex/initial-deployment.md index 541cd370af..dc28b5a5ed 100644 --- a/docs/variants/dell_optiplex/initial-deployment.md +++ b/docs/variants/dell_optiplex/initial-deployment.md @@ -120,7 +120,7 @@ binwalk -e O7010A29.exe -C . Assuming the extraction process was successful, you should now have an extracted UEFI image file, hidden under an unassuming name such as `65C10`. Deeper down the rabbit hole, you will now have to extract the -blobs from this image using `uefi-firmware-parser`, a set of Python scripts +blobs from this image using the `uefi-firmware` Python package, a set of scripts for parsing, extracting, and recreating UEFI firmware volumes. To install: ``` @@ -145,14 +145,14 @@ files. Now, let's copy them with more readable names for future reference: cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3-42a0-a316-22dd0517c1e8/volume-0x50000/file-d386beb8-4b54-4e69-94f5-06091f67e0d3/section0.raw sch5545_ecfw.bin ``` -* BIOS ACM file - +* BIOS ACM file (only necessary for TXT support) - ``` cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3-42a0-a316-22dd0517c1e8/volume-0x500000/file-2d27c618-7dcd-41f5-bb10-21166be7e143/object-0.raw IVB_BIOSAC_PRODUCTION.bin ``` The SINIT file is fortunately available for download directly from Intel at -[this url](https://cdrdv2.intel.com/v1/dl/getContent/630744). +[this url](https://cdrdv2.intel.com/v1/dl/getContent/630744) (again, only necessary for TXT support). ### Patching the binary From 24c04ced82a390a73c2d794461b97ec496fdd12e Mon Sep 17 00:00:00 2001 From: nedpfeiffer <116780681+nedpfeiffer@users.noreply.github.com> Date: Sun, 29 Dec 2024 06:22:00 +0000 Subject: [PATCH 4/8] Update building-manual.md --- docs/variants/dell_optiplex/building-manual.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/variants/dell_optiplex/building-manual.md b/docs/variants/dell_optiplex/building-manual.md index 3e88d017cd..941097dea6 100644 --- a/docs/variants/dell_optiplex/building-manual.md +++ b/docs/variants/dell_optiplex/building-manual.md @@ -34,12 +34,6 @@ the result binary using `cbfstool`. The methods are covered later on in the cd coreboot ``` - Replace `vX.Y.Z` with a valid version, eg. `v0.1.0`: - - ```bash - git checkout optiplex_7010_9010_vX.Y.Z - ``` - Checkout submodules: ```bash From 7f2fe8bbc6bb266562f80369788a54dff3d613e2 Mon Sep 17 00:00:00 2001 From: nedpfeiffer <116780681+nedpfeiffer@users.noreply.github.com> Date: Sun, 29 Dec 2024 20:22:29 +0000 Subject: [PATCH 5/8] Specify language in fenced code blocks --- docs/variants/dell_optiplex/initial-deployment.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/variants/dell_optiplex/initial-deployment.md b/docs/variants/dell_optiplex/initial-deployment.md index dc28b5a5ed..c57a6920f3 100644 --- a/docs/variants/dell_optiplex/initial-deployment.md +++ b/docs/variants/dell_optiplex/initial-deployment.md @@ -123,7 +123,7 @@ extracted UEFI image file, hidden under an unassuming name such as blobs from this image using the `uefi-firmware` Python package, a set of scripts for parsing, extracting, and recreating UEFI firmware volumes. To install: -``` +```bash apt install python3-venv python3-pip python3 -m venv venv source venv/bin/activate @@ -141,13 +141,13 @@ files. Now, let's copy them with more readable names for future reference: * EC firmware - -``` +```bash cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3-42a0-a316-22dd0517c1e8/volume-0x50000/file-d386beb8-4b54-4e69-94f5-06091f67e0d3/section0.raw sch5545_ecfw.bin ``` * BIOS ACM file (only necessary for TXT support) - -``` +```bash cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3-42a0-a316-22dd0517c1e8/volume-0x500000/file-2d27c618-7dcd-41f5-bb10-21166be7e143/object-0.raw IVB_BIOSAC_PRODUCTION.bin ``` From 14b7a19af76a63ce40a6f78a9f6d60dbbd90bf1f Mon Sep 17 00:00:00 2001 From: nedpfeiffer <116780681+nedpfeiffer@users.noreply.github.com> Date: Thu, 2 Jan 2025 03:21:26 +0000 Subject: [PATCH 6/8] fix line lengths initial-deployment.md --- docs/variants/dell_optiplex/initial-deployment.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/variants/dell_optiplex/initial-deployment.md b/docs/variants/dell_optiplex/initial-deployment.md index c57a6920f3..da6231a0a4 100644 --- a/docs/variants/dell_optiplex/initial-deployment.md +++ b/docs/variants/dell_optiplex/initial-deployment.md @@ -142,17 +142,22 @@ files. Now, let's copy them with more readable names for future reference: * EC firmware - ```bash -cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3-42a0-a316-22dd0517c1e8/volume-0x50000/file-d386beb8-4b54-4e69-94f5-06091f67e0d3/section0.raw sch5545_ecfw.bin +cp _O7010A29.exe.extracted/65C10_output/pfsobject/\ + section-7ec6c2b0-3fe3-42a0-a316-22dd0517c1e8/volume-0x50000/\ + file-d386beb8-4b54-4e69-94f5-06091f67e0d3/section0.raw sch5545_ecfw.bin ``` * BIOS ACM file (only necessary for TXT support) - ```bash -cp _O7010A29.exe.extracted/65C10_output/pfsobject/section-7ec6c2b0-3fe3-42a0-a316-22dd0517c1e8/volume-0x500000/file-2d27c618-7dcd-41f5-bb10-21166be7e143/object-0.raw IVB_BIOSAC_PRODUCTION.bin +cp _O7010A29.exe.extracted/65C10_output/pfsobject/\ + section-7ec6c2b0-3fe3-42a0-a316-22dd0517c1e8/volume-0x500000/\ + file-2d27c618-7dcd-41f5-bb10-21166be7e143/object-0.raw IVB_BIOSAC_PRODUCTION.bin ``` The SINIT file is fortunately available for download directly from Intel at -[this url](https://cdrdv2.intel.com/v1/dl/getContent/630744) (again, only necessary for TXT support). +[this url](https://cdrdv2.intel.com/v1/dl/getContent/630744) +(again, only necessary for TXT support). ### Patching the binary From 9857aedb6c7e94a29c3e5d6b841107b16465785d Mon Sep 17 00:00:00 2001 From: nedpfeiffer <116780681+nedpfeiffer@users.noreply.github.com> Date: Thu, 2 Jan 2025 03:32:54 +0000 Subject: [PATCH 7/8] trim trailing whitespace initial-deployment.md --- docs/variants/dell_optiplex/initial-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/variants/dell_optiplex/initial-deployment.md b/docs/variants/dell_optiplex/initial-deployment.md index da6231a0a4..f27747dbde 100644 --- a/docs/variants/dell_optiplex/initial-deployment.md +++ b/docs/variants/dell_optiplex/initial-deployment.md @@ -120,7 +120,7 @@ binwalk -e O7010A29.exe -C . Assuming the extraction process was successful, you should now have an extracted UEFI image file, hidden under an unassuming name such as `65C10`. Deeper down the rabbit hole, you will now have to extract the -blobs from this image using the `uefi-firmware` Python package, a set of scripts +blobs from this image using the `uefi-firmware` Python package, a set of scripts for parsing, extracting, and recreating UEFI firmware volumes. To install: ```bash From 0e39f132a30bc225587034cdf84efae732bd9fa1 Mon Sep 17 00:00:00 2001 From: nedpfeiffer <116780681+nedpfeiffer@users.noreply.github.com> Date: Thu, 2 Jan 2025 17:43:16 +0000 Subject: [PATCH 8/8] restore removed contents building-manual.md --- docs/variants/dell_optiplex/building-manual.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/variants/dell_optiplex/building-manual.md b/docs/variants/dell_optiplex/building-manual.md index 941097dea6..3eaae7f461 100644 --- a/docs/variants/dell_optiplex/building-manual.md +++ b/docs/variants/dell_optiplex/building-manual.md @@ -34,6 +34,13 @@ the result binary using `cbfstool`. The methods are covered later on in the cd coreboot ``` + Replace `vX.Y.Z` with a valid version, eg. `v0.1.1`: + + ```bash + git fetch --tags + git checkout optiplex_7010_9010_vX.Y.Z + ``` + Checkout submodules: ```bash