最近新入手一塊Raspberry Pi 4B 8G的板子,想在這塊板子上搭建CentOS 8的環境。經過數次採坑終於安裝成功。
準備條件:
1.Raspberry Pi 4B 板子 + SD卡
2.網線一根,用於連線到路由器。
3.下載Centos 8 for Raspberry Pi映象檔案
4.下載燒錄軟體etcher
安裝Centos8
首先下載CentOS 8的系統映象CentOS-Userland-8-stream-aarch64-RaspberryPI-Minimal-4-sda.raw,然後使用etcher將映象燒錄到SD卡。燒錄完成後,將SD卡插入RaspberryPi 4B,並同時用網線連線到路由器。登入路由器後臺檢視RaspberryPi 4B的Ip,然後使用PuTTY登入到Raspberry Pi 4B(賬號root,密碼centos)。
由於是最小安裝,所以會缺少一些功能。如果想要使用這些功能,只能通過手動來安裝。首先執行命令 df -h檢查一下看看顯示的磁碟容量是否比實際的小。
我的SD卡是16G,所以我的系統顯示的容量比我的實際容量小。如果是這種情況的話,拷貝並執行下面的Script來擴充套件恢復磁碟容量。
#!/bin/bash clear part=$(mount |grep '^/dev.* / ' |awk '{print $1}') if [ -z "$part" ];then echo "Error detecting rootfs" exit -1 fi dev=$(echo $part|sed 's/[0-9]*$//g') devlen=${#dev} num=${part:$devlen} if [[ "$dev" =~ ^/dev/mmcblk[0-9]*p$ ]];then dev=${dev:0:-1} fi if [ ! -x /usr/bin/growpart ];then echo "Please install cloud-utils-growpart (sudo yum install cloud-utils-growpart)" exit -2 fi if [ ! -x /usr/sbin/resize2fs ];then echo "Please install e2fsprogs (sudo yum install e2fsprogs)" exit -3 fi echo $part $dev $num echo "Extending partition $num to max size ...." growpart $dev $num echo "Resizing ext4 filesystem ..." resize2fs $part echo "Done." df -h |grep $part
執行上述命令後發現SD卡容量恢復的正常。
WiFi網路配置
由於網線連線路由器比較麻煩,不能把Raspberry Pi 4B 電腦邊上,這樣就不方便隨時除錯。因此我決定配置WiFi,後面的配置都使用WiFi來進行連線網路 ,徹底甩掉網線的牽絆。使用下面命令連線WiFi,注意雙引號是英文格式的。
nmcli dev wifi con “wifi名稱” password “wifi密碼”
然後使用nmcli conn 命令來檢視WiFi連線情況。如下圖所示可以發現WiFi已經連線成功,由於網線被我拔掉了所以只顯示出WiFi的連結資訊。
配置無線網路卡靜態Ip
由於RaspberryPi 4B每次重啟後,Ip可能會變動,為了方便不想每次都去查詢Ip,所以設定WiFi靜態ip。有兩種方式來設定,一是使用路由器後臺繫結Ip和MAC。二是使用命令或網路指令碼來設定,我選擇使用命令來操作。
將Ip 地址(192.168.0.105)非配給無線網路卡wlan0,可能由於連線WiFi時未指定連線名稱,WiFi連線資訊儲存檔案就是用SSID名稱命名了,所以這裡要使用SSID來設定。
nmcli con mod SSID ipv4.addresses 192.168.0.105/24
設定閘道器
nmcli con mod SSID ipv4.gateway 192.168.0.1
設定手動配置靜態DHCP
nmcli con mod SSID ipv4.method manual
設定DNS 為 “8.8.8.8”
nmcli con mod SSID ipv4.dns “8.8.8.8”
儲存上述設定並重啟網路卡
nmcli con up SSID
檢視wlan0網路卡資訊,是否正確分配Ip
Ip addr show wlan0
安裝桌面環境
以後可能需要同在RaspberryPi 4B 上設定GUI相關的操作,所以我現在需要安裝桌面環境。
dnf update -y
dnf groupinstall “Server with GUI” --allowerasing --skip-broken -y
--allowerasing --skip-broken 用於處理包衝突,或無法安裝的包,使安裝過程走下去。由於已經配置相關環境,可能會和源裡的包版本不一致等原因需要使用上述命令。
安裝桌面環境可能花費時間較多,需要耐心等待一會。
配置VNC
同時配置使用SSH和VNC可能會更方便使用RaspberryPi 4B,所以安裝完桌面環境後我把VNC伺服器也安裝了。
dnf install tigervnc-server
安裝完之後使用vncserver命令來執行初始化和設定密碼。
設定完密碼後開始啟動VNC服務,同時設定為開機啟動。
systemctl --user enable vncserver@:1.service --now
然後執行如下命令,在系統啟動後、使用者登入前服務可以正常啟動並保持執行狀態。
loginctl enable-linger
最後看看VNC服務是否啟動成功
systemctl --user status vncserver@:1.service
使用VNC Viewer連線RaspberryPi 4B遠端桌面
輸入密碼之後就連線到遠端桌面。
參考資料:
http://reallyappreciate.com/raspberry-pi-4-8gb-model-with-centos-8/