Merge pull request #128933 from bobby285271/pr5

nixos/doc: convert "8.1. LUKS-Encrypted File Systems" to CommonMark

Changed files
+162 -79
nixos
+1 -1
nixos/doc/manual/configuration/file-systems.xml
···
"nofail" ];</literal>.
</para>
</note>
-
<xi:include href="luks-file-systems.xml" />
+
<xi:include href="../from_md/configuration/luks-file-systems.section.xml" />
<xi:include href="../from_md/configuration/sshfs-file-systems.section.xml" />
</chapter>
+77
nixos/doc/manual/configuration/luks-file-systems.section.md
···
+
# LUKS-Encrypted File Systems {#sec-luks-file-systems}
+
+
NixOS supports file systems that are encrypted using *LUKS* (Linux
+
Unified Key Setup). For example, here is how you create an encrypted
+
Ext4 file system on the device
+
`/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d`:
+
+
```ShellSession
+
# cryptsetup luksFormat /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d
+
+
WARNING!
+
========
+
This will overwrite data on /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d irrevocably.
+
+
Are you sure? (Type uppercase yes): YES
+
Enter LUKS passphrase: ***
+
Verify passphrase: ***
+
+
# cryptsetup luksOpen /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d crypted
+
Enter passphrase for /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d: ***
+
+
# mkfs.ext4 /dev/mapper/crypted
+
```
+
+
The LUKS volume should be automatically picked up by
+
`nixos-generate-config`, but you might want to verify that your
+
`hardware-configuration.nix` looks correct. To manually ensure that the
+
system is automatically mounted at boot time as `/`, add the following
+
to `configuration.nix`:
+
+
```nix
+
boot.initrd.luks.devices.crypted.device = "/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d";
+
fileSystems."/".device = "/dev/mapper/crypted";
+
```
+
+
Should grub be used as bootloader, and `/boot` is located on an
+
encrypted partition, it is necessary to add the following grub option:
+
+
```nix
+
boot.loader.grub.enableCryptodisk = true;
+
```
+
+
## FIDO2 {#sec-luks-file-systems-fido2}
+
+
NixOS also supports unlocking your LUKS-Encrypted file system using a
+
FIDO2 compatible token. In the following example, we will create a new
+
FIDO2 credential and add it as a new key to our existing device
+
`/dev/sda2`:
+
+
```ShellSession
+
# export FIDO2_LABEL="/dev/sda2 @ $HOSTNAME"
+
# fido2luks credential "$FIDO2_LABEL"
+
f1d00200108b9d6e849a8b388da457688e3dd653b4e53770012d8f28e5d3b269865038c346802f36f3da7278b13ad6a3bb6a1452e24ebeeaa24ba40eef559b1b287d2a2f80b7
+
+
# fido2luks -i add-key /dev/sda2 f1d00200108b9d6e849a8b388da457688e3dd653b4e53770012d8f28e5d3b269865038c346802f36f3da7278b13ad6a3bb6a1452e24ebeeaa24ba40eef559b1b287d2a2f80b7
+
Password:
+
Password (again):
+
Old password:
+
Old password (again):
+
Added to key to device /dev/sda2, slot: 2
+
```
+
+
To ensure that this file system is decrypted using the FIDO2 compatible
+
key, add the following to `configuration.nix`:
+
+
```nix
+
boot.initrd.luks.fido2Support = true;
+
boot.initrd.luks.devices."/dev/sda2".fido2.credential = "f1d00200108b9d6e849a8b388da457688e3dd653b4e53770012d8f28e5d3b269865038c346802f36f3da7278b13ad6a3bb6a1452e24ebeeaa24ba40eef559b1b287d2a2f80b7";
+
```
+
+
You can also use the FIDO2 passwordless setup, but for security reasons,
+
you might want to enable it only when your device is PIN protected, such
+
as [Trezor](https://trezor.io/).
+
+
```nix
+
boot.initrd.luks.devices."/dev/sda2".fido2.passwordLess = true;
+
```
-78
nixos/doc/manual/configuration/luks-file-systems.xml
···
-
<section xmlns="http://docbook.org/ns/docbook"
-
xmlns:xlink="http://www.w3.org/1999/xlink"
-
xmlns:xi="http://www.w3.org/2001/XInclude"
-
version="5.0"
-
xml:id="sec-luks-file-systems">
-
<title>LUKS-Encrypted File Systems</title>
-
-
<para>
-
NixOS supports file systems that are encrypted using
-
<emphasis>LUKS</emphasis> (Linux Unified Key Setup). For example, here is how
-
you create an encrypted Ext4 file system on the device
-
<filename>/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d</filename>:
-
<screen>
-
<prompt># </prompt>cryptsetup luksFormat <replaceable>/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d</replaceable>
-
-
WARNING!
-
========
-
This will overwrite data on /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d irrevocably.
-
-
Are you sure? (Type uppercase yes): YES
-
Enter LUKS passphrase: ***
-
Verify passphrase: ***
-
-
<prompt># </prompt>cryptsetup luksOpen <replaceable>/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d</replaceable> <replaceable>crypted</replaceable>
-
Enter passphrase for /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d: ***
-
-
<prompt># </prompt>mkfs.ext4 /dev/mapper/<replaceable>crypted</replaceable>
-
</screen>
-
The LUKS volume should be automatically picked up by
-
<command>nixos-generate-config</command>, but you might want to verify that your
-
<filename>hardware-configuration.nix</filename> looks correct.
-
-
To manually ensure that the system is automatically mounted at boot time as
-
<filename>/</filename>, add the following to
-
<filename>configuration.nix</filename>:
-
<programlisting>
-
<link linkend="opt-boot.initrd.luks.devices._name_.device">boot.initrd.luks.devices.crypted.device</link> = "<replaceable>/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d</replaceable>";
-
<xref linkend="opt-fileSystems"/>."/".device = "/dev/mapper/<replaceable>crypted</replaceable>";
-
</programlisting>
-
Should grub be used as bootloader, and <filename>/boot</filename> is located
-
on an encrypted partition, it is necessary to add the following grub option:
-
<programlisting><xref linkend="opt-boot.loader.grub.enableCryptodisk"/> = true;</programlisting>
-
</para>
-
<section xml:id="sec-luks-file-systems-fido2">
-
<title>FIDO2</title>
-
-
<para>
-
NixOS also supports unlocking your LUKS-Encrypted file system using a FIDO2 compatible token. In the following example, we will create a new FIDO2 credential
-
and add it as a new key to our existing device <filename>/dev/sda2</filename>:
-
-
<screen>
-
<prompt># </prompt>export FIDO2_LABEL="<replaceable>/dev/sda2</replaceable> @ $HOSTNAME"
-
<prompt># </prompt>fido2luks credential "$FIDO2_LABEL"
-
f1d00200108b9d6e849a8b388da457688e3dd653b4e53770012d8f28e5d3b269865038c346802f36f3da7278b13ad6a3bb6a1452e24ebeeaa24ba40eef559b1b287d2a2f80b7
-
-
<prompt># </prompt>fido2luks -i add-key <replaceable>/dev/sda2</replaceable> <replaceable>f1d00200108b9d6e849a8b388da457688e3dd653b4e53770012d8f28e5d3b269865038c346802f36f3da7278b13ad6a3bb6a1452e24ebeeaa24ba40eef559b1b287d2a2f80b7</replaceable>
-
Password:
-
Password (again):
-
Old password:
-
Old password (again):
-
Added to key to device /dev/sda2, slot: 2
-
</screen>
-
-
To ensure that this file system is decrypted using the FIDO2 compatible key, add the following to <filename>configuration.nix</filename>:
-
<programlisting>
-
<link linkend="opt-boot.initrd.luks.fido2Support">boot.initrd.luks.fido2Support</link> = true;
-
<link linkend="opt-boot.initrd.luks.devices._name_.fido2.credential">boot.initrd.luks.devices."<replaceable>/dev/sda2</replaceable>".fido2.credential</link> = "<replaceable>f1d00200108b9d6e849a8b388da457688e3dd653b4e53770012d8f28e5d3b269865038c346802f36f3da7278b13ad6a3bb6a1452e24ebeeaa24ba40eef559b1b287d2a2f80b7</replaceable>";
-
</programlisting>
-
-
You can also use the FIDO2 passwordless setup, but for security reasons, you might want to enable it only when your device is PIN protected, such as <link xlink:href="https://trezor.io/">Trezor</link>.
-
-
<programlisting>
-
<link linkend="opt-boot.initrd.luks.devices._name_.fido2.passwordLess">boot.initrd.luks.devices."<replaceable>/dev/sda2</replaceable>".fido2.passwordLess</link> = true;
-
</programlisting>
-
</para>
-
</section>
-
-
</section>
+84
nixos/doc/manual/from_md/configuration/luks-file-systems.section.xml
···
+
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-luks-file-systems">
+
<title>LUKS-Encrypted File Systems</title>
+
<para>
+
NixOS supports file systems that are encrypted using
+
<emphasis>LUKS</emphasis> (Linux Unified Key Setup). For example,
+
here is how you create an encrypted Ext4 file system on the device
+
<literal>/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d</literal>:
+
</para>
+
<programlisting>
+
# cryptsetup luksFormat /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d
+
+
WARNING!
+
========
+
This will overwrite data on /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d irrevocably.
+
+
Are you sure? (Type uppercase yes): YES
+
Enter LUKS passphrase: ***
+
Verify passphrase: ***
+
+
# cryptsetup luksOpen /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d crypted
+
Enter passphrase for /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d: ***
+
+
# mkfs.ext4 /dev/mapper/crypted
+
</programlisting>
+
<para>
+
The LUKS volume should be automatically picked up by
+
<literal>nixos-generate-config</literal>, but you might want to
+
verify that your <literal>hardware-configuration.nix</literal> looks
+
correct. To manually ensure that the system is automatically mounted
+
at boot time as <literal>/</literal>, add the following to
+
<literal>configuration.nix</literal>:
+
</para>
+
<programlisting language="bash">
+
boot.initrd.luks.devices.crypted.device = &quot;/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d&quot;;
+
fileSystems.&quot;/&quot;.device = &quot;/dev/mapper/crypted&quot;;
+
</programlisting>
+
<para>
+
Should grub be used as bootloader, and <literal>/boot</literal> is
+
located on an encrypted partition, it is necessary to add the
+
following grub option:
+
</para>
+
<programlisting language="bash">
+
boot.loader.grub.enableCryptodisk = true;
+
</programlisting>
+
<section xml:id="sec-luks-file-systems-fido2">
+
<title>FIDO2</title>
+
<para>
+
NixOS also supports unlocking your LUKS-Encrypted file system
+
using a FIDO2 compatible token. In the following example, we will
+
create a new FIDO2 credential and add it as a new key to our
+
existing device <literal>/dev/sda2</literal>:
+
</para>
+
<programlisting>
+
# export FIDO2_LABEL=&quot;/dev/sda2 @ $HOSTNAME&quot;
+
# fido2luks credential &quot;$FIDO2_LABEL&quot;
+
f1d00200108b9d6e849a8b388da457688e3dd653b4e53770012d8f28e5d3b269865038c346802f36f3da7278b13ad6a3bb6a1452e24ebeeaa24ba40eef559b1b287d2a2f80b7
+
+
# fido2luks -i add-key /dev/sda2 f1d00200108b9d6e849a8b388da457688e3dd653b4e53770012d8f28e5d3b269865038c346802f36f3da7278b13ad6a3bb6a1452e24ebeeaa24ba40eef559b1b287d2a2f80b7
+
Password:
+
Password (again):
+
Old password:
+
Old password (again):
+
Added to key to device /dev/sda2, slot: 2
+
</programlisting>
+
<para>
+
To ensure that this file system is decrypted using the FIDO2
+
compatible key, add the following to
+
<literal>configuration.nix</literal>:
+
</para>
+
<programlisting language="bash">
+
boot.initrd.luks.fido2Support = true;
+
boot.initrd.luks.devices.&quot;/dev/sda2&quot;.fido2.credential = &quot;f1d00200108b9d6e849a8b388da457688e3dd653b4e53770012d8f28e5d3b269865038c346802f36f3da7278b13ad6a3bb6a1452e24ebeeaa24ba40eef559b1b287d2a2f80b7&quot;;
+
</programlisting>
+
<para>
+
You can also use the FIDO2 passwordless setup, but for security
+
reasons, you might want to enable it only when your device is PIN
+
protected, such as
+
<link xlink:href="https://trezor.io/">Trezor</link>.
+
</para>
+
<programlisting language="bash">
+
boot.initrd.luks.devices.&quot;/dev/sda2&quot;.fido2.passwordLess = true;
+
</programlisting>
+
</section>
+
</section>