From 854c3645b2e1190ec83f4fc639a9f790074a895b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Thu, 18 Dec 2025 17:21:06 +0100 Subject: [PATCH 1/4] variants/protectli_v1000-series/: v0.9.4 release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- .../protectli_v1000-series/openness-score.md | 89 ++++++++++++++++++ ...tectli_v1210_v0.9.4.rom_openness_chart.png | Bin 0 -> 27217 bytes ...0_v0.9.4.rom_openness_chart_full_image.png | Bin 0 -> 32430 bytes .../protectli_v1000-series/releases.md | 88 +++++++++++++++++ 4 files changed, 177 insertions(+) create mode 100644 docs/variants/protectli_v1000-series/protectli_v1210_v0.9.4.rom_openness_chart.png create mode 100644 docs/variants/protectli_v1000-series/protectli_v1210_v0.9.4.rom_openness_chart_full_image.png diff --git a/docs/variants/protectli_v1000-series/openness-score.md b/docs/variants/protectli_v1000-series/openness-score.md index 7453cba4709..727f5ee1929 100644 --- a/docs/variants/protectli_v1000-series/openness-score.md +++ b/docs/variants/protectli_v1000-series/openness-score.md @@ -5,6 +5,95 @@ Score](../../glossary.md#dasharo-openness-score) for Protectli V1000 series Dasharo releases. The content of the page is generated with [Dasharo Openness Score utility](https://github.com/Dasharo/Openness-Score). +## v0.9.4 + +> V1410, V1610 and V1211 are very similar to V1210, thus the Openness Scores +> for V1410 and V1610 are not generated, as they're considered to be either +> identical or to contain negligible differences compared to V1210. + +Openness Score for protectli_v1210_v0.9.4.rom + +Open-source code percentage: **15.4%** +Closed-source code percentage: **84.6%** + +* Image size: 16777216 (0x1000000) +* Number of regions: 10 +* Number of CBFSes: 2 +* Total open-source code size: 1672149 (0x1983d5) +* Total closed-source code size: 9190838 (0x8c3db6) +* Total data size: 665037 (0xa25cd) +* Total empty size: 5249192 (0x5018a8) + +![](protectli_v1210_v0.9.4.rom_openness_chart.png) + +![](protectli_v1210_v0.9.4.rom_openness_chart_full_image.png) + +> Numbers given above already include the calculations from CBFS regions +> presented below + +### FMAP regions + +| FMAP region | Offset | Size | Category | +| ----------- | ------ | ---- | -------- | +| SI_ME | 0x1000 | 0x7ff000 | closed-source | +| SI_DESC | 0x0 | 0x1000 | data | +| SMMSTORE | 0x800000 | 0x40000 | data | +| RW_MRC_CACHE | 0x840000 | 0x10000 | data | +| CONSOLE | 0x850000 | 0x20000 | data | +| FMAP | 0x970000 | 0x1000 | data | + +### CBFS BOOTSPLASH + +* CBFS size: 1048576 +* Number of files: 2 +* Open-source files size: 0 (0x0) +* Closed-source files size: 0 (0x0) +* Data size: 188768 (0x2e160) +* Empty size: 859808 (0xd1ea0) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| logo.bmp | raw | 188663 | LZMA | data | +| (empty) | null | 859808 | none | empty | + +### CBFS COREBOOT + +* CBFS size: 6877184 +* Number of files: 18 +* Open-source files size: 1672149 (0x1983d5) +* Closed-source files size: 806326 (0xc4db6) +* Data size: 9325 (0x246d) +* Empty size: 4389384 (0x42fa08) + +> Numbers given above are already normalized (i.e. they already include size +> of metadata and possible closed-source LAN drivers included in the payload +> which are not visible in the table below) + +| CBFS filename | CBFS filetype | Size | Compression | Category | +| ------------- | ------------- | ---- | ----------- | -------- | +| fallback/payload | simple elf | 1403712 | none | open-source | +| fallback/romstage | stage | 69424 | none | open-source | +| fallback/ramstage | stage | 125451 | LZMA | open-source | +| fallback/dsdt.aml | raw | 9694 | none | open-source | +| fallback/postcar | stage | 31100 | none | open-source | +| bootblock | bootblock | 32768 | none | open-source | +| cpu_microcode_blob.bin | microcode | 20480 | none | closed-source | +| fspm.bin | fsp | 557056 | none | closed-source | +| fsps.bin | fsp | 228790 | LZ4 | closed-source | +| cbfs_master_header | cbfs header | 32 | none | data | +| intel_fit | intel_fit | 80 | none | data | +| config | raw | 4746 | LZMA | data | +| revision | raw | 859 | none | data | +| build_info | raw | 102 | none | data | +| spd.bin | spd | 1024 | none | data | +| vbt.bin | raw | 1209 | LZMA | data | +| (empty) | null | 548 | none | empty | +| (empty) | null | 4388836 | none | empty | + ## v0.9.3 > V1410 and V1610 is very similar to V1210, thus the Openness Score for V1410 diff --git a/docs/variants/protectli_v1000-series/protectli_v1210_v0.9.4.rom_openness_chart.png b/docs/variants/protectli_v1000-series/protectli_v1210_v0.9.4.rom_openness_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..29a1011eb9d2ab9b85983fdceec489303643a736 GIT binary patch literal 27217 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 literal 0 HcmV?d00001 diff --git a/docs/variants/protectli_v1000-series/releases.md b/docs/variants/protectli_v1000-series/releases.md index fc5ae0bf16e..3744ba1f8fa 100644 --- a/docs/variants/protectli_v1000-series/releases.md +++ b/docs/variants/protectli_v1000-series/releases.md @@ -9,6 +9,94 @@ For details about our release process please read {{ subscribe_form("49abc4a2-0807-4720-aef2-b150ef701b30", "Subscribe to Protectli Dasharo Release Newsletter") }} +## v0.9.4 - 2025-12-18 + +Test results for this release can be found +[here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/JSL_v1000/v0.9.4_results.csv). + +### Added + +- [Intel Management Engine Options menu (Disable Soft and Disable HAP)](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/) +- [CPU Throttling Temperature Offset option](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/) +- [Power state after power or AC loss option](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/) +- [Enable wake from USB devices on Jasper Lake](https://github.com/Dasharo/coreboot/commit/d2f6b3fa9c068c9a0177a2eb921a4b69a34b8447) +- [Intel Jasper Lake CrashLog support](https://github.com/Dasharo/coreboot/commit/07dd73c9214b766762a89ffe51f27c77799293be) + +### Changed + +- [Don't report LANs via SMBIOS Type 41](https://github.com/Dasharo/coreboot/pull/775/commits/082684648c22fc786deea7fc0c4c6ea27103f4ed) +- [Handle dynamic switching between NVMe and SATA for the M.2 slot on Protectli Vault JSL](https://github.com/Dasharo/coreboot/commit/0ce04fba800d56dd7b10a1a2a6068c1335e7d494) +- [Update flash descriptor binaries for Protectli Vault JSL variants (V1210 NVMe x2 and SATA, correct bifurcation, V1410 and V1610 updates)](https://github.com/Dasharo/dasharo-blobs/commit/0e5218dde63db6480d95f830be66dfcd37732352) +- [Add ACPI names for missing USB3 ports on Jasper Lake](https://github.com/Dasharo/coreboot/commit/a56fad6ca8f70169e020d0b76963b1adc32c52f8) +- [Expose SuperIO UART in ACPI DSDT](https://github.com/Dasharo/coreboot/commit/85a6b6cc96162a0d5cd7523fe8b22f48db78c091) +- [Predictable Linux NIC naming by exposing onboard NIC as eno](https://github.com/Dasharo/coreboot/commit/f3fed0fcf6e0e7f24f7b69c415ae0a7096bbdbe8) +- [Add PC speaker beep codes for boot errors](https://github.com/Dasharo/coreboot/commit/e082e953fd68fc8602d0e7b82f6715e5fca5bf2d) +- [Prevent wake events from the USB hub port on Protectli Vault JSL](https://github.com/Dasharo/coreboot/commit/6b14f4da3cbaa60b1ca71d0fb2c7b471967b94ca) +- [Remove iPXE menu timeout on Protectli platforms](https://github.com/Dasharo/coreboot/pull/613) + +### Fixed + +- [M.2 SATA devices not detected on Protectli V12xx](https://github.com/Dasharo/dasharo-issues/issues/1401) +- [Efibootmgr returns Bad address on FreeBSD on Protectli V1410](https://github.com/Dasharo/dasharo-issues/issues/1001) + +### Known issues + +- [Power LED constantly on in suspend on Protectli V1x10](https://github.com/Dasharo/dasharo-issues/issues/1636) +- [Atheros QCA6174 behind ASMedia ASM1806 switch isn't always detected](https://github.com/Dasharo/dasharo-issues/issues/961) +- [TCG2 Configuration missing when changing Intel ME mode Disabled (HAP) -> Enabled](https://github.com/Dasharo/dasharo-issues/issues/1106) + +### Binaries + +[protectli_v1210_v0.9.4.rom][protectli_v1210_v0.9.4.rom_file]{.md-button} +[sha256][protectli_v1210_v0.9.4.rom_hash]{.md-button} +[sha256.sig][protectli_v1210_v0.9.4.rom_sig]{.md-button} + +[protectli_v1211_v0.9.4.rom][protectli_v1211_v0.9.4.rom_file]{.md-button} +[sha256][protectli_v1211_v0.9.4.rom_hash]{.md-button} +[sha256.sig][protectli_v1211_v0.9.4.rom_sig]{.md-button} + +[protectli_v1410_v0.9.4.rom][protectli_v1410_v0.9.4.rom_file]{.md-button} +[sha256][protectli_v1410_v0.9.4.rom_hash]{.md-button} +[sha256.sig][protectli_v1410_v0.9.4.rom_sig]{.md-button} + +[protectli_v1610_v0.9.4.rom][protectli_v1610_v0.9.4.rom_file]{.md-button} +[sha256][protectli_v1610_v0.9.4.rom_hash]{.md-button} +[sha256.sig][protectli_v1610_v0.9.4.rom_sig]{.md-button} + +To verify binary integrity with hash and signature please follow the +instructions in [Dasharo release signature verification](/guides/signature-verification) +using [this key](https://github.com/3mdeb/3mdeb-secpack/raw/master/customer-keys/protectli/release-keys/dasharo-release-0.9.x-for-protectli-signing-key.asc) + +### SBOM (Software Bill of Materials) + +- [Dasharo coreboot fork based on 24.12 revision 270ea70b](https://github.com/Dasharo/coreboot/tree/270ea70b) + + [License](https://github.com/Dasharo/coreboot/blob/270ea70b/COPYING) +- [Dasharo EDKII fork based on edk2-stable202502 revision 3bde471c](https://github.com/Dasharo/edk2/tree/3bde471c) + + [License](https://github.com/Dasharo/edk2/blob/3bde471c/License.txt) +- [iPXE based on 2025.03 revision 6c7068fc](https://github.com/Dasharo/ipxe/tree/6c7068fc) + + [License](https://github.com/Dasharo/ipxe/blob/6c7068fc/COPYING.GPLv2) +- [Intel Management Engine version v13.50.27.1987](https://github.com/Dasharo/dasharo-blobs/blob/0ca1dcac/protectli/vault_jsl/) + + [License](https://github.com/Dasharo/dasharo-blobs/blob/main/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) +- [Intel Flash Descriptor version v1.1/v1.2(V1210)](https://github.com/Dasharo/dasharo-blobs/blob/0ca1dcac/protectli/vault_jsl) + + [License](https://github.com/Dasharo/dasharo-blobs/blob/main/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) +- [Intel Firmware Support Package version JSL 2021/08/23 v2115](https://github.com/Dasharo/dasharo-blobs/blob/0ca1dcac/protectli/vault_jsl/JasperLakeFspBinPkg) + + [License](https://github.com/Dasharo/dasharo-blobs/blob/main/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) +- [Intel microcode version JSL A0](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/microcode-20251111/intel-ucode/06-9c-00) + + [License](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/blob/microcode-20251111/license) + +[protectli_v1210_v0.9.4.rom_file]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1210_v0.9.4.rom +[protectli_v1210_v0.9.4.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1210_v0.9.4.rom.sha256 +[protectli_v1210_v0.9.4.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1210_v0.9.4.rom.sha256.sig +[protectli_v1211_v0.9.4.rom_file]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1211_v0.9.4.rom +[protectli_v1211_v0.9.4.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1211_v0.9.4.rom.sha256 +[protectli_v1211_v0.9.4.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1211_v0.9.4.rom.sha256.sig +[protectli_v1410_v0.9.4.rom_file]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1410_v0.9.4.rom +[protectli_v1410_v0.9.4.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1410_v0.9.4.rom.sha256 +[protectli_v1410_v0.9.4.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1410_v0.9.4.rom.sha256.sig +[protectli_v1610_v0.9.4.rom_file]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1610_v0.9.4.rom +[protectli_v1610_v0.9.4.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1610_v0.9.4.rom.sha256 +[protectli_v1610_v0.9.4.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/protectli_vault_jsl/uefi/v0.9.4/protectli_v1610_v0.9.4.rom.sha256.sig + ## v0.9.3 - 2024-09-16 Test results for this release can be found here: From 0c6929f9e7003cc778e39d45936b55cdc2f94574 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Thu, 18 Dec 2025 17:39:02 +0100 Subject: [PATCH 2/4] variants/protectli_v1000-series/: fix test result link MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/variants/protectli_v1000-series/releases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/variants/protectli_v1000-series/releases.md b/docs/variants/protectli_v1000-series/releases.md index 3744ba1f8fa..dbb8a7eccd1 100644 --- a/docs/variants/protectli_v1000-series/releases.md +++ b/docs/variants/protectli_v1000-series/releases.md @@ -12,7 +12,7 @@ For details about our release process please read ## v0.9.4 - 2025-12-18 Test results for this release can be found -[here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/JSL_v1000/v0.9.4_results.csv). +[here](https://github.com/Dasharo/osfv-results/blob/main/boards/Protectli/JSL_v1000/). ### Added From 7d8f78a82039442dd68a059e1abc6c212e18b654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Thu, 18 Dec 2025 17:43:32 +0100 Subject: [PATCH 3/4] variants/protectli_v1000-series/: fix feature links Co-authored-by: Beata Skierka <97024713+BeataZdunczyk@users.noreply.github.com> --- docs/variants/protectli_v1000-series/releases.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/variants/protectli_v1000-series/releases.md b/docs/variants/protectli_v1000-series/releases.md index dbb8a7eccd1..c7a98fa6866 100644 --- a/docs/variants/protectli_v1000-series/releases.md +++ b/docs/variants/protectli_v1000-series/releases.md @@ -16,8 +16,8 @@ Test results for this release can be found ### Added -- [Intel Management Engine Options menu (Disable Soft and Disable HAP)](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/) -- [CPU Throttling Temperature Offset option](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/) +- [Intel Management Engine Options menu (Disable Soft and Disable HAP)](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/#intel-management-engine-options) +- [CPU Throttling Temperature Offset option](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/#power-management-options) - [Power state after power or AC loss option](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/) - [Enable wake from USB devices on Jasper Lake](https://github.com/Dasharo/coreboot/commit/d2f6b3fa9c068c9a0177a2eb921a4b69a34b8447) - [Intel Jasper Lake CrashLog support](https://github.com/Dasharo/coreboot/commit/07dd73c9214b766762a89ffe51f27c77799293be) From 769ebb2d584a6b965a7ef58196b2a3d6a8351330 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Lewi=C5=84ski?= Date: Thu, 18 Dec 2025 17:46:44 +0100 Subject: [PATCH 4/4] variants/protectli_v1000-series/: add fixed suspend MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Lewiński --- docs/variants/protectli_v1000-series/releases.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/variants/protectli_v1000-series/releases.md b/docs/variants/protectli_v1000-series/releases.md index c7a98fa6866..f4fe2a43938 100644 --- a/docs/variants/protectli_v1000-series/releases.md +++ b/docs/variants/protectli_v1000-series/releases.md @@ -38,6 +38,7 @@ Test results for this release can be found - [M.2 SATA devices not detected on Protectli V12xx](https://github.com/Dasharo/dasharo-issues/issues/1401) - [Efibootmgr returns Bad address on FreeBSD on Protectli V1410](https://github.com/Dasharo/dasharo-issues/issues/1001) +- [SUSP DUT wakes up from S3 instantly](https://github.com/Dasharo/dasharo-issues/issues/1332) ### Known issues