вторник, 15 апреля 2014 г.

Установка FreeBSD на ufs с шифрованием geom_eli на корневом разделе

Маленькая шпора для меня о том, как поставить Фрю на корневой раздел ufs и шифрованием.
Фокус в том, что /boot должен лежать на отдельном нешифрованном разделе. В скобках необязательные параметры. Диск у меня ada0, и, допустим, он 10 гигов.

Загружаюсь с диска/флэшки. Жму Install, там выбираю keymap, ввожу hostname, выбираю что ставить. А в окне Partitioning жму Shell.

# gpart destroy -F ada0
ada0 destroyed

# gpart create -s gpt ada0
ada0 created

# gpart add -t freebsd-boot (-l bootcode) -s 64k ada0
ada0p1 added

# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0
bootcode written to ada0

# gpart add -t freebsd-ufs (-l bootfs) -s 1g  ada0
ada0p2 added
Это как раз раздел под /boot. Размера в 1 гиг должно хватить.

# gpart add -t freebsd-ufs (-l rootfs) -s 9g ada0
ada0p3 added
корневой раздел 9 гигов
(# glabel label rootfs /dev/ada0p3) - такую метку можно приделать вообще всем разделам.

# gpart add -t freebsd-swap ada0
ada0p4 added
остаток в swap

Делаю корневой раздел шифрованным:
# geli init -b (-s4096) -l256 (-K keyfile) /dev/ada0p3
Enter new passphrase:
.....
Тут путь к корневому разделу можно заменить любым из label. Также тут можно дополнительно использовать файл-ключ, про генерацию которого написано в мане geli. В таком случае надо будет дописывать доп. строки в /boot/loader.conf, что тоже описано в мане. Тут я использую просто пароль.

Присоединяю шифрованный корневой раздел:
# geli attach /dev/ada0p3
Enter passphrase:...
Должен появиться /dev/ada0p3.eli, с которым уже и надо работать на уровне системы.

Теперь надо создать файловые системы на разделах
# newfs -U -j /dev/ada0p2
# newfs -U -j /dev/ada0p3.eli

Монтирую корень, чтобы установка дальше сама прошла.
# mount /dev/ada0p3.eli /mnt
# exit

Дальше идут этапы установки с вопросами. Когда закончатся все вопросы, а окне Final Configuration выбрать Exit, потом в окне Manual Configuration выбрать No, затем в окне Complete выбрать LiveCD.

Войти под рутом. Тут есть хитрость. На выделенном разделе должна лежать именно директория boot с содержимым, а не просто ее содержимое на верхнем уровне раздела.
# mkdir /mnt/bootext
# mount /dev/ada0p2 /mnt/bootext
# cd /mnt
# mv boot bootext/
# ln -s bootext/boot boot

Теперь осталось настроить параметры для загрузки и монтирования
# vi bootext/boot/loader.conf
geom_eli_load="YES"
vfs.root.mountfrom="ufs:/dev/ada0p3.eli"

# vi etc/fstab
# Device        Mountpoint      FStype  Options Dump    Pass#
/dev/ada0p2    /bootext               ufs     rw      1       1
/dev/ada0p3.eli /                      ufs      rw      1      1
/dev/ada0p4    none            swap    sw      0       0

Все, закончил. Теперь просто перезагрузка
# shutdown -r now

При загрузке спросит пароль. Можно еще swap шифровать, но я не стал.



Комментариев нет:

Отправить комментарий