unix
April 17, 2023

OpenBSD на ноутбуке

Как с этим жить и зачем. Нормальным людям читать не рекомендуется.

Свежий скриншот, обратите внимание на кастомное ядро.

Трек поста:

OpenBSD

Не буду тут долго рассказывать что это и зачем, кому надо — найдут и прочитают. Также пропустим установку, поскольку это уже достаточно банальный процесс, неплохо описанный.

Расскажу особенности использования в реальной жизни а не на картинках.

Я использую OpenBSD на ноутбуке, для разработки, тестирования и разнообразных сетевых изысканий.

Точно не для просмотра кино, игр или музыки - так что эту сторону не раскрою.

Все описанное актуально для последних версий OpenBSD, я использую 7.3 версию. Обновления в ней не настолько частные, поэтому большая часть описанного будет актуальна еще долго.

Работает все на том самом олдскульном Lenovo T440.

Управление питанием

С недавних пор в OpenBSD появился отдельный сервис для управления частотой процессора и кулерами - obsdfreqd

Стандартного apmd -A больше не достаточно.

Ставим:

pkg_add obsdfreqd

Включаем и запускаем:

rcctl enable apmd
rcctl set apmd flags -L
rcctl start apmd
rcctl enable obsdfreqd
rcctl start obsdfreqd  

Как видите apmd все также остается, просто не работает отвечает за частоту и охлаждение.

Для засыпания ноутбука используется классика:

zzz

Статус заряда батареи:

apm

Сеть

Для скачивания прошивки используется команда fw_update:

diehard# fw_update                                                                                                                                            
fw_update: added none; updated none; kept intel,inteldrm,iwm,uvideo,vmm

Для настройки подключения:

ifconfig iwm0 nwid <название сети> wpa wpakey xxxxxxx

Имя устройства связано с используемым драйвером, на примере выше - iwm.

Для сохранения настройки можно создать файл вида /etc/hostname.iwm0:

dhcp nwid <название сети> wpa wpakey xxxxxxx

Дальше данная настройка должна подхватываться при поднятии интерфейса:

ifconfig iwm0 up

X11 и userland

Cамое первое что приходится делать это отключать громкое пищание спикером, вернее конечно его симуляцию.

Для консоли в /etc/wsconsctl.conf:

keyboard.bell.volume=0

Для графического интерфейса в ~/.xinitrc:

xset -b

Да, в OpenBSD теперь тоже есть KMS, включается вот так такой настройкой в /etc/X11/xorg.conf:

Section "Device"
    Identifier "Intel Graphics"
    Driver "modesetting"
    Option "AccelMethod" "glamor"
EndSection

Что такое glamor найдете вот тут.

Для понимания что оно включилось:

cat /var/log/Xorg.0.log |grep gla                                                                                                                    
[    21.754] (**) modeset(0): Option "AccelMethod" "glamor"
[    21.754] (II) Loading sub module "glamoregl"
[    21.754] (II) LoadModule: "glamoregl"
[    21.758] (II) Loading /usr/X11R6/lib/modules/libglamoregl.so
[    21.769] (II) Module glamoregl: vendor="X.Org Foundation"
[    21.914] (II) modeset(0): glamor X acceleration enabled on Mesa Intel(R) HD Graphics 4400 (HSW GT2)
[    21.914] (II) modeset(0): glamor initialized

Настройка тачпада, чтобы он не прикидывался мышкой:

Section "InputClass"
        Identifier "wsmouse touchpad"
        Driver "ws"
        MatchIsTouchpad "on"
	Option "TapButton1" "1"
	Option "TapButton2" "2"
	Option "TapButton3" "3"
EndSection

Display Manager

С недавних пор xdm заменили на xenodm, который является более безопасным аналогом, совместимым по настройке.

Если интересно, то его можно очень красиво настроить.

Запуск сессии происходит все так же через ~/.xsession:

~/.profile
/usr/local/bin/startxfce4

Дата и время

Неприятным сюрпризом является особый подход к реализации NTP протокола и штатного ntpd, который заключается в том что ручная синхронизация с выбранным ntpd сервером стала невозможна:

ntpd -s
-s option no longer works and will be removed soon.
Please reconfigure to use constraints or trusted servers.

Предполагается что для начала синхронизации ваш сервер должен установить «доверительные отношения» с еще несколькими пирами, это занимает время и в случае ноутбука работает не всегда правильно.

К счастью в портах все также есть эталонная версия и старый добрый ntpdate:

cd /usr/ports/net/ntp 
make 
make install

После чего можно запустить обычный:

ntpdate -u pool.ntp.org

И получить наконец синхронизацию времени.

Да, это не так «безопасно», но для среды разработки и тестов вполне хватит.

Софт

Chromium, Firefox, Telegram — есть в виде готовых пакетов, собирать особо не надо.

Сборка и установка Lazarus IDE — тут.

Проверено, работает.

JDK на данный момент 17я, конечно доступна и 1.8 но не самые последние сборки.