stuff/os/FreeBSD/FreeBSD_on_Lenovo_Thinkcentre.md
2025-12-10 22:31:43 +01:00

226 lines
No EOL
3 KiB
Markdown

# Setup
First time:
```sh
su -
```
Do a system update:
```sh
freebsd-update fetch install
```
Update
```sh
pkg update
```
Install my favorite packages
```sh
pkg install -y bash doas tmux htop neovim git ncdu tailscale aria2
```
For doas you need to copy the config file:
```sh
cp /usr/local/etc/doas.conf.sample /usr/local/etc/doas.conf
nvim /usr/local/etc/doas.conf
```
Remove all the stuff about alice, bob, cindy and david. Keep the wheel. Use this vim command:
```
g/\<bob\>\|\<alice\>\|\<cindy\>\|\<david\>/d
```
To switch to root you can do:
```sh
doas -s
```
... which means switch to a shell the default is root's.
Change shell
```sh
chsh -s /usr/local/bin/bash
```
Tailscale
```sh
service tailscaled enable
service tailscaled start
tailscale up
```
# SSH
```sh
nvim /etc/ssh/sshd_config
```
Change this setting:
```
KbdInteractiveAuthentication no
```
That should be it. The config file should have these settings, including the commented lines shown as below:
```
#PermitRootLogin no
#PubkeyAuthentication yes
#PasswordAuthentication no
KbdInteractiveAuthentication no
#UsePAM yes
```
Test the setting and reload
```sh
sshd -t
service sshd reload
```
# PF
Now we need to get the filewall going.
```sh
nvim /etc/pf.conf
```
Contents:
```
block in all
ext_if="em0"
pass in on $ext_if proto tcp to ($ext_if) port 22
pass in on $ext_if proto tcp to ($ext_if) port 80
pass in on $ext_if proto tcp to ($ext_if) port 443
tailscale_if="tailscale0"
pass in on $tailscale_if proto tcp to any port 22
pass out all keep state
```
```sh
service pf enable
service pf start
```
If you get the error 'no host key files found` then
```sh
ssh-keygen -A
```
# X11 (optional)
https://docs.freebsd.org/en/books/handbook/x11/
Don't forget to start `tmux`:
```sh
tmux
```
Add `moni` to the `video` group:
```sh
pw groupmod video -m moni
```
And then install, but don't forget to read the messages when the install is complete! Scroll up with tmux
```sh
pkg install xorg
```
This will improve mnuse and touchscreen support:
```sh
sysctl kern.evdev.rcpt_mask=6
```
And add this to `/etc/sysctl.conf` to persist it:
```sh
kern.evdev.rcpt_mask=6
```
# Intel
https://docs.freebsd.org/en/books/handbook/x11/#x-configuration-intel
```sh
pkg install drm-kmod
```
Add the kernel module
```sh
sysrc kld_list+=i915kms
```
# Fonts
```sh
pkg install urwfonts
```
But you're not done yet, you need to add a conf file:
```sh
nvim /usr/local/etc/X11/xorg.conf.d/90-fonts.conf
```
With the following:
```
Section "Files"
FontPath "/usr/local/share/fonts/urwfonts/"
EndSection
```
# KDE
https://docs.freebsd.org/en/books/handbook/desktop/#kde-environment
```sh
pkg install kde
```
```sh
sysrc dbus_enable="YES"
sysctl net.local.stream.recvspace=65536
sysctl net.local.stream.sendspace=65536
```
```sh
pkg install sddm
```
```sh
sysrc sddm_enable="YES"
sysrc sddm_lang="en_US"
```
# Wayland
```sh
pkg install wayland seatd
```
```sh
sysrc seatd_enable="YES"
service seatd start
```