- PVSM.RU - https://www.pvsm.ru -

Вызов принят: OpenBSD на ноутбуке

Хотелось бы поделиться, может быть и не самым новым, но отчасти познавательным и местами увлекательным, опытом установки на ноутбук операционной системы не из мейнстрима (т.е. не Windows или Linux) для хоть сколько-нибудь полноценной работы в наше (развращённое) время. Началось всё с того, что дело было вечером и делать было нечего, а тут опять что-то начало нагревать мой MacBook. Вот я и решил поставить на него (ну не совсем на него, конечно — ведь мне на нём ещё работать — а на более старую модель, которая уже какое-то время просто лежит в ящике стола) что-то тёплое ламповое из мира BSD. Не FreeBSD, это было бы просто, а, например, NetBSD (уж очень она мне нравится своим минимализмом).

Совершенно незначительное замечание.

Опыт с FreeBSD на ноутбуке у меня был лет 10 назад. Ставил его тогда на BenQ Joybook X31. KDE работало, кстати, без всяких патчей. А вот драйвер для RTL8168 пришлось подправить.

Сначала я решил почитать, в этих ваших интернетах, ведь наверняка кто-то уже подобное пытался делать. Так и оказалось, пытался и даже сделал. Только не с NetBSD и не на MacBook, но тоже интересно. Вот об этом не своём опыте я вам сейчас и расскажу. Далее пойдёт перевод и я буду уже не я, а Jan-Piet Mens.

Вызов принят: OpenBSD на ноутбуке - 1

Итак вопрос: можно ли сделать ноутбук настолько привлекательным, чтобы захотелось перейти на него с Mac? TL; DR: можно [перев.: а я бы поспорил].

В 1989 я провёл целые недели своей жизни пытаясь скомпилировать и запустить X11 на Compaq 486 под SCO Unix. Сама компиляция занимала многие часы. Но больше всего запомнилась необходимость скрещивать пальцы в надежде, что параметры настройки экрана не приведут к повреждению монитора. Времена, конечно, меняются, и я думаю, что сейчас немногие продолжают страдать подобной фигнёй. К счастью, я позабыл большую часть проблем того времени. Но даже сейчас, когда я думаю о (некоммерческом) Unix на ноутбуке, я вижу призрак RAMDAC в своих кошмарах.

Я знаю много пользователей различных дистрибутивов GNU/Linux (или systemd/Linux? ;-), работающих на ноутбуках. Я тоже пробовал его устанавливать, даже без X11. Но Linux не смог отвадить меня от Mac. Не знаю точно почему. Linux достаточно быстр (вероятно быстрее BSD систем) и достаточно надёжен, но это ведь не всё. Я думаю, что дело в возрастающем неприятии самой системы и документации, администрирования и утилит, внедрения systemd, различий между дистрибутивами. Возникает чувство, что столько проблем здесь только из-за того, что разные команды разработчиков работают над одним и тем же, исправляя и привнося обратно одни и те же ошибки. Не моё это. Linux это, конечно, хорошо, но я не чувствую себя частью его сообщества.

И вот в начале февраля у меня появилась идея, которая получила некоторый отклик:

Вызов принят: OpenBSD на ноутбуке - 2

Я бросил курить 922 дня назад (на момент написания [перев.: оригинала] этой заметки, и да, я всё ещё продолжаю считать дни). Подсчитав деньги, которые удалось на этом сэкономить, я раскошелился на покупку Lenovo Thinkpad X1 Carbon 6-го поколения. И я был по-настоящему удивлён, когда открыл картонную коробку — вполне себе «яблоподобный» внешний вид.

Внутри оказалось прекрасное устройство, думаю, что даже тоньше моего MacBook Air, и ощущается X1 более лёгким. Первым делом я решил уменьшить место занимаемое Windows 10 (кто знает, может быть однажды она пригодится), но передумал, после того как прождал несколько минут загрузки экрана приветствия Windows.

