Skip to content

Commit 4aa1179

Browse files
committed
Updates install instructions for UEFI AEM
1 parent d2e034f commit 4aa1179

File tree

1 file changed

+40
-34
lines changed

1 file changed

+40
-34
lines changed

docs/user-docs/install_aem.md

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Installing TrenchBoot AEM in Qubes OS
22

3-
This document shows how to install Anti Evil Maid from packages produced by
4-
3mdeb as part of [TrenchBoot as Anti Evil Maid project](https://docs.dasharo.com/projects/trenchboot-aem-v2/).
5-
If you wish to build the components yourself, please refer to documentation for
6-
developers instead.
3+
This document shows how to install Anti Evil Maid from packages produced by 3mdeb
4+
as part of [TrenchBoot as Anti Evil Maid project](https://docs.dasharo.com/projects/trenchboot-aem-v2/).
5+
If you wish to build the components yourself, please refer to documentation for developers instead.
76

8-
## Installation
7+
Before you begin, it would save installation time by clearing the TPM of your device before proceeding, otherwise you will need
8+
to reboot your computer at [the provisioning](##Provisioning) step below. Remember: enable Intel TXT after resetting your TPM.
99

10-
To install, you have to first add a new repository and import a public part of
11-
a key that was used to sign RPM packages.
10+
To install TrenchBoot AME you will need to add a new repository, import a public part of
11+
a key that was used to sign RPM packages, download and install the appropriate packages, configure a new `.bin` file in the `/boot/` directory and then configure AEM. The entire process should take roughly 20 minutes to complete.
1212

1313
### Adding AEM repository
1414

@@ -24,7 +24,7 @@ gpgkey = https://dl.3mdeb.com/rpm/QubesOS/r4.2/current/dom0/fc37/RPM-GPG-KEY-tb-
2424
enabled = 1
2525
```
2626

27-
The key specified in the file must be downloaded and imported to RPM:
27+
The specified key must be downloaded and imported to RPM:
2828

2929
```bash
3030
qvm-run --pass-io sys-net \
@@ -33,16 +33,16 @@ qvm-run --pass-io sys-net \
3333
sudo rpm --import RPM-GPG-KEY-tb-aem
3434
```
3535

36-
Now it should be possible to download and install packages from AEM repository.
37-
3836
### Intel systems dependencies
3937

40-
If your device has an Intel CPU, download [official package from Intel](https://cdrdv2.intel.com/v1/dl/getContent/630744)
41-
and extract ACM appropriate for your platform to `/boot/`.
38+
If your device has an Intel CPU, download [the official package from Intel](https://cdrdv2.intel.com/v1/dl/getContent/630744).
39+
Select the correct ACM .bin corresponding to your CPU (using the .PDF included in the zip as a guide) and move the `.bin` into the dom0 `/boot/` directory
4240

43-
### Installing prerequisite packages
41+
Helpful commands:
42+
`unzip <zip.acrhive.name>`- to unzip the Intel .zip archive.
43+
`mv <ACM.bin> /boot/` - to move the correct ACM to `/boot`.
4444

45-
#### Qubes repository dependencies
45+
### Installing prerequisite packages
4646

4747
Start by installing prerequisite packages. Those are not part of newly added
4848
repository, but `qubes-dom0-current-testing`:
@@ -59,7 +59,7 @@ sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing \
5959

6060
#### Prepare a list of AEM packages
6161

62-
For convenience, the packages can be saved to an environment variable:
62+
For convenience, the packages can be saved to an environment variable, by simply typing into the dom0 terminal, or copying a text file from a disposable qube:
6363

6464
```shell
6565
packages=(
@@ -112,14 +112,17 @@ packages+=(
112112
#### Installing
113113

114114
Install the packages (first command reinstalls existing packages in case the
115-
same version numbers exist on official Qubes repositories, second one only
116-
adds new packages):
115+
same version numbers exist in official Qubes repositories, second one only
116+
adds new packages). If the first command fails, it means that there are no conflicting packages with the same version number in official Qubes repositories:
117117

118118
```shell
119-
qubes-dom0-update --disablerepo="*" --enablerepo=aem --action=reinstall -y ${packages[@]}
120-
qubes-dom0-update --disablerepo="*" --enablerepo=aem --action=install -y ${packages[@]}
119+
sudo qubes-dom0-update --disablerepo="*" --enablerepo=aem --action=reinstall -y ${packages[@]}
120+
sudo qubes-dom0-update --disablerepo="*" --enablerepo=aem --action=install -y ${packages[@]}
121121
```
122122

123+
At this point, if you are installing on an UEFI system, you may skip to [Installing main AEM package](###Installing-main-AEM-package)
124+
125+
123126
#### Updating GRUB on legacy systems
124127

125128
Booting on legacy systems requires manual installation of GRUB2 to the MBR
@@ -194,28 +197,30 @@ sudo qubes-dom0-update --disablerepo="*" --enablerepo=aem \
194197

195198
## Provisioning
196199

197-
All packages are in place. Before we can proceed with provisioning AEM, the TPM
198-
must be cleared in the BIOS. Some platforms may require disabling Intel Trusted
199-
Execution Technology (TXT) in order to clear TPM. After you clear the TPM,
200-
remember to enable Intel TXT back, otherwise AEM will not work. Once TPM is
201-
cleared, perform the TPM setup:
200+
All packages are now installed.
201+
202+
Before we can proceed with provisioning AEM, the TPM must be cleared in the BIOS (i.e. TPM Authentication Reset). Some platforms may require disabling Intel Trusted
203+
Execution Technology (TXT) in order to clear the TPM.
204+
205+
If you failed to clear the TPM as noted at the beginning of the guide, you will be shown a message like this:
206+
207+
![](../img/qubes_aem_setup_fail.png)
208+
209+
In that case, try clearing the TPM in your BIOS and run the command again. After you clear the TPM, remember to enable Intel TXT back, otherwise AEM will not work.
210+
211+
Once the TPM is cleared, perform the TPM setup:
202212

203213
```bash
204214
sudo anti-evil-maid-tpm-setup
205215
```
206216

207217
![](../img/qubes_aem_setup.png)
208218

209-
You will be prompted to set the SRK password, it is a password to access TPM’s
210-
nonvolatile storage where the AEM secrets will be sealed. If you failed to
211-
clear the TPM, you will be shown a message like this:
219+
You will be prompted to set the SRK password. The SRK password enables access the TPM’s
220+
nonvolatile storage where the AEM secrets will be sealed.
212221

213-
![](../img/qubes_aem_setup_fail.png)
214-
215-
In that case, try clearing the TPM in your BIOS and run the command again.
216-
217-
Now all that's left is proper installation of AEM. There are different options,
218-
refer to `anti-evil-maid-install -h` for examples. In the simplest case, AEM is
222+
Now all that's left is proper installation of AEM. (Note: There are different options,
223+
refer to `anti-evil-maid-install -h` for examples.) In the simplest case, AEM is
219224
installed on boot partition (not disk, i.e. `sda1` instead of `sda` etc.) of
220225
Qubes OS. Run this command to find out where your boot partition is installed:
221226
@@ -234,11 +239,12 @@ sudo anti-evil-maid-install /dev/sda1
234239
235240
After that, reboot the platform. On first boot you will be asked for the SRK
236241
password, followed by another question for disk encryption password, after which
237-
a screen mentioning absent secret file will be shown:
242+
a screen mentioning an absent secret file will be shown:
238243
239244
![](../img/qubes_aem_1st_boot.png)
240245
241246
This is expected on the first boot after installation or an update to one or
242247
more of measured components (GRUB, Xen, dom0 kernel and initramfs).
248+
243249
After rebooting for the second time, the Anti Evil Maid should be up
244250
and running.

0 commit comments

Comments
 (0)