Skip to content

Commit bc5df69

Browse files
committed
run-your-node/rofl-node: Add instructions for Ubuntu 26.x
1 parent fc7f247 commit bc5df69

3 files changed

Lines changed: 23 additions & 56 deletions

File tree

docs/node/run-your-node/paratime-observer-node.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ prevent replay attacks.
105105
registration is necessary.
106106

107107
```yaml
108-
mode: client
108+
mode: observer
109109
# ... sections not relevant are omitted ...
110110
registration:
111111
entity_id: {{ entity_id }}

docs/node/run-your-node/prerequisites/set-up-tee.mdx

Lines changed: 21 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ To run SGX/TDX enclaves:
1515
1. your hardware must have SGX/TDX support,
1616
2. you must have the latest BIOS updates installed,
1717
3. you must have SGX/TDX enabled in your BIOS,
18-
4. you must have the Linux kernel, drivers and software components properly
18+
4. you must have the Linux kernel, drivers, and software components properly
1919
installed and running.
2020

2121
[Intel SGX]: https://www.intel.com/content/www/us/en/architecture-and-technology/software-guard-extensions.html
@@ -94,19 +94,20 @@ and look for the following line:
9494

9595
### DCAP Attestation
9696

97-
#### Ubuntu 22.04+
97+
#### Ubuntu 24.04+
9898

99-
A convenient way to install the AESM service on Ubuntu 22.04 systems
100-
is to use the Intel's [official Intel SGX APT repository](https://download.01.org/intel-sgx/sgx_repo/).
99+
A convenient way to install the AESM service on Ubuntu 24.04 and newer systems
100+
is to use the Intel's [official Intel SGX APT repository].
101101

102-
First add Intel SGX APT repository to your system:
102+
First, add the Intel SGX APT repository to your system:
103103

104104
```bash
105105
curl -fsSL https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo gpg --dearmor -o /usr/share/keyrings/intel-sgx-deb.gpg
106106
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/intel-sgx-deb.gpg] https://download.01.org/intel-sgx/sgx_repo/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/intel-sgx.list > /dev/null
107107
```
108108

109-
And then install the `sgx-aesm-service`, `libsgx-aesm-ecdsa-plugin`, `libsgx-aesm-quote-ex-plugin` and `libsgx-dcap-default-qpl` packages:
109+
Then install the `sgx-aesm-service`, `libsgx-aesm-ecdsa-plugin`,
110+
`libsgx-aesm-quote-ex-plugin` and `libsgx-dcap-default-qpl` packages:
110111

111112
```bash
112113
sudo apt update
@@ -119,6 +120,8 @@ The AESM service should be up and running. To confirm that, use:
119120
sudo systemctl status aesmd.service
120121
```
121122

123+
[official Intel SGX APT repository]: https://download.01.org/intel-sgx/sgx_repo/
124+
122125
#### Configuring the Quote Provider
123126

124127
The Intel Quote Provider (`libsgx-dcap-default-qpl`) needs to be configured in
@@ -194,7 +197,7 @@ Alternatively, an easy way to install and run the AESM service on a [Docker](htt
194197
system is to use [our AESM container image](https://github.com/oasisprotocol/oasis-core/pkgs/container/aesmd).
195198

196199
Executing the following command should (always) pull the latest version of our
197-
AESMD Docker container, map the SGX devices and `/var/run/aesmd` directory
200+
AESMD Docker container, map the SGX devices and `/var/run/aesmd` directory,
198201
and ensure AESM is running in the background (also automatically started on boot):
199202

200203
```bash
@@ -240,7 +243,7 @@ provisioning process uses UEFI variables to communicate with the BIOS. In
240243
addition the **SGX Auto MP Registration** BIOS configuration setting should be
241244
set to _enabled_.
242245

243-
##### Ubuntu 22.04+
246+
##### Ubuntu 24.04+
244247

