Установка FreeBSD 7.0 на шифрованую ФС

Статьи Установка Nix-ПО

Дата публикации: 07.07.2008
Автор статьи:
Источник: (Оригинал: Перейти)

Идея заключается в том, чтобы установить ОС на ФС, зашифрованную
средствами самой ОС.

ВАЖНО: даная статья не претендует на 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 catpages.

Делаем доступным ядро:

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/

Copyright © 2006—2011 "Портал RusCentOS"
Хостинг нашего сайта в ООО "КосмоХост" (на HostCMS v. 4.0)

Ссылки на сайты партнеров