Обновление FreeBSD с 13.1 до 13.2 (из исходников) под Proxmox на мини-ПК Beelink U59 Pro
t.me/freebsd2022 (https://t.me/freebsd2022) 16.04.2023Ранее я рассказывал про установку FreeBSD под Proxmox на мини-ПК Beelink U59 Pro в качестве хостовой машины. 3 месяца работы показали, что железо имеет право на существование и использование. Нагрузка на ВМ была минимальная - стандартные процессы FreeBSD, обновление портов раз 2 недели.
Теперь попробуем начать более серьезную эксплуатацию машины. У меня в планах построить почтовый сервер, веб-почту, веб-сервер и т.д. Еще хотелось бы установить сервер CalDAV+CardDAV Baïkal, возможно Zabbix и т.д.
В качестве начального шага я решил обновить FreeBSD c предпоследней версии 13.1 до свежего апрельского релиза 13.2. Это делаем из исходников с помощью GIT.
Этап 1.
#cd /usr/src
#rm -R *
#git clone -b releng/13.2 --depth 1 https://git.freebsd.org/src.git /usr/src
Этап2. Получив свежие исходники в SRC, правим ядро под себя (я убрал неиспользуемые опции и устройства).
#cp /sys/amd64/conf/GENERIC /sys/amd64/conf/beelink
#vi /sys/amd64/conf/beelink
Я закомментировал нижеследующее (а можно в 3-5 раз больше):
..
#options INET6 # IPv6 communications protocols
#options MSDOSFS # MSDOS Filesystem
#options COMPAT_FREEBSD4 # Compatible with FreeBSD4
#options COMPAT_FREEBSD5 # Compatible with FreeBSD5
#options COMPAT_FREEBSD6 # Compatible with FreeBSD6
#options COMPAT_FREEBSD7 # Compatible with FreeBSD7
#options COMPAT_FREEBSD9 # Compatible with FreeBSD9
#options COMPAT_FREEBSD10 # Compatible with FreeBSD10
#options COMPAT_FREEBSD11 # Compatible with FreeBSD11
#device fdc
#device pccard # PC Card (16-bit) bus
#device cardbus # CardBus (32-bit) bus
#device snd_cmi # CMedia CMI8338/CMI8738
#device snd_csa # Crystal Semiconductor CS461x/428x
#device snd_emu10kx # Creative SoundBlaster Live! and Audigy
#device snd_es137x # Ensoniq AudioPCI ES137x
#device snd_hda # Intel High Definition Audio
#device snd_ich # Intel, NVidia and other ICH AC'97 Audio
#device snd_via8233 # VIA VT8233x Audio
..
Этап 3. Собираем и компилируем мир и ядро, всё как обычно:
#cd /usr/src
#make -j3 buildworld
#make -j3 buildkernel KERNCONF=beelink
#make installkernel KERNCONF=beelink
#reboot
#mergemaster -p
#make installworld
#mergemaster
#reboot
Я заметил, что этот релиз собрался быстрее, чем в прошлый раз:
- сборка мира (make -j3 buildworld) 4 часа 33 мин (в 2 раза быстрее)
- сборка ядра (make -j3 buildkernel) 16 мин (в 2.5 раза быстрее)
Нагрузка хоста была приличная, приведу несколько картинок. Загрузка всех виртуальных ядер:
На хосте все работает:
Загрузка ресурсов хоста:
Итог: получаем заветное сообщение и радуемся
# uname -mrsv
FreeBSD 13.2-RELEASE FreeBSD 13.2-RELEASE releng/13.2-525ecfdad GENERIC amd64
PS Ваши оценки к статье могут добавить мне энтузиазма, реагируйте/пишите. В любом вопросе, даже в сборке очередного ядра или ПО есть много нюансов.
Мы не обладаем абсолютным знанием, но многому можем научиться!