Uncategorised

Installing FreeBSD

Posted

Общие рекомендации:

Режим загрузки в BIOS: LEGACY (aka BIOS)

– партиционирование GPT
– размер swap = объем RAM
– основные партиции:

freebsd-boot = 512K
freebsd-ufs (/) = 3GB
freebsd-swap (= RAM)
freebsd-ufs (/var) = 2GB
freebsd-ufs (/tmp) = 2GB
freebsd-ufs (/usr) = 10GB

файловая система UFS

Иногда бывает, что система не грузится с диска после инсталляции.
Тогда устанавливаем boot-loader руками:
#gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 <device>

где <device>, например, mfid0

Действия после завершения инсталляции:

# pkg update

# freebsd-update fetch install

# pkg update && pkg upgrade

Если корень должен быть на зеркале (root), то следовать инструкции:

http://osc.dondub.com/articles/2015/05/article_904
http://forum.lissyara.su/viewtopic.php?t=42496

Общая идея: перед установкой выйти в шелл и создать “пустое” зеркало без метки и без партиций.
#gmirror load
#gmirror label -vb round-robin gm0 /dev/ada0
#gmirror insert gm0 /dev/ada1
#gmirror status
(дождаться перестроения)

Инсталлятор после этого должен увидеть “зеркальные” диски как обычные.
Через инсталлятор создать метку (GPT), разделы и продолжить с инсталляцией как обычно.
В конце инсталляции опять выйти в шелл и прописать в /boot/loader.conf загрузку модуля ядра gmirror):
geom_mirror_load=”YES”

Чтобы в дальнейшем добавить раздел в зеркало:

#gpart show
#gpart add -t freebsd-ufs -a 4k -s 50G mirror/gm0
#newfs -U /dev/mirror/gm0pX (например /dev/mirror/gm0p6)
#mount … + vi /etc/fstab

Перенаправление системной консоли в SOL

1. Настроить перенаправление в BIOS и убедиться, что при загрузке сообщения BIOS отображаются в консоли
Зайти по ssh в IMPI, набратьcd system1/sol1
start

и запустить перезагрузку

2. Определить, на какой порт (com1, com2 ?) выполняется перенаправление SOL

Для этого варианты:
а) попытаться определить через BIOS
b) в dmesg найти строки, которые начинаются с uart и содержат flags 0x10

3. Для найденного на 2-м шаге порта в /etc/ttys поменять строку на (что-то вроде)
ttyu1 “/usr/libexec/getty 3wire.115200″ vt100 on secure

4. В файл /boot/loader.conf добавить строки
console=”comconsole,vidconsole”
boot_serial=”YES”
boot_multicons=”YES”
comconsole_speed=”115200″
comconsole_port=”0x3f8″

(адрес порта должен соответствовать найденному на шаге 2)

Проблема с Supermicro:
симптомы: перенаправление из BIOS и загрузчика работает, потом после начала загрузки ОС отключается.

решение: в файле /boot/device.hints закомментарить строку
#hint.uart.0.flags=”0x10″
и вместо нее вставить
hint.uart.1.flags=”0x10″

После этого перенаправление сдвинется с COM1 на COM2, в /boot/loader.conf
меняем
comconsole_port=”0x2f8″

в момент загрузки SOL-консоль может отваливаться. В этом случае после окончания загрузки нужно отключиться и снова подключиться.

Отключение журналирования файловых систем (нужно для работы Amanda ?)

Журнал пока несовместим со снимками (snapshots), а снимки нужны Аманде для того чтобы дампить ФС в более согласованном состоянии.Более правильно было бы отключать журналирование при установке Фри (можно указать флаги для newfs). После установки по умолчанию фурналирование ФС включено. Его можно выключить вручную (см. далее).

Сама команда отключения журналов очень простая:
tunefs -j disable путь_к_фс_из_fstab,
но сложность в том, что это надо делать на отмонтированных ФС.

# mount
/dev/mfid0p2 on / (ufs, local, journaled soft-updates)
devfs on /dev (devfs, local, multilabel)
/dev/mfid0p4 on /var (ufs, local, journaled soft-updates)
### ^^^^^^^^^^
### (боремся с журналами там, где нужны ffs snapshots)

# umount /var
# umount /tmp
# umount /usr
# tunefs -j disable /var
Clearing journal flags from inode 4
tunefs: soft updates journaling cleared but soft updates still set.
tunefs: remove .sujournal to reclaim space
# tunefs -j disable /usr
Clearing journal flags from inode 4
# rm /usr/.sujournal

# mount -o ro /
# tunefs -j disable /
Clearing journal flags from inode 4
tunefs: soft updates journaling cleared but soft updates still set.
tunefs: remove .sujournal to reclaim space
tunefs: file system reloaded
# mount -o rw /
# rm /.sujournal
# tunefs -p /
tunefs: POSIX.1e ACLs: (-a) disabled
tunefs: NFSv4 ACLs: (-N) disabled
tunefs: MAC multilabel: (-l) disabled
tunefs: soft updates: (-n) enabled
tunefs: soft update journaling: (-j) disabled
### ^^^^^^^^ OK

Настройки CMOS-часов

Если при установке FreeBSD может указать, что CMOS-часы используют локальное время, то будет создан файл /etc/wall_cmos_clock и при старте будет запускаться adjkerntz:root@hsm1:/ # ps -auxww | grep adjkerntz | grep -v grep
root 126 0.0 0.0 8320 1984 – Is 12Apr18 0:00.00 adjkerntz -i
root@hsm1:/ # ls -l /etc/wall_cmos_clock
-r–r–r– 1 root wheel 0 Jan 27 00:42 /etc/wall_cmos_clock .

Это лишняя конструкция, которая требуется только если на машине водится MS/DOS. В остальном мире CMOS использует UTC , и никаких манипуляций в ядре для исправления времени (adjkerntz) не требуется. Надо выбирать в инсталяторе UTC, а если всё-таки было выбрано локальное время, то удалить файл /etc/wall_cmos_clock и убить процесс adjkerntz.

И еще есть смысл при старте ntp выставлять часы по роутеру ( в /etc/rc.conf добавить ntpd_sync_on_start=”YES”), в противном случае при каком-то неудачном стечении обстоятельств (временное отключение и т.п.) часы машины могут настолько сильно отклониться (> 1000s), что ntp в не будет стартовать.

Leave a Reply

Your email address will not be published. Required fields are marked *