Нам есть, что скрывать Михаил Емельченков Хакер, номер #090, стр. 090-104-2 Теперь компилируем и устанавливаем ядро в /boot: # mount /boot # make # make modules_install install Для простоты настройки сконфигурируем все пункты не модулями, а монолитом. Если ты решишь сделать модульную сборку, то не забудь предварительно подгрузить соответствующие модули с помощью modprobe. После перезагрузки необходимо установить user-space утилиты. Для этого воспользуйся командой: debian# apt-get install cryptsetup gentoo# emerge device-mapper cryptsetup После этого удостоверься, что device mapper запущен: # ls –L /dev/mapper/control /dev/mapper/control Проверь также, что появился crypt target: # /sbin/dmsetup targets crypt v1.1.0 striped v1.0.2 linear v1.0.1 error v1.0.1 Шифрование root-раздела Я рассмотрю шифрование корневого раздела только для дистрибутива Gentoo, в Debian все происходит схожим образом. Для шифрования корневого раздела необходимо, чтобы /boot-директория располагалась на отдельном разделе. Linux не поддерживает загрузку с шифрованных разделов напрямую. Вместо этого необходимо использовать initrd (RAM-диск, который грузится до монтирования корневого раздела). Для корректной работы с udev потребуется собрать multipath-tools: # emerge multipath-tools Необходимо создать и примонтировать initrd. Для этого монтируем /boot-раздел и создаем пустой файл initrd: # mount /boot # touch /boot/initrd Заполняем нулями файл /boot/initrd и придаем ему размер 4 Мб: # dd if=/dev/zero of=/boot/initrd bs=1M count=4 Создаем loopback-устройство для работы с файлом: # /sbin/losetup /dev/loop0 /boot/initrd Создаем на нем файловую систему Ext2: # /sbin/mke2fs /dev/initrd # mkdir /mnt/initrd Монтируем loopback-устройство на каталог диска: # mount /dev/loop0 /mnt/initrd Создаем дерево директорий и файлы скриптов: # cd /mnt/initrd # mkdir etc dev lib bin proc new # touch linuxrc devmap_mknod.sh # chmod +x linuxrc devmap_mknod.sh Где linuxrc - скрипт, отвечающий за непосредственную загрузку, а devmap_mknod.sh - скрипт, который создает необходимые устройства. Оба файла находятся на диске, прилагаемом к журналу. Копируем необходимые файлы: # cp /bin/{sh,cat,mount,umount,mkdir,chroot,cryptsetup,sleep,mknod,sed,rm} ./bin Для каждого файла узнаем требуемые библиотеки и копируем их в директорию lib: # ldd /bin/sh linux-gate.so.1 => (0xffffe000) libdl.so.2 => /lib/libdl.so.2 (0xb7f65000) libc.so.6 => /lib/libc.so.6 (0xb7e51000) /lib/ld-linux.so.2 (0xb7f73000) # cp /lib/{libc.so.6,ld-linux.so.2} ./lib Создаем необходимые устройства, без которых не удастся загрузить систему (если ты используешь другой раздел с корневой файловой системой, то необходимые параметры mknod можно посмотреть с помощью "ls -l /dev/drive". Например, для /dev/hda3 команда будет выглядеть так: "mknod /mnt/initrd/dev/hda3 b 3 3"): # mknod /mnt/initrd/dev/console c 5 1 # mknod /mnt/initrd/dev/null c 1 3 # mknod /mnt/initrd/dev/sda2 b 8 2 # mknod /mnt/initrd/dev/tty c 5 0 Проверим работоспособность всех программ в initrd: # chroot /mnt/initrd /bin/sh |