Сначала я решил установить FreeBSD, т.к. она поддерживает ZFS и позволяет запускать VirtualBox. Начал устанавливать последнюю версию TrueOS [1] [перев.: ранее PC-BSD], т.к. процесс установки должен быть очевиден даже для нубов. Установка шла прекрасно до тех пор, пока я не стал добавлять пользователя (с именем jpm). Установщик сообщил мне, что «Jan-Piet Mens» содержит недопустимые символы. В поле GECOS [2]. Я не шучу. В результате получилась загружаемая система (со второй попытки), которая довела меня чуть ли не до слёз своей медлительностью. Тогда я установил Trident (ответвление TrueOS). При этом потребовалось подключить USB-мышь для графической программы установки. Результат — не загружаемая система; не грузится как в этом меме:

Вызов принят: OpenBSD на ноутбуке - 3

Конечно я должен был попробовать установить просто FreeBSD, что я и сделал. Несколько раз. А потом я прекратил пробовать. Пришлось отложить это всё, в основном, потому, что не удалось отдать X1 кому-то, кому нужен ноутбук с Windows.

Хенрик (Henrik) (он неутомим в этом смысле) предложил OpenBSD, так что я попробовал её. Честно говоря, мои ожидания в плане «ноутбук, и графика, и Wi-Fi и всё такое с OpenBSD» — дальше некуда. OpenBSD на сервере? Всегда пожалуйста. Но на ноутбуке?..

С недавних пор мне нравится OpenBSD — установка простая и быстрая, штатное ПО довольно стабильное, а документация практически прекрасна. Представьте, как здорово иметь возможность набрать команду man и получить справку с актуальным описанием программы или служебного файла на вашем компьютере? У меня был прекрасный опыт с OpenBSD год назад, когда я поставил эту ОС на старый Thinkpad.

Установка прошла, и я получил больше, чем ожидал (что до смерти меня удивило). Но результат был ужасен — Firefox с трудом мог проматывать страницы, никакого видео на Youtube, унылый оконный менеджер… Я отправился в кровать читать книжку на ночь.

Снова Хенрик (да, тот же парень) указал мне на пост Каллума Смита (Cullum Smith) «OpenBSD на ноутбуке» [3]. Потратив час или два на настройку по этой заметке, я получил вполне работоспособное рабочее окружение с i3 [4]-подобным оконным менеджером cwm [5] [перев.: рус.] [6].

В целом результатом стал ноутбук, который может (для меня) конкурировать с Mac по крайней мере в большинстве случаев. На нём настроено полное шифрование диска, работоспособные Ethernet и Wi-Fi (представьте себе возможность запуска man iwm для отображения актуальной документации с примерами). S3 [7] работает, также как и кнопки управления громкостью. Есть среда разработки (компилятор C со всеми Unix-утилитами, о которых я только мог мечтать). Установлены syncthing [8], restic [9] и matterhorn [10]. Настроены и работают штатные для OpenBSD сервисы httpd и smtpd. Первый потому, что я иногда занимаюсь тестированием и мне нужен HTTP-сервер, а второй — так как я люблю отправлять письма себе и другим.

В конце этого первого дня осталось ещё кое-что, что требует решения. VLC проигрывает звук, но не показывает видео, используя X11 драйвер (видео работает в Firefox и Chrome). И кое-чего не хватает для удобства, например, копирования/вставки между xterm и браузером. Также правая сторона ноутбука сильно греется; я не знаю, где именно находится процессор, но полагаю, что именно там (хотя top не показывает ничего особенного). Дело оказалось в настройке Thunderbolt в BIOS.

Действительно приятно работать в системе, в которой, когда я захочу поставить mosquitto [11], мне достаточно выполнить:

pkg_add mosquitto

и я получу все библиотеки, исполняемые и заголовочные файлы без необходимости выяснять, как называются пакеты с исполняемыми файлами и библиотеками. (Поглядываю на Debian.) Всё как следует документировано, для всех программ и служебных файлов есть man-страницы, и качество руководств очень хорошее.

