Встановлюю OpenBSD на ThinkPad X240 з шифруванням файлової системи
Я вже розповідав, що здійснив перехід на OpenBSD
. Я й надалі використовую Arch Linux на роботі (усе через специфічне ПЗ), але власний ноут тепер тішить мене BSD системою.
Якщо ви не знаєте, то BSD системи (а їх є кілька сьогодні), на відміну від Linux, є повноцінними операційними системами, а не лише ядром + GNU утиліти. Тож моя ціль була встановити мінімальну систему, максимально використовувати базові компоненти та… Приєднатись до темної сторони сили. Я знаю, що більшість розглядає BSD
, як чудовий маршрутизатор чи поштовий сервер, а я спробую розглянути як операційну систему для щоденних задач на ThinkPad X240
.
Встановлення
Не злукавлю, якщо скажу, що в OpenBSD один із найпростіших процесів встановлення з усього сімейства BSD систем. Просто завантажте образ:
curl -OJ https://cdn.openbsd.org/pub/OpenBSD/6.4/amd64/install64.fs
Та запишіть на USB диск:
dd if=install64.fs of=/dev/sdb bs=1m
Оберіть завантаження з USB та й вперед!
Повне шифрування диску
Моя ціль - бути певним, що навіть якщо я втрачу цей ноут, то мої данні будуть недоступні. Щоб встановити систему на повністю зашифрований диск, необхідно обрати пункт (S)hell
та створити програмний RAID з шифруванням.
Створюємо новий EFI розділ:
fdisk -iy -g -b 960 sd0
А тепер можемо й RAID організувати:
disklabel -E sd0
Label editor (enter '?' for help at any prompt)
> a a
offset: [1024]
size: [500117105]
FS type: [4.2BSD] RAID
> w
> q
No label changes.
Переходимо до шифрування нашого програмного RAID:
bioctl -c C -l sd0a softraid0
Після введення паролю, ви маєте побачити напис:
CRYPTO volume attached as sd2.
Тепер можемо спокійно виходити із консолі exit
та обирати (I)nstall
.
OpenBSD
Інсталятор задав мені кілька запитань: розкладка, назва хоста, пароль для root та інше. Можливо, система не розпізнає вашу wifi карту, тому краще встановлювати через звичайну провідну мережу, що я й робив.
Оскільки я встановлюю це все на ноутбук, то мені буде потрібно графічне середовище - не забуваємо активувати xenodm та відключити старт sshd
.
Переходимо до розмітки диску. Ось тут важливо обрати диск, який було зашифровано та підключено у попередньому пункті:
Which disk is the root disk (‘?’ for details) [sd0] sd2
Я не буду розповідати як саме розмітив свій диск, скажу лише так: якщо у вас більше 120Гб та ви не знаєте, як краще розмітити диск - автоматичний розподіл вам підійде!
Перевантажуємо систему та завантажуємо OpenBSD
Налаштування мережі
Після входи я потрапив у графічне середовище fvwm:
Я до цього повернуся пізніше, найперше потрібно налаштувати wifi, щоб не бути прив’язаним.
Відкриваємо xterm, переходимо під root з командою su та завантажуємо необхідні драйвера:
fw_update
Команда fw_update завантажить та встановить необхідні драйвера.
Одна з найпрекрасніших речей в OpenBSD - більшість речей інтегрована у систему і немає необхідності встановлювати додаткові утиліти для налаштування мережі чи підключення до WPA2 мереж. Вмикаємо мережку та скануємо:
ifconfig iwn0 up
ifconfig iwn0 scan
Коли побачив свою мережу - просто створюю файл із назвою мережевого адаптера вкінці /etc/hostname.iwn0
та прописую параметри підключення:
join "YOUR_SSID" wpakey "YOUR_PASSPHRASE"
# you can specify other networks here too, in order of priority:
# join "WORK_SSID" wpakey "WORK_PASSPHRASE"
# join "OPEN_COFFEE_SHOP"
dhcp
inet6 autoconf
up powersave
Ось і все! Тепер мій ноут автоматично буде підключатися до тієї мережі, в якої сильніше сигнал. Щоб не перевантажувати систему, достатньо перевантажити лише мережу:
ifconfig em0 down
ifconfig iwn0 down
pkill dhclient
sh /etc/netstart
Базове налаштування
Найперше, що я зробив - відключив набридливе вікно з xconsole:
sed -i 's/xconsole/#xconsole/' /etc/X11/xenodm/Xsetup_0
echo 'xset b off' >> /etc/X11/xenodm/Xsetup_0
Також, мені не подобається beep
звук логіну. Для цього необхідно додати у файл /etc/wsconsctl.conf
:
keyboard.bell.volume=0
OpenBSD немає sudo
, проте є doas:
echo 'permit persist keepenv YOUR_USERNAME' > /etc/doas.conf
Оскільки це ноут, то вартує увімкнути power manager. Пропишу автоматичну адаптацію CPU, а також, якщо залишатиметься 6% - відправляти ноут в ґібернацію:
rcctl enable apmd
rcctl set apmd flags -A -Z 6
rcctl start apmd
Потрібно подякувати розробникам, оскільки на ThinkPad
сон та ґібернація просто працюють. Вам нічого не потрібно налаштовувати. Єдина річ, що я додаю, це щоб після того, як закриваю кришку ноута, автоматично блокувався екран. У файл /etc/apm/suspend
додаю вміст:
#!/bin/sh
pkill -USR1 xidle
Та робимо executeble:
chmod +x /etc/apm/suspend
Додаю власного користувача в групу staff
:
usermod -G staff YOUR_USERNAME
В файлі /etc/login.conf
прописую параметри:
staff:\
:datasize-cur=2048M:\
:datasize-max=4096M:\
:maxproc-cur=512:\
:maxproc-max=1024:\
:openfiles-cur=4096:\
:openfiles-max=8192:\
:stacksize-cur=32M:\
:ignorenologin:\
:requirehome@:\
:tc=default:
І трішки параметрів ядра з допомогою sysctls, у файлі /etc/sysctl.conf
пропишу:
# shared memory limits (chrome needs a ton)
kern.shminfo.shmall=3145728
kern.shminfo.shmmax=2147483647
kern.shminfo.shmmni=1024
# semaphores
kern.shminfo.shmseg=1024
kern.seminfo.semmns=4096
kern.seminfo.semmni=1024
kern.maxproc=32768
kern.maxfiles=65535
kern.bufcachepercent=90
kern.maxvnodes=262144
kern.somaxconn=2048
# record audio
kern.audio.record=1
# refer to xf86(4) for details
machdep.allowaperture=1
Щоб подовжити життя своєму SSD, включаємо softupdates у файлі /etc/fstab
:
71bb88c2ddd0128c.b none swap sw
71bb88c2ddd0128c.a / ffs rw,softdep,noatime 1 1
71bb88c2ddd0128c.e /home ffs rw,nodev,nosuid,softdep,noatime 1 2
71bb88c2ddd0128c.d /usr ffs rw,wxallowed,softdep,noatime,nodev 1 2
Налаштовую X11
Як я писав раніше, за замовчуванням OpenBSD пропонує fvwm
. Особисто для мене це середовище виявилося не зручним. Звичайно, була ідея зібрати dwm, яким я користуюсь на Arch
. Проте, спробую притримуватися основної ідеї: максимально базовий функціонал. І тут я дізнався про наявність cwm. У цій нотатці я лише скажу, що все ще вивчаю та порівнюю. А що з цього вийшло - думаю, що напишу вже іншим разом.
Підсумок
Я встановив OpenBSD на своєму ThinkPad X240
. Користуватимусь щоденно і побачимо, що з цього вийде.