Маленькая шпора для меня о том, как поставить Фрю на корневой раздел 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 шифровать, но я не стал.
Фокус в том, что /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 шифровать, но я не стал.