Skip to content

Commit 8876953

Browse files
Merge pull request #1195 from Dasharo/fusing_instructions
Fusing instructions
2 parents 98952f2 + 069cba9 commit 8876953

File tree

5 files changed

+130
-43
lines changed

5 files changed

+130
-43
lines changed

docs/dasharo-tools-suite/documentation/features.md

Lines changed: 85 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,42 @@
22

33
This section describes the functionality of the Dasharo Tools Suite. These are:
44

5-
* [DTS available commands](#available-commands)
6-
* [Dasharo zero-touch initial deployment](#dasharo-zero-touch-initial-deployment),
7-
* [HCL Report](#hcl-report),
8-
* [Firmware update](#firmware-update),
9-
+ [Local firmware update](#local-firmware-update),
10-
* [EC transition](#ec-transition),
11-
* [EC update](#ec-update),
12-
* [additional features](#additional-features),
13-
+ [run commands from iPXE shell automatically](#run-commands-from-ipxe-shell-automatically),
14-
+ [run DTS using VentoyOS](#run-dts-using-ventoyos).
5+
- [Features](#features)
6+
+ [Available Commands](#available-commands)
7+
+ [Dasharo zero-touch initial deployment (i.e. DZTID)](#dasharo-zero-touch-initial-deployment-ie-dztid)
8+
+ [HCL Report](#hcl-report)
9+
- [HCL Report correctness](#hcl-report-correctness)
10+
- [HCL Report Using an External Firmware Binary](#hcl-report-using-an-external-firmware-binary)
11+
- [BIOS backup](#bios-backup)
12+
+ [Firmware update](#firmware-update)
13+
- [Firmware Update Mode](#firmware-update-mode)
14+
- [Local firmware update](#local-firmware-update)
15+
- [Update issues](#update-issues)
16+
+ [EC transition](#ec-transition)
17+
+ [EC update](#ec-update)
18+
+ [Fusing the device vendor keys](#fusing-the-device-vendor-keys)
19+
+ [Verify Intel Boot Guard key](#verify-intel-boot-guard-key)
20+
+ [Additional features](#additional-features)
21+
- [Run commands from iPXE shell automatically](#run-commands-from-ipxe-shell-automatically)
22+
- [Run DTS using VentoyOS](#run-dts-using-ventoyos)
1523

1624
## Available Commands
1725

1826
When DTS is started, it has following options for the user to choose from:
1927

20-
* **1)** [Dasharo HCL Report](#hcl-report) - generate Hardware
28+
- **1)** [Dasharo HCL Report](#hcl-report) - generate Hardware
2129
Compatibility List Report
22-
* **2)** [Update Dasharo Firmware](#firmware-update) or [Install Dasharo
30+
- **2)** [Update Dasharo Firmware](#firmware-update) or [Install Dasharo
2331
Firmware](#dasharo-zero-touch-initial-deployment)
24-
* **3)** [Restore Firmware from Dasharo HCL Report](#update-issues)
25-
* **4)** [Load your DPP
32+
- **3)** [Restore Firmware from Dasharo HCL Report](#update-issues)
33+
- **4)** [Load your DPP
2634
keys](../../osf-trivia-list/dts.md#how-can-i-use-my-dasharo-pro-package-credentials)
2735
\- Load your Dasharo Pro Package (DPP) keys
28-
* **R** Reboot
29-
* **P** Poweroff
30-
* **S** Enter shell
31-
* **K** Launch SSH Server
32-
* **L** [Enable sending DTS
36+
- **R** Reboot
37+
- **P** Poweroff
38+
- **S** Enter shell
39+
- **K** Launch SSH Server
40+
- **L** [Enable sending DTS
3341
logs](../../osf-trivia-list/dts.md#how-can-i-help-the-support-team-diagnose-my-problem-faster)
3442

3543
## Dasharo zero-touch initial deployment (i.e. DZTID)
@@ -60,20 +68,20 @@ version of Dasharo, which we provide for given hardware.
6068

6169
This feature is supported on the following platforms:
6270

63-
* ASUS KGPE-D16,
64-
* Dell OptiPlex 7010/9010,
65-
* MSI PRO Z690-A DDR4,
66-
* MSI PRO Z690-A DDR5,
67-
* MSI PRO Z790-P DDR4,
68-
* MSI PRO Z790-P DDR5,
69-
* NovaCustom NV4x (only 11th Gen (Tiger Lake)),
70-
* NovaCustom NS5x/7x (only 11th Gen (Tiger Lake)),
71-
* ODROID-H4+.
71+
- ASUS KGPE-D16,
72+
- Dell OptiPlex 7010/9010,
73+
- MSI PRO Z690-A DDR4,
74+
- MSI PRO Z690-A DDR5,
75+
- MSI PRO Z790-P DDR4,
76+
- MSI PRO Z790-P DDR5,
77+
- NovaCustom NV4x (only 11th Gen (Tiger Lake)),
78+
- NovaCustom NS5x/7x (only 11th Gen (Tiger Lake)),
79+
- ODROID-H4+.
7280

7381
And partially (only EC firmware flashing) on:
7482

75-
* NovaCustom V540TU/TNx,
76-
* NovaCustom V560TU/TNx.
83+
- NovaCustom V540TU/TNx,
84+
- NovaCustom V560TU/TNx.
7785

7886
## HCL Report
7987

@@ -185,11 +193,11 @@ contribute information about your hardware configuration.
185193

186194
Please consider the following options depending on your situation:
187195

188-
* **YES** - If you decide to contribute, you can always [get back to
196+
- **YES** - If you decide to contribute, you can always [get back to
189197
us](https://www.dasharo.com/pages/contact/) and ask about BIOS backup, which
190198
we will provide after simple verification that you are the owner of the
191199
hardware.
192-
* **NO (default)** - If you decide to not contribute, your situation depends on
200+
- **NO (default)** - If you decide to not contribute, your situation depends on
193201
the boot method you used to execute DTS:
194202
+ **Network Boot** - please note that Dasharo booted over iPXE assumes no
195203
storage available, so the report, and your BIOS backup are stored in
@@ -412,7 +420,7 @@ firmware.
412420
DTS allows to update open-source Embedded Controller firmware to the newer
413421
version. This is how we can achieve that.
414422
415-
* Retrieve information about your current EC.
423+
- Retrieve information about your current EC.
416424
417425
```bash
418426
dasharo_ectool info
@@ -426,10 +434,10 @@ version. This is how we can achieve that.
426434
version: 2022-08-16_c12ff1a
427435
```
428436
429-
* Download the newest version of Embedded Controller firmware.
430-
* Plug in power supply, without it, flashing EC is not possible as losing power
437+
- Download the newest version of Embedded Controller firmware.
438+
- Plug in power supply, without it, flashing EC is not possible as losing power
431439
may cause in damaged firmware.
432-
* Flash Embedded Controller firmware internally.
440+
- Flash Embedded Controller firmware internally.
433441
434442
```bash
435443
dasharo_ectool flash ec_file.rom
@@ -457,10 +465,10 @@ version. This is how we can achieve that.
457465
458466
> Note: this is example output, versions may differ
459467
460-
* Computer will shut down automatically.
461-
* Power on your computer. Booting process may take a while.
462-
* After boot, choose option `S` to drop to Shell.
463-
* Retrieve information about your updated EC.
468+
- Computer will shut down automatically.
469+
- Power on your computer. Booting process may take a while.
470+
- After boot, choose option `S` to drop to Shell.
471+
- Retrieve information about your updated EC.
464472
465473
```bash
466474
dasharo_ectool info
@@ -474,6 +482,40 @@ version. This is how we can achieve that.
474482
version: 2022-08-31_cbff21b
475483
```
476484
485+
## Fusing the device vendor keys
486+
487+
DTS can be used to fuse the device vendor keys onto the SoC to enable
488+
the Dasharo TrustRoot feature.
489+
490+
!!! warning
491+
492+
This operation is irreversible and can seriously hinder the devices
493+
usability for the sake of security. Make sure you understand the
494+
consequences before continuing.
495+
Refer to [Glossary / Dasharo TrustRoot](../../glossary.md#dasharo-trustroot)
496+
for more details.
497+
498+
The decision to fuse the keys requires the user to explicitly opt-in.
499+
Updating the firmware will never fuse the device on its own.
500+
501+
To perform fusing procedure:
502+
503+
1. Make sure a power supply is connected to the device if it is battery powered
504+
2. Make sure the device has Dasharo firmware and the support for Dasharo
505+
TrustRoot.
506+
3. Boot Dasharo Tools Suite and choose the option `7) Fuse platform`.
507+
![DTS Choosing the option to fuse the device](../images/dts-fusing-1.png)
508+
1. If you are not using the newest Dasharo version available, you will be
509+
prompted to update Dasharo first. Proceed with [Firmware Update](#firmware-update)
510+
and try again.
511+
4. You will be prompted to confirm that you want to fuse the device. Select `y`
512+
to continue or `n` to cancel.
513+
5. From now on the rest of the procedure will look like a normal firmware update.
514+
You will be asked to verify the device model and the firmware version about
515+
to be installed along the fusing procedure.
516+
6. After everything is done, your device will reboot.
517+
![DTS All the confirmations for fusing the device](../images/dts-fusing-2.png)
518+
477519
## Verify Intel Boot Guard key
478520
479521
It's possible to verify which keys currently running firmware is signed with:
@@ -506,11 +548,11 @@ You can use the
506548
[local-ipxe-server.sh](https://github.com/Dasharo/meta-dts/blob/main/scripts/local-ipxe-server.sh)
507549
script for that. What it does is:
508550
509-
* automatically download the latest version of DTS artifacts needed for iPXE
551+
- automatically download the latest version of DTS artifacts needed for iPXE
510552
boot,
511-
* creates a `dts.ipxe` bootchain file, which will boot DTS and also run your
553+
- creates a `dts.ipxe` bootchain file, which will boot DTS and also run your
512554
custom script,
513-
* creates a simple, python-based HTTP server, from which you will be able to
555+
- creates a simple, python-based HTTP server, from which you will be able to
514556
boot DTS.
515557
516558
> Note: This functionality is available from version 1.2.19.
88 KB
Loading
83.6 KB
Loading

docs/guides/cpu-fusing.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Dasharo TrustRoot - Fusing vendor keys to the CPU
2+
3+
In order to take use of the Dasharo TrustRoot feature on supported Devices,
4+
the device vendor key hashes need to be physically burned into the SoC.
5+
6+
This document describes the steps for fusing vendor keys into your device.
7+
For more details check [Glossary / Dasharo TrustRoot](../glossary.md#dasharo-trustroot)
8+
9+
!!! warning
10+
11+
Fusing device vendor keys is a feature targeted for advanced security
12+
freaks. This operation permanently modifies your CPU. Reverting it
13+
is only possible by replacing the CPU in the device.
14+
Fusing vendor keys onto your CPU makes it impossible to:
15+
16+
- Use custom firmware not authorized by the vendor
17+
- Update the firmware to a custom one if the support for your device ends
18+
19+
Be careful and make sure you understand the consequences before
20+
proceeding with fusing your device.
21+
22+
## Fusing the device vendor keys using Dasharo Tools Suite
23+
24+
It's the recommended way of fusing your device. For details refer
25+
to [Dasharo Tools Suite documentation](../dasharo-tools-suite/documentation/features.md#fusing-the-device-vendor-keys)
26+
27+
## Fusing the device using an EOM capsule (ADVANCED!)
28+
29+
!!! warning
30+
31+
This method does not include any confirmations and guards from fusing the
32+
device by a mistake. It is __NOT RECOMMENDED__ to perform the fusing
33+
using a manual capsule update described here. Please consider doing it
34+
[using DTS](#fusing-the-device-vendor-keys-using-dasharo-tools-suite)
35+
instead.
36+
37+
1. Locate the EOM capsule file of the desired Dasharo version. EOM firmware is
38+
marked with `.eom` suffix, like `novacustom_v56x_mtl_igpu_v1.0.0_btg_provisioned.cap.eom`.
39+
Make sure the firmware version is equal or higher than the currently used.
40+
2. Boot Dasharo Tools Suite. On how to, refer to [Running DTS](../dasharo-tools-suite/documentation/running.md)
41+
3. Enter the shell by pressing the `S` key as instructed in the main screen.
42+
4. Get the capsule file onto the running DTS by any means: `wget`, `scp` etc.
43+
5. Run `cat <your_eom_capsule_file> > /dev/efi_capsule_loader` to load the capsule.
44+
6. Reboot the device to perform the capsule update and fuse the device in the process.

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,7 @@ nav:
457457
- 'Capsule updates': guides/capsule-update.md
458458
- 'Flashing custom firmware': guides/firmware-reflash.md
459459
- 'Firmware signing for vboot': guides/vboot-signing.md
460+
- 'Dasharo TrustRoot Fusing': guides/cpu-fusing.md
460461
- 'Dasharo Reviewers Guide': guides/dasharo-reviewers-guide.md
461462
- 'Verifying signatures': guides/signature-verification.md
462463
- 'Verifying reproducible builds': guides/reproducible-build-verification.md

0 commit comments

Comments
 (0)