Увы, но когда мне необходимо было сделать подобные действия, информации в интернете об этом не было.
Решение предлагается для такой конфигурации разделов:
Boot
CryptedLVM -> LVM -> root, home, swap
Итак, начнем:
1) Загружаемся с systemrescuecd (не стоит забывать про разрядность ядра)
2) Далее нужно подмонтировать все разделы
Посмотрим имеющиеся
root@sysresccd /root % parted /dev/sda -l
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 500MB 499MB primary ext4 boot
2 501MB 21.5GB 21.0GB extended
5 501MB 21.5GB 21.0GB logical
Убедимся, что тот раздел, который мы хотем расшифровать, это тот, который мы хотим
root@sysresccd /root % cryptsetup luksDump /dev/sda5
LUKS header information for /dev/sda5
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha1
Payload offset: 4096
MK bits: 512
MK digest: 49 7e f2 86 a2 96 28 05 d5 cc 7b c6 79 a5 a0 ed 39 fd f0 18
MK salt: eb 7e 02 cb 7a a6 c4 52 cc db 50 c7 bf c3 1e 13
6d 55 4b eb ae d6 7d aa 35 07 d4 e6 c3 d7 30 cd
MK iterations: 57750
UUID: e25d7bc5-e161-42db-b9fd-834bd53a309a
Key Slot 0: ENABLED
Iterations: 231273
Salt: 0e 4c 4b fd 94 17 f6 bf c6 c4 6b c2 32 1e e7 be
db 85 57 3c 0c a0 fd 8b 1e 75 d1 78 e5 fd 1e 5c
Key material offset: 8
AF stripes: 4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
Далее подключим шифрование
root@sysresccd /root % cryptsetup luksOpen /dev/sda5 sda5_crypt
Enter passphrase for /dev/sda5:
После чего у нас должны появиться LVM
root@sysresccd /root % lvdisplay
--- Logical volume ---
LV Path /dev/main/home
LV Name home
VG Name main
LV UUID vD3bd7-EU1Y-9JND-Ygk2-f9Lz-chwr-QzHOfp
LV Write Access read/write
LV Creation host, time fatreverse, 2014-12-28 14:03:39 +0000
LV Status NOT available
LV Size 19.53 GiB
Current LE 4999
Segments 1
Allocation inherit
Read ahead sectors auto
Активируем нашу группу томов:
root@sysresccd /root % vgchange -a y main
1 logical volume(s) in volume group "main" now active
После чего их можно будет увидеть в /dev/volume_group_name
root@sysresccd /root % ls /dev/main
home
Монтируем все разделы как для chroot
root@sysresccd /root % mkdir /mnt/debian
root@sysresccd /root % mount /dev/main/home /mnt/debian/
root@sysresccd /root % mount /dev/sda1 /mnt/debian/boot
Итог: мы получили наш debian.
Далее самое интересное – непосредственная установка генты.
Для начала – сохраняем весь старый корень в архив (дабы можно было развернуть в том случае, если после установки ничего не заработает)
root@sysresccd /mnt % tar -zcf debian.tgz debian --exclude=debian/home
Теперь можно без страха впиливать генту.
Скачаем и распакуем stage3
root@sysresccd /mnt/debian % wget http://distfiles.gentoo.org/releases/\
amd64/autobuilds/current-stage3-amd64/stage3-amd64-20141204.tar.bz2
root@sysresccd /mnt/debian % tar xfj stage3-amd64-20141204.tar.bz2
Добавляем -march=native в /etc/portage/make.conf
root@sysresccd /mnt/debian % nano etc/portage/make.conf
Готовимся для chroot’а
root@sysresccd /mnt/debian % cp -L /etc/resolv.conf etc/
root@sysresccd /mnt/debian % mount -t proc proc proc
root@sysresccd /mnt/debian % mount --rbind /sys sys
root@sysresccd /mnt/debian % mount --make-rslave sys
root@sysresccd /mnt/debian % mount --rbind /dev dev
root@sysresccd /mnt/debian % mount --make-rslave dev
Выбираем зеркала
root@sysresccd /mnt/debian % mirrorselect -i -o >> etc/portage/make.conf
root@sysresccd /mnt/debian % mirrorselect -i -r -o >> etc/portage/make.conf
А теперь chroot
root@sysresccd /mnt/debian % chroot ./ /bin/bash
sysresccd / # source /etc/profile
sysresccd / # export PS1="(chroot) $PS1"
(chroot) sysresccd / #
(chroot) sysresccd / # emerge-webrsync
(chroot) sysresccd / # emerge --sync --quiet
Читаем новости
(chroot) sysresccd / # eselect news read all
Добавляем русскую локаль
(chroot) sysresccd / # echo 'ru_RU.UTF-8 UTF-8' >> /etc/locale.gen
(chroot) sysresccd / # locale-gen
(chroot) sysresccd / # eselect locale list
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_COLLATE to default locale: No such file or directory
Available targets for the LANG variable:
[1] C
[2] POSIX
[3] ru_RU.utf8
[ ] (free form)
(chroot) sysresccd / # eselect locale set 3
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_COLLATE to default locale: No such file or directory
Setting LANG to ru_RU.utf8 ...
Run ". /etc/profile" to update the variable in your shell.
(chroot) sysresccd / # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache..
Устанавливаем все пакеты, которые нам будут далее необходимы
(chroot) sysresccd / # emerge gentoo-sources genkernel cryptsetup grub
Ведро можно будет потом переконфигурировать, пока пусть будет genkernel
(chroot) sysresccd / # genkernel --lvm --luks --mdadm --bootloader=grub --menuconfig --no-zfs all
В /etc/default/grub необходимо дописать GRUB_CMDLINE_LINUX=“dolvm crypt_root=/dev/sda5”
Теперь нужно поправить fstab.
/dev/sda1 /boot ext4 noatime 1 2
/dev/main/home / ext4 noatime 0 1
И /etc/conf.d/dmcrypt
target=crypt-lvm
source='/dev/sda5'
Устанавливаем grub
(chroot) sysresccd / # grub2-install /dev/sda
(chroot) sysresccd / # grub2-mkconfig -o /boot/grub/grub.cfg
Change password
(chroot) sysresccd / # passwd
Готово! Теперь можно перезагружаться и далее уже действовать по любому мануалу установки генты, которые доступны в сети.