在我的舊 MSI 筆電上安裝 FreeBSD 15
從我第一次知道 FreeBSD 的時候,我就一直想在其中一台留著測試用的舊筆電上試試看它。原因很簡單,因為它是 Unix 系統(但不是 Linux!)。而且現在的 macOS 好像也繼承了很多來自 FreeBSD 的程式。
因為我本來就很喜歡用 Unix 系統,所以 FreeBSD 一直在我的名單裡只是一直沒時間裝。今天終於來動手了。剛好 FreeBSD 15 最近上架了 理論上應該能在我家這台舊 MSI 筆電上順跑 ——— 這台是 Intel CPU 搭 Intel顯示卡。
用 Mac OS 製作可開機 USB
第一步是用 Mac 製作可開機 USB。這部分不難,不需要額外軟體,只是要特別注意不要格式化錯的磁碟。
先找出 USB:
diskutil list
它旁邊會寫著 (external, physical)。在我這邊是:
/dev/disk4 (external, physical)
接著先unmount這個磁碟,讓它變成不inactive的狀態,才能寫入ISO檔(要把 /dev/disk4 換成你自己的):
diskutil unmountDisk /dev/disk4
然後用 dd 把 iso 寫進 USB:
sudo dd bs=4m if=FreeBSD-15.0-RELEASE-amd64-dvd1.iso of=/dev/disk4 status=progress
補充:
- 需要 sudo。
- bs 設定每次寫入 4MB。
- status=progress 會顯示進度,不然不知道還剩下多少。
安裝 FreeBSD
我其實以前裝過一次 FreeBSD 14 不過最後放棄了,因為DE (Desktop environment) 一直失敗,應該是因為那時候用 nVidia 的顯示卡。FreeBSD 15 從一開始就感覺不太一樣 —— 安裝的畫面現在可以用滑鼠!
安裝過程第一步會問鍵盤設定,我通常保持預設,之後再調。Hostname 可以輸入像 “freebsd” 這樣的簡單名稱(我記得我以前一次留空過,結果 WiFi 卡無法使用)。
FreeBSD 15 和 14 相比,新增了一步,會問你要用以前的 distribution sets 還是新的 package 方式(現在還是tech preview)。這點在他們的網站也有提到。FreeBSD 15 引入了用 pkg 管理 base system 的方式。以前 base 系統不是用package管理的,現在可以了。舊方式預計在 FreeBSD 16 移除,所以我決定試試新方式(如下圖)。
接著會要求設定 WiFi 才能下載套件。
下一步是分割區,我選 ZFS(Stripe)。
然後安裝程式會問你是否要額外安裝其他package,我只選 “base”。
安裝完成後會問你開機要啟動哪些服務,我選啟動 sshd。因為之後我想從 Mac 用 ssh 登入 FreeBSD 來設定drivers和DE (Desktop environment)。
最後建立使用者,並加入 wheel 群組,這和給 sudo 權限差不多,然後重新開機。
在 FreeBSD 上設定 KDE Plasma
先登入成 root 安裝 vim:
pkg install vim
然後修改 sshd_config 讓 root 能用 SSH 登入:
vim /etc/ssh/sshd_config
找到這行,把註解拿掉並設成 Yes:
# PermitRootLogin no
要補充一下,允許 root 登入不適合用在公開伺服器,這裡只是用家中 WiFi。
修改完後重啟 sshd:
service sshd restart
接著查看 FreeBSD 在家中網路的 IP:
ifconfig
找到類似:
wlan0: inet 192.168.x.x
然後從另一台電腦連線:
ssh [email protected]
接著就能照著 FreeBSD Handbook 繼續安裝DE。
我們要安裝三樣東西:
- Drivers
- X Window System
- Plasma 桌面 (DE)
先查看我們的顯示卡:
pciconf -lv | grep -B3 display
然後安裝需要的drivers:
pkg install drm-kmod
這套件包含 AMD 和 Intel 顯示drivers。
接著把需要的模組加到 /etc/rc.conf:
sysrc kld_list+=i915kms
這是 Intel 的例子,如果你用其他 GPU 看手冊。
然後安裝 X:
pkg install xorg
接下來,我們會把使用者加入「video」群組,並安裝 sudo,這樣就可以讓我們使用者來執行 sudo 指令:
pw groupmod video -m username
pkg install sudo
由於我們之前已把使用者加到 wheel 群組,現在開放 wheel 使用者免密碼使用 sudo:
visudo
然後取消註解:
# %wheel ALL=(ALL:ALL) NOPASSWD: ALL
接著安裝DE:
pkg install kde
然後在 rc.conf 開啟 D-BUS:
sysrc dbus_enable="YES"
KDE Plasma 需要較大的 message size:
sysctl net.local.stream.recvspace=65536
sysctl net.local.stream.sendspace=65536
啟動 KDE Plasma
KDE Plasma 使用 SDDM 作為顯示管理器,負責登入畫面和啟動桌面。
pkg install sddm
然後讓這個服務,在開機時啟動:
sysrc sddm_enable="YES"
之後重開機,就會看到 KDE Plasma 的登入畫面。
最後心得
我最意外的是整個過程比想像中順利很多,主要是因為,FreeBSD的手冊寫得很清楚,完全不需要找額外資料或看 YouTube教學的影片。而且速度真的很快!感覺 Firefox 開網頁的速度非常快,可能是因為背景中少了很多不必要的程式在運行。這也帶到我的第二個重點:FreeBSD 給人的感覺非常簡單。也許因為缺少各種額外的應用程式和 AI 功能,才能讓人專心把工作做好。
接下來我想開始用 FreeBSD 工作,也會去學 Jails。之後會再分享更新。