245248
To provision and register your multi-socket system you need to install the Intel
246249
SGX Multi-Package Registration Agent Service as follows (assuming Intel's SGX
@@ -300,67 +303,31 @@ installation steps above and you have a working SGX environment**!
300303
### Host OS setup
301304

302305
The following section contains summarized instructions for setting up an
303-
environment for running ROFL node and other TDX services on Ubuntu 24.04 or
304-
later. Check out the official [Canonical TDX repository] for details.
305-
306-
[Canonical TDX repository]: https://github.com/canonical/tdx
306+
environment for running ROFL node and other TDX services on Ubuntu 26.04 or
307+
newer. Check out the official [Canonical TDX howto] for details.
307308

308-
1. Add the following TDX PPAs to your APT sources and the keyring:
309-
310-
```shell
311-
sudo add-apt-repository ppa:kobuk-team/tdx-release
312-
sudo add-apt-repository ppa:kobuk-team/tdx-attestation-release
313-
sudo apt update
314-
```
315-
2. Install the TDX quote generation service and QEMU for running
316-
guest virtual machines:
309+
1. Install the TDX quote generation service from the Intel's SGX APT
310+
repository and QEMU for running guest virtual machines:
317311

318312
```shell
319313
sudo apt install tdx-qgs qemu-utils qemu-system-x86
320314
```
321315

322-
3. Install a special TDX-enabled Linux kernel:
323-
324-
```shell
325-
sudo apt install linux-image-intel
326-
```
327-
328-
3. Disable ACPI S3 (add kernel parameter: `nohibernate`):
316+
2. Disable ACPI S3 and enable TDX (add kernel parameters:
317+
`nohibernate kvm_intel.tdx=1`):
329318

330319
```
331-
sed -i -E "s/GRUB_CMDLINE_LINUX=\"(.*)\"/GRUB_CMDLINE_LINUX=\"\1 nohibernate\"/g" /etc/default/grub
320+
sed -i -E "s/GRUB_CMDLINE_LINUX=\"(.*)\"/GRUB_CMDLINE_LINUX=\"\1nohibernate kvm_intel.tdx=1\"/g" /etc/default/grub
332321
update-grub
333322
```
334323

335-
4. Make sure the non-root user running Oasis-node is a member of `sgx`,
324+
3. Make sure the non-root user running Oasis-node is a member of `sgx`,
336325
`sgx_prv` and `kvm` groups on host (access to `/dev/sgx*`, `/dev/kvm*` and
337326
`/dev/*vsock*` devices).
338327

339-
5. Reboot your system and select the new `-intel` kernel.
328+
4. Reboot your system.
340329

341-
:::tip
342-
343-
If you don't have access to the grub selector during machine startup, you can
344-
also detect and set the correct default kernel by executing the script below
345-
with elevated privileges:
346-
347-
```bash
348-
export KERNEL_RELEASE=$(apt show "linux-image-intel" 2>&1 | gawk 'match($0, /Depends:.* linux-image-([^, ]+)/, a) {print a[1]}')
349-
if [ -z "${KERNEL_RELEASE}" ]; then
350-
echo "ERROR : unable to determine kernel release"
351-
exit 1
352-
fi
353-
MID=$(awk '/Advanced options for Ubuntu/{print $(NF-1)}' /boot/grub/grub.cfg | cut -d\' -f2)
354-
KID=$(awk "/with Linux $KERNEL_RELEASE/"'{print $(NF-1)}' /boot/grub/grub.cfg | cut -d\' -f2 | head -n1)
355-
cat > /etc/default/grub.d/99-tdx-kernel.cfg <<EOF
356-
GRUB_DEFAULT=saved
357-
GRUB_SAVEDEFAULT=true
358-
EOF
359-
grub-editenv /boot/grub/grubenv set saved_entry="${MID}>${KID}"
360-
update-grub
361-
```
362-
363-
:::
330+
[Canonical TDX howto]: https://ubuntu.com/server/docs/how-to/virtualisation/intel-tdx/
364331

365332
### Check TDX Setup
366333

docs/node/run-your-node/prerequisites/system-configuration.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ creation, you may need to allow them for Bubblewrap (the sandbox that Oasis Node
157157
using to execute runtimes).
158158

159159
<Tabs>
160-
<TabItem value="Ubuntu 24.04 and earlier">
160+
<TabItem value="Ubuntu 24.04">
161161

162162
You can add the following policy in `/etc/apparmor.d/bwrap`:
163163

0 commit comments

Comments
 (0)