-
-
Notifications
You must be signed in to change notification settings - Fork 23
initial commit for dasharo naming convention v2 #1154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,78 +1,78 @@ | ||
| # Dasharo Product Naming Convention | ||
|
|
||
| Following documentation is results of [RFC](https://github.com/Dasharo/dasharo-issues/issues/762). | ||
| Following documentation is v2 of naming convention following results of | ||
| [RFC](https://github.com/Dasharo/dasharo-issues/issues/762). | ||
|
|
||
| ## Synopsis | ||
|
|
||
| ```plain | ||
| Dasharo (firmware_framework[+payload]) [customer_type] Package for | ||
| market_segment | ||
| Dasharo (framework[+payload]) [edition] [release] Package for [platform] | ||
| ``` | ||
|
|
||
| ## Description | ||
|
|
||
| Dasharo's naming scheme is crafted to convey the essential details of each | ||
| firmware package. It includes the base firmware framework, an optional payload, | ||
| the targeted market segment, and the customer type. This structure assists in | ||
| identifying the most suitable package for specific technological needs, market | ||
| segments, and customer categories. | ||
| the target `platform`, and the `edition`. This structure helps identify the | ||
| most suitable package for `platform`-specific needs and customer categories. | ||
|
|
||
| Components of the naming scheme: | ||
|
|
||
| ```plain | ||
| Dasharo (firmware_framework[+payload]) [customer_type] Package for | ||
| market_segment | ||
| ``` | ||
|
|
||
| - `firmware_framework`: Mandatory. Specifies the base firmware framework used | ||
| in the package. Available options: | ||
| - `framework`: Mandatory. Specifies the base firmware framework used in the | ||
| package. Available options: | ||
|
|
||
| + `coreboot` - [Dasharo downstream](https://github.com/Dasharo/coreboot) of | ||
| [coreboot](https://coreboot.org) open source project. | ||
| + `UEFI` - [Dasharo downstream](https://github.com/Dasharo/edk2) of | ||
| [Tianocore EDK II](https://github.com/tianocore/edk2) reference | ||
| implementation of the UEFI Specification. | ||
| + `coreboot` - Dasharo downstream of coreboot open source project. | ||
| + `UEFI` - Dasharo downstream of Tianocore EDK II reference implementation of | ||
| the UEFI Specification. | ||
| + `Slim Bootloader` - upstream or downstream version of Slim Bootloader. | ||
|
|
||
| - `payload` (optional): Details the additional software loaded by the firmware. | ||
| Available options: | ||
| Available options: | ||
|
|
||
| + `UEFI` - [Dasharo downstream](https://github.com/Dasharo/edk2) of | ||
| [Tianocore EDK II](https://github.com/tianocore/edk2) reference | ||
| implementation of the UEFI Specification. | ||
| + `SeaBIOS` - upstream or downstream version of [SeaBIOS](https://www.seabios.org) | ||
| + `Heads` - upstream or downstream version of [Heads](https://github.com/linuxboot/heads/) | ||
| + `UEFI` - Dasharo downstream of EDK II. | ||
| + `SeaBIOS` - upstream or downstream version of SeaBIOS. | ||
| + `Heads` - upstream or downstream version of Heads. | ||
| + `U-Boot` - upstream or downstream version of U-Boot. | ||
|
|
||
| The omission of this component implies no additional payload. | ||
|
|
||
| - `market_segment`: Indicates the target market segment for the package. | ||
| Possible segments: | ||
|
|
||
| ```plain | ||
| Network Appliance/Embedded | Laptop | Desktop | Workstation | Server | ||
| ``` | ||
|
|
||
| - `customer_type`: Specifies whether the package is aimed at professional | ||
| retail customers or enterprise business customers. Options are: | ||
|
|
||
| ```plain | ||
| Pro | Enterprise | ||
| ``` | ||
| - `platform`: Indicates the target platform for the package. Platform is | ||
| mandatory in public names. Platform name should follow [supported hardware | ||
| list](/variants/overview). | ||
| - `edition`: Community | Pro | Enterprise (edition codes: DCP, DPP, DEP) | ||
|
|
||
| - `release`: Rapid | Assured | LTS. Defines QA scope and support cadence. Codes | ||
| are for internal use in filenames; public names spell out the release tier. | ||
| + `Rapid` - minimal regression only, scope depends on target hardware and | ||
| configuration, so that it can be 3 or 10 tests, it is very likely <=10% of | ||
| LTS, | ||
| + `Assured` in between Rapid and LTS, adding to `Rapid` only tests which | ||
| validate areas of firmware that experience change,s e.g., USB | ||
| improvements/fixes leads to test USB, measured boot changes then only TPM and | ||
| measured boot, | ||
| + `LTS` - full scope, typically once a year unless budget is available. | ||
|
|
||
| This naming convention aims to provide clarity and precision, facilitating ease | ||
| of understanding across Dasharo's firmware offerings. | ||
|
|
||
| ## Examples | ||
|
|
||
| ```plain | ||
| Dasharo (coreboot+Heads) Pro Package for Laptop | ||
| Dasharo (coreboot+Heads) Pro Rapid Package for Novacustom NV4x 12th Gen | ||
| ``` | ||
|
|
||
| A package aimed at professional retail customers with laptops, incorporating | ||
| coreboot with the Heads payload. | ||
|
|
||
| ```plain | ||
| Dasharo (UEFI) Enterprise Package for Desktop | ||
| Dasharo (Slim Bootloader+UEFI) Pro Assured Package for Hardkernel ODROID-H4 | ||
| ``` | ||
|
|
||
| A package that uses Slim Bootloader with UEFI payload on Hardkernel ODROID-H4. | ||
|
|
||
| ```plain | ||
| Dasharo (UEFI) Enterprise LTS Package for MSI PRO Z690-A | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Where the PC Engines releases with their characteristic versioning scheme would land in this convention? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It really depends on which release, one that the PET Team does: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we should update the Overview pages then to make sure that every page shows the platform name in a visible place. It's not the case for PC Engines APU https://docs.dasharo.com/variants/pc_engines/overview/ There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't get the problem. What is expectation, and how is it related to this discussion? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Oh, it says to look in There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. should be resolved? |
||
| ``` | ||
|
|
||
| A package for enterprise business customers for desktops, employing UEFI with | ||
| no additional payload specified. | ||
| A package for enterprise business customers for MSI PRO Z690-A, employing UEFI | ||
| as framework with no additional payload. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right now we include
Dasharo (framework[+payload])this part only in SMBIOS, I wonder if we should include more. Possibly related to: #1154 (comment) if we needed to tell which update given platform would need.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SMBIOS has other ways of expressing things. There are also things like compliance profiles in UEFI, as well as OS features in variables, which we do not leverage, and I doubt there is anything like that in coreboot.