~ubuntu-branches/ubuntu/saucy/lvm2/saucy-proposed

« back to all changes in this revision

Viewing changes to doc/kernel/crypt.txt

  • Committer: Package Import Robot
  • Author(s): Dmitrijs Ledkovs
  • Date: 2012-08-14 14:35:57 UTC
  • mfrom: (3.1.25 sid)
  • Revision ID: package-import@ubuntu.com-20120814143557-93aill2tp3kf3o30
Tags: 2.02.95-4ubuntu1
* Merge from Debian unstable, remaining changes:
  - debian/patches/avoid-dev-block.patch: Prefer any other device name over
    names in /dev/block/ since lvm.conf won't handle this.
  - debian/rules:
    - copy .po file to .pot file for Rosetta (Ubuntu specific).
  - debian/{dmsetup,lvm2}-udeb.install:
    - install initramfs and udev hooks in udebs (Debian bug 504341).
  - auto-start VGs as their PVs are discovered (Ubuntu specific):
    - add debian/tree/lvm2/lib/udev/rules.d/85-lvm2.rules: use watershed plus
      the sledgehammer of vgscan/vgchange to turn on VGs as they come online.
    - debian/tree/lvm2/usr/share/initramfs-tools/scripts/hooks/lvm2:
      - add 85-lvm2.rules to the list of udev rules to copy.
      - depend on udev.
    - debian/control:
      - add versioned Depend on watershed in lvm2 for udev rules.
      - add Depends on watershed-udeb in lvm2-udeb for udev rules.
      - add versioned Depend/Breaks on udev in dmsetup for udev rules.
      - add Depend on initramfs-tools in dmsetup so system is not potentially
        rendered unbootable by out-of-order dpkg configuration.
    - debian/rules:
      - do not install local-top scripts since Ubuntu mounts root using udev.
      - do not install init scripts for lvm2, since udev starts LVM.
    - debian/lvm2.postinst: handle missing lvm2 init script.
    - debian/tree/dmsetup/lib/udev/rules.d/60-persistent-storage-dm.rules:
      watch dm devices for changes with inotify
  - add mountroot failure hooks to help fix bad boots (Debian bug 468115):
    - debian/tree/lvm2/usr/share/initramfs-tools/scripts/init-premount/lvm2
  - remaining changes to upstream event manager packages (Debian bug 514706):
    - debian/rules:
      - enable dmeventd during configure.
    - debian/dmeventd.{8,manpages}: install dmeventd files.
  - rename debian/clvm.defaults to debian/clvm.default so it is installed
    correctly.
  - debian/control: add dmsetup-udeb to libdevmapper1.02.1-udeb recommends.
  - debian/rules: make sure dmsetup and lvm2 initramfs-tools scripts are
    executable.  When the Ubuntu-specific ones are added with a patch,
    they may lose their executable bit.
  - Add and install clvmd resource agent
  - Add dependency on libudev-dev to libdevmapper-dev so that the .pc file
    works.
  - debian/{clvmd.ra,clvm.init}:
    - create /run/lvm if it doesn't exist.
  - debian/clvm.init:
    - exit 3 if not running on status action.
  - Call dh_installman so that our dmeventd manpage actually gets installed
  - Install the missing fsadm manpage.

 * libdevmapper-dev:
  - move .so symlinks and pkgconfig files to multiarched locations.
  - mark libdevmapper-dev M-A: same

 * libdevmapper-event1.02.1:
  - Add Breaks: dmeventd (<< 2.02.95-4ubuntu1) due to debian symbol rename

 * debian/lvm2.{preinst,postinst,postrm}:
  - Implement removal of obsolete /etc/init.d/lvm2 conffile, which
    should not have been re-introduced in Quantal.

 * Dropped Changes, included in Debian:
  - Mostly included packages for upstream event manager (Debian bug 514706).
  - debian/patches/rules-subdir.patch: removed as reordering will cause
    build failure with dmeventd.
  - debian/patches/libdm-event-static.patch: removed as other static libs
    aren't being built anymore either.
  - Update symbols for libdevmapper-event.
  - Update libdevmapper-event, dmeventd descriptions to match Debian
    boilerplate.

 * Disappeared Changes:
  - Don't install documentation in udebs. No diff found, but no docs are
    installed into udebs either.

 * Resurected Changes:
  - corrected dropping the wrong init script. Now clvm.init is shipped
    and lvm2.init is dropped in favor of udev rules as per original
    intention (LP: #1037033).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
dm-crypt
 
2
=========
 
3
 
 
4
Device-Mapper's "crypt" target provides transparent encryption of block devices
 
5
using the kernel crypto API.
 
6
 
 
7
Parameters: <cipher> <key> <iv_offset> <device path> \
 
8
              <offset> [<#opt_params> <opt_params>]
 
9
 
 
10
<cipher>
 
11
    Encryption cipher and an optional IV generation mode.
 
12
    (In format cipher[:keycount]-chainmode-ivopts:ivmode).
 
13
    Examples:
 
14
       des
 
15
       aes-cbc-essiv:sha256
 
16
       twofish-ecb
 
17
 
 
18
    /proc/crypto contains supported crypto modes
 
19
 
 
20
<key>
 
21
    Key used for encryption. It is encoded as a hexadecimal number.
 
22
    You can only use key sizes that are valid for the selected cipher.
 
23
 
 
24
<keycount>
 
25
    Multi-key compatibility mode. You can define <keycount> keys and
 
26
    then sectors are encrypted according to their offsets (sector 0 uses key0;
 
27
    sector 1 uses key1 etc.).  <keycount> must be a power of two.
 
28
 
 
29
<iv_offset>
 
30
    The IV offset is a sector count that is added to the sector number
 
31
    before creating the IV.
 
32
 
 
33
<device path>
 
34
    This is the device that is going to be used as backend and contains the
 
35
    encrypted data.  You can specify it as a path like /dev/xxx or a device
 
36
    number <major>:<minor>.
 
37
 
 
38
<offset>
 
39
    Starting sector within the device where the encrypted data begins.
 
40
 
 
41
<#opt_params>
 
42
    Number of optional parameters. If there are no optional parameters,
 
43
    the optional paramaters section can be skipped or #opt_params can be zero.
 
44
    Otherwise #opt_params is the number of following arguments.
 
45
 
 
46
    Example of optional parameters section:
 
47
        1 allow_discards
 
48
 
 
49
allow_discards
 
50
    Block discard requests (a.k.a. TRIM) are passed through the crypt device.
 
51
    The default is to ignore discard requests.
 
52
 
 
53
    WARNING: Assess the specific security risks carefully before enabling this
 
54
    option.  For example, allowing discards on encrypted devices may lead to
 
55
    the leak of information about the ciphertext device (filesystem type,
 
56
    used space etc.) if the discarded blocks can be located easily on the
 
57
    device later.
 
58
 
 
59
Example scripts
 
60
===============
 
61
LUKS (Linux Unified Key Setup) is now the preferred way to set up disk
 
62
encryption with dm-crypt using the 'cryptsetup' utility, see
 
63
http://code.google.com/p/cryptsetup/
 
64
 
 
65
[[
 
66
#!/bin/sh
 
67
# Create a crypt device using dmsetup
 
68
dmsetup create crypt1 --table "0 `blockdev --getsize $1` crypt aes-cbc-essiv:sha256 babebabebabebabebabebabebabebabe 0 $1 0"
 
69
]]
 
70
 
 
71
[[
 
72
#!/bin/sh
 
73
# Create a crypt device using cryptsetup and LUKS header with default cipher
 
74
cryptsetup luksFormat $1
 
75
cryptsetup luksOpen $1 crypt1
 
76
]]