Загрузка происходит примерно в 3 этапа.
В mbr жесткого диска должен находиться любой мультизагрузчик, который сошлётся на загрузочный сектор (512 байт) primary-раздела с free bsd (слайс, по-ихнему). Если такового мультизагрузчика у вас нет, free bsd при инсталляции предложит свой. Из загрузочного сектора слайса управление будет передано ещё на один бинарный код (где он на слайсе находится физически - хз.). Оттуда запускается программа /boot/loader, которая уже подгружает ядро free bsd /kernel (из корневого раздела) и его модули. При такой системе, конфигурируя мультизагрузчик, скажем, lilo, не указывают ядро free bsd по image=... (как это делалось бы для linux), а ссылаются только на первичный раздел free bsd, что-то типа:
other=/dev/hda2
optional
label=freebsd
вообще-то man init
Запускается /etc/rc. в нем includ'ится /etc/rc.conf в котором ты
можешь настроить переменные.
В /etc/rc есть строки:
files=$(rcorder -s nostart ${rc_rcorder_flags} /etc/rc.d/*)
for _rc_elem in $files; do
run_rc_script $_rc_elem start
done
То есть скрипты в /etc/rc.d упорядоЧиваЮтся и запускаЮтся по одному.
УпорядоЧиваЮтся они с помощьЮ ad hoc программы rcorder. В скриптах
из /etc/rc.d есть строки типа
# PROVIDE: quota
# REQUIRE: mountall
# BEFORE: DAEMON
Вот по ним rcorder и упорядоЧивает.