Павел Якуб Давидек (Pawel Jakub Dawidek)
Перевод: Алексей Федорчук
Оригинал
2007-09-20
Предположим, что у вас диск - ad0. Создайте на нем один слайс, занимающий весь диск целиком:
# fdisk -BI /dev/ad0Создайте на нем разметку в стиле BSD:
# bsdlabel -wB /dev/ad0s1
Отредактируйте схему разметки так, чтобы создать маленький (256-512 Мбайт) раздел a, а остальное зарезервируйте под раздел d.
# bsdlabel -e /dev/ad0s1
Будет создано нечто вроде этого - с разделом a на 512 МБ и резервированием всего остального d:
# /dev/ad0s1: 8 partitions: # size offset fstype a: 1048576 16 unused c: * 0 unused d: * * unused
Раздел d будет использован под ZFS:
# zpool create tank ad0s1d
Создайте каталог bootdir, куда будет монтироваться загружаемая система:
# mkdir /tank/bootdir # ln -s bootdir/boot /tank/boot
Создайте файловую систему UFS на /dev/ad0s1a и туда скопируйте каталог /boot/
# newfs /dev/ad0s1a # mount /dev/ad0s1a /tank/bootdir # cp -Rp /boot /tank/bootdir/
Теперь не забудьте добавить строку zfs_load = "YES" в файл /tank/boot/loader.conf.
Далее, вы также должны указать системному загрузчику местоположение корневой файловой системы. Это можно сделать, добавив строку:
vfs.root.mountfrom="zfs:tank"
в файл /tank/boot/loader.conf. Или можно создать файл /tank/bootdir/etc/fstab с единственной строкой:
tank / zfs rw 0 0
Файл /etc/fstab (/tank/etc/fstab) на вашей файловой системе ZFS должен содержать строку, приведенную выше, строку:
/dev/ad0s1a /bootdir ufs rw 1 1
и все остальное, то есть swap-раздел и другие файловые системы (которые требуется монтировать при загрузке).
И наконец, нужно установить точку монтирования 'legacy' так, чтобы ZFS не пробовала монтировать это автоматически:
# zfs set mountpoint=legacy tank