20120723

FreeBSD manual disk partitioning (GPART) and install

Partitioning:

Смотрим, что есть: # ls -1 /dev/ad* /dev/da* | grep -E '[a-z]{2}[0-9]+
/dev/da0 # тут стоит система
/dev/da1 # это диск, с которым будем работать. 20Gb

Создаём gpt-разметку:
# gpart create -s gpt da1

Размечаем диск:
# gpart add -b 34 -s 64k -t freebsd-boot da1 # bootloader будет тут
# gpart add -s 2G -t freebsd-swap -l g_swap da1 # swap с меткой g_swap размером 2 Gb
# gpart add -t freebsd-ufs -l g_root da1 # оставшееся место выделяем под корневой раздел. метка g_root
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 da1 # Устанавливаем Protected MBR (pmbr) и gptboot loader на 1 раздел (freebsd-boot) целевого диска.

Building:

# ee make.conf: CPUTYPE?=nocona NO_INET6=yes WITHOUT_IPV6=yes DESTDIR=/mnt/build Prepare partition: # newfs -O2 -U /dev/gpt/g_root # mkdir /mnt/build # mount /dev/gpt/g_root /mnt/build

Build:
 # cd /usr/src
 # make buildworld
 # make buildkernel
 # make installkernel
 # make installworld
 # make distrib-dirs
# make distribuition
Сборка и установка не отличается от штатной, только добавляется make distribuition
Ядро вполне можно настроить под нужды:
http://serverfault.com/questions/64356/freebsd-performance-tuning-sysctls-loader-conf-kernel
 # ee /mnt/build/etc/rc.conf
 # ee /mnt/build/etc/resolv.conf
 # ee /mnt/build/etc/fstab
Последние три можно копировать и править.