вторник, 6 марта 2012 г.

Установка TrueCrypt в Gentoo и Calculate Linux

 Truecrypt - одна из лучших программ для шифрования информации.
Кроме огромного колличества возможностей у нее есть еще одно преимущество - она Open Sourse! Аналогов с такими же возможностями и при этом бесплатной я не видел.
С установка под Windows все просто, а вот в Linux могут возникнуть проблемы. У меня и возникли...

После установки при попытке монтирования криптоконтейнера я получил следующую ошибку:

device-mapper:reload ioctl failed:

Итак, гугл сказал что не хватает модулей в ядре.
Значит нужно пересобрать ядро со всеми необходимыми модулями.
Итак, опишу процесс установки TrueCrypt на gentoo и Calculate Linux

Полчение исходников ядра
Для сборки нового ядра достаточно установить пакет с исходным кодом ядра либо обновить текущее, командой:
USE="symlink" emerge -1uD virtual/linux-sources
Флаг USE="symlink" создаст символическую ссылку /usr/src/linux на директорию с исходным кодом ядра.
Виртуальный пакет virtual/linux-sources установит последнюю версию используемого в системе ядра.

Конфигурирование ядра
Для того чтобы сконфигурировать ядро в Gentoo нужно сделать следующее:
# cd /usr/src/linux
# make menuconfig

Для Calculate Linux
Для изменения параметров ядра перед компиляцией используйте опцию --menuconfig:
cl-kernel --menuconfig

Linux Kernel Configuration: Device Mapper
Дальше нужно включить те пункты, которые указаны ниже

Device Drivers ---> 
  [*] Multiple devices driver support (RAID and LVM) --->
    <*> Device mapper support
    <*>   Crypt target support
  [*] Block Devices --->
    <*> Loopback device support
File systems --->
  <*> FUSE (Filesystem in Userspace) support
[*] Cryptographic API --->
  <*> RIPEMD-160 digest algorithm 
  <*> SHA384 and SHA512 digest algorithms
  <*> Whirlpool digest algorithms
  <*> LRW support (EXPERIMENTAL)
  <*> XTS support (EXPERIMENTAL)
  <*> AES cipher algorithms
  <*> Serpent cipher algorithm
  <*> Twofish cipher algorithm

Сборка ядра
Для сборки ядра выполните:
Для Gentoo

Теперь ваше ядро настроено, настало время его скомпилировать и установить. Выйдете из конфигурационного меню и запустите процесс компиляции:

make && make modules_install
Когда ядро будет скомпилировано, скопируйте образ ядра в каталог /boot. Используйте любое имя, кажущееся вам наиболее подходящим для ядра, но не забудьте его, так как оно нам потребуется позже при настройке загрузчика.
Не забудьте заменить <версия-ядра> на имя и версию своего ядра.
Пример для x64 системы:

# cp arch/x86_64/boot/bzImage /boot/<версия-ядра>
Все, вы установили ядро.
Обязательно нужно отредактировать загрузчик

Для Calculate Linux 
cl-kernel
Программа выполнит следующие действия:
выберет необходимую конфигурацию ядра (в зависимости от версии и архитектуры),
скомпилирует ядро с модулями,
сформирует initramfs,
произведет установку ядра в директорию /boot.
При этом к предыдущему ядру и initramfs-файлу будет добавлен суффикс "old".
Также обновится загрузчик.

Всего используется две версии ядра - серверная и десктопная. Конфигурации под каждую версию ядра хранятся в оверлее, в локальной директории /var/lib/layman/calculate/profiles/kernel.

После сборки ядра следует пересобрать пакеты модулей, связанных с ядром (такие как nvidia-driver, madwifi-ng и др.).
Для этого выполните команду:
module-rebuild -X rebuild

Для вступления изменений в силу следует перезагрузить компьютер.


Конфигурация модулей
Этот пункт болле актуален для Gentoo, хотя можно использовать и для Calculate Linux.
 Вы должны перечислить модули, которые должны загружаться автоматически, в файле /etc/modules.autoload.d/kernel-2.6.
Также, при желании, можно сообщить модулям некоторые дополнительные параметры.
Для просмотра всех доступных модулей запустите команду find, заменив "<kernel version>" на версию ядра, которое вы только что собрали:
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' 

Например, если вы хотите автоматически загружать модуль 3c59x.o, отредактируйте файл kernel-2.6 и пропишите туда имя модуля.
Редактируем /etc/modules.autoload.d/kernel-2.6
# nano -w /etc/modules.autoload.d/kernel-2.6
# cat /etc/modules.autoload.d/kernel-2.6
3c59x

Итак теперь, когда стоят все необходимые компоненты можно переходить к установке truecrypt

emerge -av truecrypt
Или скачать с офф.сайта

Ссылки:
Gentoo Wiki - TrueCrypt
Настройка ядра Gentoo
Сборка ядра при помощи утилиты cl-kernel (Calculate Linux)

4 комментария:

  1. Хорошая статья, но описан только один из вариантов запуска TrueCrypt.

    Второй - отключить использование криптографических служб ядра. После запуска TrueCrypt зайти в меню
    "Settings" -> "System Integration"
    и поставить галочку на
    "Do not use kernel cryptographic services".

    Таким образом, можно обойтись без пересборки ядра.

    ОтветитьУдалить
  2. Спасибо, не знал, поэтому и не привел этот способ.

    ОтветитьУдалить
  3. Спасибо за статью. В ядре 3.3 добавили необходимую поддержку.

    ОтветитьУдалить
  4. "Do not use kernel cryptographic services"

    И в результате получить просадку производительности TrueCrypt, который не будет использовать аппаратное ускорение для алгоритма шифрования AES.

    ОтветитьУдалить