最近新入手一塊Raspberry Pi 4B 8G的板子,想在這塊板子上搭建CentOS 8的環境,通過屢次嘗試終於安裝成功。centos
準備條件:bash
1.Raspberry Pi 4B 板子 + SD卡服務器
2.網線一根,用於鏈接到路由器。網絡
3.下載Centos 8 for Raspberry Pi鏡像文件app
4.下載燒錄軟件etcherspa
安裝Centos83d
首先下載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檢查一下看看顯示的磁盤容量是否比實際的小。code
個人SD卡是16G,因此個人系統顯示的容量比個人實際容量小。若是是這種狀況的話,拷貝並運行下面的Script來擴展恢復磁盤容量。server
#!/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/