Я ещё не закончил настройку и не уверен, что смогу отказаться от Mac и macOS, но пока всё выглядит многообещающе. Кое-что важное для меня будет сложно или невозможно заменить или настроить, например:
iTerm2 [12];
Enpass [13];
‐ Calendar.app;
‐ запрос подключения к сетям Wi-Fi;
‐ мгновенное пробуждение при открытии крышки ноутбука.

Может быть найдутся аналогичные решения для части или всех требований, но только лишь действительно аналогичные. В целом я пока доволен результатом. Вероятно, правильно настроенный ноутбук с Linux был бы не менее хорош, а то и лучше. Но как я уже говорил, не моё это.

Осмелюсь ли я взять эту машину на BSDCan [перев.: конференцию BSD в Канаде] и сделать презентацию с ней? Посмотрим. (Конечно же нет, если я не могу предварительно попрактиковаться с проектором.)

Три недели спустя

Три недели спустя я почти не пользовался ноутбуком. Я взял его в проработку со следующими замечаниями:
‐ Wi-Fi перестаёт работать примерно через час с выдачей кучи сообщений об ошибках драйвера каждую минуту в syslog. Кто-то предложил мне заменить контроллер Wi-Fi.
‐ Я подключаю HDMI кабель к проектору и ожидаю появления изображения, но напрасно. Неужели следует искать решение в миллиардах параметров xrandr [14]?
‐ Обновление с 6.4 на 6.5 прошло замечательно за исключением нескольких отключений от сети. Не разбирался с этим, но думаю, что проблема в драйвере iwm0.
‐ Постоянно думаю о xrandr, так что пришлось с ним поработать. Долго ничего не получалось. Я не мог вывести картинку на подключенный по HDMI монитор HP. А дело оказалось в кабеле. Стоило его заменить, и изображение появилось.
‐ Отто (Otto) предложил мне перейти на -current или snapshot, что я и сделал. Сетевой драйвер продолжил сбоить. Занимательно, что проблемы наблюдается только при вызове pkg_add и даже на этапе распаковки, например, большого пакета libreoffice. Но кое-что теперь работает хорошо — xrandr. Вывод на подключенный HDMI монитор при отключении и подключении обратно (проверил три раза подряд).
‐ Выяснилось, что сбоит не iwm0, а em0. После отключения em0 сеть Wi-Fi стала работать стабильно.

Дополнительные материалы

OpenBSD с точки зрения ветерана Linux [15]
OpenBSD: почему и как [16]
OpenBSD на рабочей станции [17]

Автор: Олег Большаков

Источник [18]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/351297

Ссылки в тексте:

[1] TrueOS: https://ru.wikipedia.org/wiki/TrueOS

[2] GECOS: https://ru.wikipedia.org/wiki//etc/passwd#GECOS

[3] «OpenBSD на ноутбуке»: https://www.c0ffee.net/blog/openbsd-on-a-laptop/

[4] i3: https://ru.wikipedia.org/wiki/I3_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0)

[5] cwm: https://man.openbsd.org/cwmrc.5

[6] [перев.: рус.]: https://ru.wikipedia.org/wiki/Cwm_(%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80_%D0%BE%D0%BA%D0%BE%D0%BD)

[7] S3: https://ru.wikipedia.org/wiki/ACPI#%D0%93%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F

[8] syncthing: https://syncthing.net/

[9] restic: https://jpmens.net/2017/08/22/my-backup-software-of-choice-restic/

[10] matterhorn: https://jpmens.net/2018/01/30/discovering-mattermost/

[11] mosquitto: https://mosquitto.org/

[12] iTerm2: https://iterm2.com

[13] Enpass: https://www.enpass.io

[14] xrandr: https://man.openbsd.org/xrandr.1

[15] OpenBSD с точки зрения ветерана Linux: https://cfenollosa.com/blog/openbsd-from-a-veteran-linux-user-perspective.html

[16] OpenBSD: почему и как: https://sivers.org/openbsd

[17] OpenBSD на рабочей станции: http://eradman.com/posts/openbsd-workstation.html

[18] Источник: https://habr.com/ru/post/494462/?utm_source=habrahabr&utm_medium=rss&utm_campaign=494462