ВАЖНО: даная статья не претендует на 100% правильность решения поставленой задачи. Имеется ноут ASUS X50V с 80Гб винтом (ad4), флешка KINGSTON 2Гб, 3 CD FreeBSD 7.0, 1 CD LiveFS FreeBSD 7.0 и Очень большое желание :) Под рабочей ОС форматирую флешку (UFS без SoftUpdate) и копирую на нее содержимое 3-х дисков. В результате получится такое дерево каталогов satellite# ls /mnt/flash
7.0-RELEASE packages Тем, у кого есть два привода CD/DVD такого делать не нужно. Ето обусловлено тем, что установка будет идти с CD LiveFS FreeBSD 7.0, а нужные пакеты на ходятся на других дисках. Загружаемся с LiveFS. С помощью sysinstall разбиваем ad4 на два слайса ad4s1(512Mb) и ad4s2( 75Gb), делаем загрузочном ad4s1 (s), сохраняем изменения (w), выходим(q), выбираем Standart(No BootManager). Выходим в осоновное меню sysinstall, переходим на консоль (Fixit -> CD/DVD) Замечание: разбивку можна сделать и с помощью fdisk, но у меня не получилось :( Создаем сим линки: Fixit# ln -s /dist/lib /lib Fixit# ln -s /dist/boot/kernel /boot/modules Загружаем модуль geli: Fixit# kldload geom_eli Шифруем ad4s2 Fixit# geli init -b -v -e camellia -l 256 /dev/ad4s2 Подключаем ad4s2: Fixit# geli attach /dev/ad4s2 Если в /dev появился ad4s2.eli значит все OK Создаем на ad4s1 раздел Fixit# bsdlabel -w /dev/ad4s1 Fixit# bsdlabel -e /dev/ad4s1 Фоматируем ad4s1a: Fixit# newfs -O2 /dev/ad4s1a Монтируем в /mnt/boot Fixit# mkdir /mnt/boot Fixit# mount -t ufs -o rw /dev/ad4s1a /mnt/boot Разбиваем ad4s2.eli: Fixit# bsdlabel -w /dev/ad4s2.eli Fixit# bsdlabel -e /dev/ad4s2.eli В итоге: ad4s2.elia / ad4s2.elib swap ad4s2.elid /var ad4s2.elie /tmp ad4s2.elif /usr ad4s2.elig /home Форматируем разделы: Fixit# newfs -O2 /dev/ad4s2.elia Fixit# newfs -U -O2 /dev/ad4s2.elid Fixit# newfs -U -O2 /dev/ad4s2.elie Fixit# newfs -U -O2 /dev/ad4s2.elif Fixit# newfs -U -O2 /dev/ad4s2.elig Далее монтируем ad4s2.elia в /mnt/crypt Fixit#mount -t ufs -o rw /dev/ad4s2.elia /mnt/crypt Создаем точки монтирования остальных ФС: Fixit# mkdir /mnt/crypt/home Fixit# mkdir /mnt/crypt/usr Fixit# mkdir /mnt/crypt/var Fixit# mkdir /mnt/crypt/tmp Монтируем: Fixit# mount -t ufs -o rw /dev/ad4s2.elig /mnt/crypt/home Fixit# mount -t ufs -o rw /dev/ad4s2.elif /mnt/crypt/usr Fixit# mount -t ufs -o rw /dev/ad4s2.elie /mnt/crypt/tmp Fixit# mount -t ufs -o rw /dev/ad4s2.elid /mnt/crypt/var Подключаем флешку в /mnt/flash: Fixit# mkdir /mnt/flash Fixit# mount -t ufs -o ro /dev/da0s1a /mnt/flash Устанавливаем переменную DESTDIR: Fixit# export DESTDIR=/mnt/crypt Устанавливаем базовую систему с /mnt/flash/7.0-RELEASE: Fixit# cd /mnt/flash/7.0-RELEASE/base Fixit# ./install.sh Устанавливаем ядро: Fixit# cd /mnt/flash/7.0-RELEASE/kernels Fixit# ./install.sh GENERIC Устанавливаем остальные компоненты: src proflibs ports manpages info games doc dict atpages. Делаем доступным ядро: Fixit# rmdir /mnt/crypt/boot/kernel Fixit# rmv /mnt/crypt/boot/GENERIC /mnt/crypt/boot/kernel Fixit# cp -Rpv /mnt/crypt/boot /mnt/boot Вклчаем поддержку geom_eli при загрузке: Fixit# ee /mnt/boot/boot/loader.conf
geom_eli_load="YES" Fixit# cp /mnt/boot/boot/loader.conf /mnt/crypt/boot/loader.conf Делаем fstab:
Fixit# mkdir /mnt/boot/etc Fixit# mkdir /mnt/crypt/cdrom Fixit# mkdir /mnt/crypt/boot.1 Fixit# ee /mnt/boot/etc/fstab /dev/ad4s2.elib none swap sw 0 0 /dev/ad4s2.elia / ufs rw 1 1 /dev/ad4s2.elie /tmp ufs rw 2 2 /dev/ad4s2.elid /var ufs rw 2 2 /dev/ad4s2.elif /usr ufs rw 2 2 /dev/ad4s2.elig /home ufs rw 2 2 /dev/acd0 /cdrom cd9660 ro,noauto 0 0 /dev/ad4s1a /boot.1 ufs rw 2 2 Fixit# cp /mnt/boot/etc/fstab /mnt/crypt/etc/fstabВСЕ!!! перезагружаемся
Заключение:
Если есть проблемы с вводом пароля при загрузке, надо добавить в:
/boot/device.hints строчку
hint.kdbmux.0.disabled="1"а в /boot/loader.conf
kern.geom.eli.visible_passphrase=1За основу был взят материал с сайта
http://www.wanda25.de/geli.html Источник: http://www.opennet.ru/base/sys/freebsd_inst_crypt.txt.html