diff --git a/docs/variants/hardkernel_odroid_h4/hardkernel_odroid_h4_v0.9.0.rom_openness_chart.png b/docs/variants/hardkernel_odroid_h4/hardkernel_odroid_h4_v0.9.0.rom_openness_chart.png new file mode 100644 index 0000000000..7b72a24c74 Binary files /dev/null and b/docs/variants/hardkernel_odroid_h4/hardkernel_odroid_h4_v0.9.0.rom_openness_chart.png differ diff --git a/docs/variants/hardkernel_odroid_h4/hardkernel_odroid_h4_v0.9.0.rom_openness_chart_full_image.png b/docs/variants/hardkernel_odroid_h4/hardkernel_odroid_h4_v0.9.0.rom_openness_chart_full_image.png new file mode 100644 index 0000000000..ab5a57e5e4 Binary files /dev/null and b/docs/variants/hardkernel_odroid_h4/hardkernel_odroid_h4_v0.9.0.rom_openness_chart_full_image.png differ diff --git a/docs/variants/hardkernel_odroid_h4/openness_score.md b/docs/variants/hardkernel_odroid_h4/openness_score.md new file mode 100644 index 0000000000..85ab16c997 --- /dev/null +++ b/docs/variants/hardkernel_odroid_h4/openness_score.md @@ -0,0 +1,125 @@ +# Dasharo Openness Score + +This page contains the [Dasharo Openness +Score](../../glossary.md#dasharo-openness-score) for Hardkernel ODROID H4+ +Dasharo releases. The content of the page is generated with [Dasharo Openness +Score utility](https://github.com/Dasharo/Openness-Score). + +## v0.9.0 + +Openness Score for hardkernel_odroid_h4_v0.9.0.rom + +Open-source code percentage: **38.3%** +Closed-source code percentage: **61.7%** + +* Image size: 16777216 (0x1000000) +* Number of regions: 21 +* Number of CBFSes: 3 +* Total open-source code size: 4143436 (0x3f394c) +* Total closed-source code size: 6684614 (0x65ffc6) +* Total data size: 632358 (0x9a626) +* Total empty size: 5316808 (0x5120c8) + +![](hardkernel_odroid_h4_v0.9.0.rom_openness_chart.png) + +![](hardkernel_odroid_h4_v0.9.0.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 | 0x413000 | closed-source | +| SI_DESC | 0x0 | 0x1000 | data | +| SMMSTORE | 0x600000 | 0x40000 | data | +| RECOVERY_MRC_CACHE | 0x640000 | 0x20000 | data | +| RW_MRC_CACHE | 0x660000 | 0x20000 | data | +| RW_NVRAM | 0x680000 | 0x1000 | data | +| VBLOCK_A | 0x6c0000 | 0x10000 | data | +| RW_FWID_A | 0xafff00 | 0x100 | data | +| FMAP | 0xb00000 | 0x800 | data | +| RO_FRID | 0xb00800 | 0x100 | data | +| RO_FRID_PAD | 0xb00900 | 0x700 | data | +| GBB | 0xb01000 | 0x3000 | data | +| SI_DEVICEEXT2 | 0x414000 | 0x1ec000 | empty | + +### CBFS BOOTSPLASH + +* CBFS size: 258048 +* Number of files: 1 +* Open-source files size: 0 (0x0) +* Closed-source files size: 0 (0x0) +* Data size: 28 (0x1c) +* Empty size: 258020 (0x3efe4) + +> 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 | +| ------------- | ------------- | ---- | ----------- | -------- | +| (empty) | null | 258020 | none | empty | + +### CBFS FW_MAIN_A + +* CBFS size: 4390656 +* Number of files: 13 +* Open-source files size: 2027238 (0x1eeee6) +* Closed-source files size: 1206243 (0x1267e3) +* Data size: 8603 (0x219b) +* Empty size: 1148572 (0x11869c) + +> 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 | 1727490 | none | open-source | +| fallback/romstage | stage | 98320 | none | open-source | +| fallback/ramstage | stage | 145034 | LZMA | open-source | +| fallback/dsdt.aml | raw | 18114 | none | open-source | +| fallback/postcar | stage | 38280 | none | open-source | +| cpu_microcode_blob.bin | microcode | 138240 | none | closed-source | +| fspm.bin | fsp | 786432 | none | closed-source | +| fsps.bin | fsp | 281571 | LZ4 | closed-source | +| config | raw | 5421 | LZMA | data | +| revision | raw | 860 | none | data | +| build_info | raw | 108 | none | data | +| vbt.bin | raw | 1272 | LZMA | data | +| (empty) | null | 2404 | none | empty | + +### CBFS COREBOOT + +* CBFS size: 5226496 +* Number of files: 17 +* Open-source files size: 2116198 (0x204a66) +* Closed-source files size: 1206243 (0x1267e3) +* Data size: 9071 (0x236f) +* Empty size: 1894984 (0x1cea48) + +> 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 | 1727490 | none | open-source | +| fallback/romstage | stage | 98320 | none | open-source | +| fallback/ramstage | stage | 145034 | LZMA | open-source | +| fallback/dsdt.aml | raw | 18114 | none | open-source | +| fallback/postcar | stage | 38280 | none | open-source | +| bootblock | bootblock | 88960 | none | open-source | +| cpu_microcode_blob.bin | microcode | 138240 | none | closed-source | +| fspm.bin | fsp | 786432 | none | closed-source | +| fsps.bin | fsp | 281571 | LZ4 | closed-source | +| cbfs_master_header | cbfs header | 32 | none | data | +| intel_fit | intel_fit | 80 | none | data | +| config | raw | 5421 | LZMA | data | +| revision | raw | 860 | none | data | +| build_info | raw | 108 | none | data | +| vbt.bin | raw | 1272 | LZMA | data | +| (empty) | null | 2148 | none | empty | +| (empty) | null | 1892836 | none | empty | diff --git a/docs/variants/hardkernel_odroid_h4/releases.md b/docs/variants/hardkernel_odroid_h4/releases.md index 7f3b808e79..9a96f3b041 100644 --- a/docs/variants/hardkernel_odroid_h4/releases.md +++ b/docs/variants/hardkernel_odroid_h4/releases.md @@ -1,6 +1,6 @@ -# Dasharo compatible with Hardkernel ODROID H4+ +# Hardkernel ODROID H4 Dasharo Release Notes -Following Release Notes describe status of Open Source Firmware development for +Following Release Notes describe status of open-source firmware development for Hardkernel ODROID H4 For details about our release process please read @@ -13,7 +13,73 @@ For details about our release process please read -Coming soon in the [Dasharo Pro Package for Network Appliance](https://shop.3mdeb.com/shop/dasharo-pro-package/1-year-dasharo-entry-subscription-for-network-appliance/). +## v0.9.0 - 2025-02-13 + +Test results for this release can be found +[here](https://github.com/Dasharo/osfv-results/blob/main/boards/Hardkernel/Odroid_H4/v0.9.0_results.csv). + +### Added + +- Initial support for the Hardkernel ODROID H4 device, based on Intel Alder + Lake N +- [UEFI compatible interface](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/30M-uefi-compatible-interface/) +- [Support for discrete TPM](https://docs.dasharo.com/unified-test-documentation/dasharo-security/200-tpm-support/) +- [UEFI Secure Boot support](https://docs.dasharo.com/unified-test-documentation/dasharo-security/206-secure-boot/) +- [Boot logo customization support](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/328-logo-customization-functionality/) +- [USB boot support](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/31N-usb-boot/) +- [NVMe boot support](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/312-nvme-support/) +- [TPM Measured Boot](https://docs.dasharo.com/unified-test-documentation/dasharo-security/203-measured-boot/) +- [UEFI Shell](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/30P-uefi-shell/) +- [Network boot](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/315b-netboot-utilities/) +- [Windows 11 booting](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/31A-windows-booting/) +- [Ubuntu LTS booting](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/308-debian-stable-and-ubuntu-lts-support/) +- [Serial port console redirection](https://docs.dasharo.com/unified-test-documentation/dasharo-compatibility/31G-ec-and-superio/#sio004001-serial-port-in-firmware) +- [Vboot Verified Boot](https://docs.dasharo.com/guides/vboot-signing/) +- [Intel ME HAP disable](https://docs.dasharo.com/unified-test-documentation/dasharo-security/20F-me-neuter/) +- [BIOS flash protection for Vboot recovery region](https://docs.dasharo.com/unified-test-documentation/dasharo-security/20J-bios-lock-support/) +- [Setup menu password configuration](https://docs.dasharo.com/dasharo-menu-docs/overview/#dasharo-menu-guides) +- [SMM BIOS write protection](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/#dasharo-security-options) +- [USB stack disable option in setup menu](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/#usb-configuration) +- [Network stack disable option in setup menu](https://docs.dasharo.com/dasharo-menu-docs/dasharo-system-features/#networking-options) + +### Known issues + +- [S3 sleep too short on ODROID H4 Plus](https://github.com/Dasharo/dasharo-issues/issues/1213) + +### Binaries + +[sha256][hardkernel_odroid_h4_v0.9.0.rom_hash]{.md-button} +[sha256.sig][hardkernel_odroid_h4_v0.9.0.rom_sig]{.md-button} + +This is a Dasharo Pro Package Release. To obtain access to the pre-built +binaries you will have to +[become the Dasharo Pro Package subscriber](../../ways-you-can-help-us.md#become-a-dasharo-pro-package-subscriber). +You will get the access to all of the firmware updates for the duration of the +subscription via Dasharo Pro Package newsletter. + +To verify binary integrity with hash and signature please follow the +instructions in [Dasharo release signature verification](/guides/signature-verification) +using [this key](https://raw.githubusercontent.com/3mdeb/3mdeb-secpack/master/dasharo/hardkernel_odroid_h4/dasharo-release-0.x-compatible-with-hardkernel-odroid-h4-family-signing-key.asc) + +### SBOM (Software Bill of Materials) + +- [Dasharo coreboot fork based on 24.02 revision 93eb5819](https://github.com/Dasharo/coreboot/tree/93eb5819) + + [License](https://github.com/Dasharo/coreboot/blob/93eb5819/COPYING) +- [Dasharo EDKII fork based on edk2-stable202402 revision 7dbfe58b](https://github.com/Dasharo/edk2/tree/7dbfe58b) + + [License](https://github.com/Dasharo/edk2/blob/7dbfe58b/License.txt) +- [Dasharo iPXE fork based on 2024.05 revision 35d84756](https://github.com/Dasharo/ipxe/tree/35d84756) + + [License](https://github.com/Dasharo/ipxe/blob/35d84756/COPYING.GPLv2) +- [vboot based on 3d37d2aafe revision 3d37d2aa](https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/3d37d2aa/) + + [License](https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/3d37d2aa/LICENSE) +- [Intel Management Engine version v16.50.10.1351](https://github.com/Dasharo/dasharo-blobs/blob/c4ecc9e3/hardkernel/odroid_h4/me.bin) + + [License](https://github.com/Dasharo/dasharo-blobs/blob/c4ecc9e3/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) +- [Intel Flash Descriptor version v1.0](https://github.com/Dasharo/dasharo-blobs/blob/c4ecc9e3/hardkernel/odroid_h4/descriptor.bin) + + [License](https://github.com/Dasharo/dasharo-blobs/blob/c4ecc9e3/licenses/pv%20intel%20obl%20software%20license%20agreement%2011.2.2017.pdf) +- [Intel Firmware Support Package version IoT ADL-N MR4 (5061_00)](https://github.com/intel/FSP/commits/3819544e/AlderLakeFspBinPkg/IoT/AlderLakeN) + + [License](https://github.com/intel/FSP/blob/3819544e/FSP_License.pdf) +- [Intel microcode version ADL-N N0 0x17 07/12/2023](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/microcode-20240531/intel-ucode/06-be-00) + + [License](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/blob/microcode-20240531/license) - [newsletter]: https://newsletter.3mdeb.com/subscription/pULA4K0Eo +[hardkernel_odroid_h4_v0.9.0.rom_hash]: https://dl.3mdeb.com/open-source-firmware/Dasharo/hardkernel_odroid_h4/v0.9.0/hardkernel_odroid_h4_v0.9.0.rom.sha256 +[hardkernel_odroid_h4_v0.9.0.rom_sig]: https://dl.3mdeb.com/open-source-firmware/Dasharo/hardkernel_odroid_h4/v0.9.0/hardkernel_odroid_h4_v0.9.0.rom.sha256.sig diff --git a/mkdocs.yml b/mkdocs.yml index 2290fdee68..21416339ac 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -404,6 +404,7 @@ nav: - 'Recovery': variants/hardkernel_odroid_h4/recovery.md - 'Hardware Configuration Matrix': variants/hardkernel_odroid_h4/hardware-matrix.md - 'Test matrix': variants/hardkernel_odroid_h4/test-matrix.md + - 'Openness score': variants/hardkernel_odroid_h4/openness_score.md # - 'Development Environment': # - 'Nix': dev-env/nix-dev-env.md - 'Guides':