Установка Arch на диск, шифрованный с помощью LUKS


Посидев немножко на LMDE, опытным путем проб и ошибок я пришел к выводу, что LMDE - не 
вполне удовлетворяет мои интересы. Пакеты не особо новые, обновляется не очень часто, 
GNOME3 - слишком тяжел для моего ноута. Сейчас, когда вместо GNOME3 там появился MATE - 
дела может быть и улучшились, но я уже перелез на Arch. С арчем я проделал уже достаточно 
много фокусов, а сейчас хотел бы поделиться опытом шифрования. Сложного ничего нет - 
главное соблюдать правильную последовательность.

Загружаемся с CD или флешки, уничтожаем все данные на винте. Можно с помощью /dev/urandom, 
но есть гораздо более быстрый способ:

# badblocks -c 10240 -wsvt random /dev/sda

Потом разбиваем диск на два раздела - /boot и все остальное (потом там будет LVM).

# fdisk -u /dev/sda

Получилось sda1, sda2

Шифруем большой раздел:

# cryptsetup -c aes-xts-plain -s 512 luksFormat /dev/sda2
# cryptsetup luksOpen /dev/sda2 crypt

Создаем на нем LVM, в котором выделим 3 раздела - под систему, swap и /home

# lvm pvcreate /dev/mapper/crypt
# lvm vgcreate lvm /dev/mapper/crypt
# lvm lvcreate -L 10G -n root lvm
# lvm lvcreate -L 500M -n swap lvm
# lvm lvcreate -l 100%FREE -n home lvm

Теперь запускаем обычный установщик:

# /arch/setup

Там, где попросят сконфигурить диски - делаем это вручную:

Prepare Hard Drive
Manually Configure block devices, filesystems and mountpoints

Замечу, что в новых дистрибутивах Arch процедура установки изменилась - теперь нужно всё 
делать самому, понтировать всё в /mnt, а потом делать chroot. По мне - это удобно и 
правильно. Выглядит новая процедура примерно так (очень сокращенно):

# pacstrap /mnt base base-devel
# pacstrap /mnt grub-bios
# genfstab -p /mnt >> /mnt/etc/fstab
# arch-chroot /mnt
# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
# passwd
# mkinitcpio -p linux
# grub-mkconfig -o /boot/grub/grub.cfg
# grub-install /dev/sda
# exit
# umount...
# reboot

Вернемся к нашим баранам. В Arch до перезагрузки - нужно прописать главные конфигурационные 
файлы и поставить grub.

// rc.conf

USELVM="yes"
hostname="host"
interface=eth0

На ноуте я использую reiserfs - ноут тормозной, c reiserfs он шевелится ощутимо быстрее.

// mkinitcpio.conf

MODULES="reiserfs"
HOOKS="...sata encrypt lvm2 filesystems ..."

// locale.gen

us_US.UTF-8
ru_RU.UTF-8

В конфиге pacman'а я выключаю проверку пакетов (вообще-то это не правильно!), и включаю два 
дополнительных репозитория:

// pacman.conf

SigLivel = Never

[multilib]

[archlinux]
Server = http://repo.archlinux.fr/$arch

В настройках grub'а необходимо указать, что система у нас находится на шифрованном 
устройстве, да еще и на LVM:

// menu.lst

kernel /bmlinuz-linux cryptdevice=/dev/sda2:crypt root=/dev/mapper/lvm-root resume=/dev/mapper/lvm-swap ro

Вот пожалуй и всё. Нюансы, как всегда опущу - главное запомнить самое главное. Могу 
сказать, что еще некоторое время я потратил на то, чтобы система правильно засыпала и 
просыпалась, по-максимуму экономила заряд батареи и, по-возможности, не тормозила. Но это 
к установке уже не относится.