Установка Calculate на LUKS

luks.png

Установить Calculate Linux на шифрованный LUKS раздел можно по следующей инструкции

# Как обычно загружаемся с LiveCD
# В загруженную систему устанавливаем cryptsetup

emerge -vt sys-fs/cryptsetup

# разбиваем любым удобным способом диск так, чтоб был один большой раздел (его мы будем шифровать), и один порядка 1G под /boot
# Задаем значения переменных, определяющих параметры установки

HOSTNAME=\$(pwgen -0A \$(( 4 + (RANDOM%3) )) )
BOOT=/dev/sda1
LUKS=/dev/sda2
lukspw="<пароль, которым будет шифроваться корень>"
echo \$lukspw


# Затираем диск

dd bs=1M if=/dev/urandom of=\$LUKS

При этом удобно установить утилиту sys-apps/progress и с ее помощью наблюдать за прогрессом затирания
# Шифруем раздел

cryptsetup luksFormat \$LUKS

Тут потребуется подтвердить, что мы действительно хотим удалить все данные и ввести пароль
# Придумываем имя для подключения зашифрованного диска и подключаем его


LUKS\_UUID=\$( blkid \$LUKS -o udev | sed -nre 's/\^ID\_FS\_UUID=(\\S+)\$/\\1/p' )
cryptsetup luksOpen "\${LUKS}" "luks-\${LUKS\_UUID}" <<< "\${lukspw}"


# Создаем поверх зашифрованного раздела LVM


SYSDEV="/dev/mapper/luks-\${LUKS\_UUID}"
pvcreate "\${SYSDEV}"
vgcreate "\${HOSTNAME}" "\${SYSDEV}"


# Все, теперь можно приступать к установке системы
Я предпочитаю все делать своими руками

## создаем раздел для SWAP-а

lvcreate -n swap -L 4G "\${HOSTNAME}"

## создаем раздел под корень

lvcreate -n root -L 20G "\${HOSTNAME}"

## раздел под /var/calculate - 95% от оставшегося свободного места. 5% оставляем на всякий непредвиденный случай

lvcreate -n \_var\_calculate -l 95%FREE "\${HOSTNAME}"

## Создаем файловую систему на только что созданных разделах и подключаем SWAP


mkswap /dev/mapper/\${HOSTNAME}-swap
swapon /dev/mapper/\${HOSTNAME}-swap
mkfs.ext4 /dev/mapper/\${HOSTNAME}-root
mkfs.ext4 /dev/mapper/\${HOSTNAME}-\_var\_calculate
mkfs.ext4 \${BOOT}


## Устанавливаем систему


cl-install --mbr /dev/sda -d \${BOOT}:/boot:ext4 
-d /dev/mapper/\${HOSTNAME}-root:/:ext4
-d /dev/mapper/\${HOSTNAME}-swap:swap 
~~d /dev/mapper/\${HOSTNAME}~~\_var\_calculate:/var/calculate 
-d /var/calculate/home:/home



# Все. установили. но как теперь загружаться, ведь в установленной системе нет cryptsetup?
Значит его надо поставить

## Создаем точки монтирования для входа в chroot


mkdir /tmp/newroot
mount -v /dev/mapper/\${HOSTNAME}-root /tmp/newroot/
mount ~~v /dev/mapper/\${HOSTNAME}~~\_var\_calculate /tmp/newroot/var/calculate/
mount -v \${BOOT} /tmp/newroot/boot/
for d in /dev{,/shm,/pts} /sys /proc ; do
mount --bind -v \$d /tmp/newroot\$d
done


## прописываем crypt в модули dracut

echo 'add\_dracutmodules+=" crypt"' > /tmp/newroot/etc/dracut.conf.d/10-crypt.conf

## и устанавливаем dracut, а также пересобираем initramfs

chroot /tmp/newroot /bin/bash <<< 'source /etc/profile && emerge -vt sys-fs/cryptsetup && dracut --force'

# А вот теперь можно перезагружаться

Нужно внести корректировку.
В пункте 9 подпункте 5, к команде cl_install с ручной разметкой необходимо добавить параметры

cl-install -p OFF ...

Иначе новички сильно удивлены результатом работы команды.