~ruther/guix-local

6d6e628119a043b3d8dd309d3e6d5a35bcd37618 — Ludovic Courtès 10 years ago b8d2eda
doc: Give an example with an encrypted root partition.

* gnu/system/examples/desktop.tmpl: Add 'mapped-devices' field.
  Use it in 'file-systems'.
* doc/guix.texi (System Installation): Suggest encrypted partitions.
  Give an example of a command sequence.
2 files changed, 22 insertions(+), 4 deletions(-)

M doc/guix.texi
M gnu/system/examples/desktop.tmpl
M doc/guix.texi => doc/guix.texi +12 -2
@@ 5237,14 5237,24 @@ Setting up network access is almost always a requirement because the
image does not contain all the software and tools that may be needed.

@item
Unless this has already been done, you must partition and format the
target partitions.
Unless this has already been done, you must partition, optionally
encrypt, and then format the target partitions.

Preferably, assign partitions a label so that you can easily and
reliably refer to them in @code{file-system} declarations (@pxref{File
Systems}).  This is typically done using the @code{-L} option of
@command{mkfs.ext4} and related commands.

A typical command sequence may be:

@example
# fdisk /dev/sdX
@dots{} Create partitions etc.@dots{}
# cryptsetup luksFormat /dev/sdX1
# cryptsetup open --type luks /dev/sdX1 my-partition
# mkfs.ext4 -L my-root /dev/mapper/my-partition
@end example

The installation image includes Parted (@pxref{Overview,,, parted, GNU
Parted User Manual}), @command{fdisk}, Cryptsetup/LUKS for disk
encryption, and e2fsprogs, the suite of tools to manipulate

M gnu/system/examples/desktop.tmpl => gnu/system/examples/desktop.tmpl +10 -2
@@ 13,9 13,17 @@
  ;; Assuming /dev/sdX is the target hard disk, and "root" is
  ;; the label of the target root file system.
  (bootloader (grub-configuration (device "/dev/sdX")))

  ;; Here we assume that /dev/sdX1 contains a LUKS-encrypted
  ;; root partition created with 'cryptsetup luksFormat'.
  (mapped-devices (list (mapped-device
                          (source "/dev/sdX1")
                          (target "root-partition")
                          (type luks-device-mapping))))

  ;; Mount said encrypted partition.
  (file-systems (cons (file-system
                        (device "root")
                        (title 'label)
                        (device "/dev/mapper/root-partition")
                        (mount-point "/")
                        (type "ext4"))
                      %base-file-systems))