Raspberry Pi 4B 安装 CentOS 8

  • A+
所属分类:linux技术
摘要

最近新入手一块Raspberry Pi 4B 8G的板子,想在这块板子上搭建CentOS 8的环境。经过数次采坑终于安装成功。

最近新入手一块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)。

 Raspberry Pi 4B 安装 CentOS 8

 由于是最小安装,所以会缺少一些功能。如果想要使用这些功能,只能通过手动来安装。首先运行命令 df -h检查一下看看显示的磁盘容量是否比实际的小。

 Raspberry Pi 4B 安装 CentOS 8

 我的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卡容量恢复的正常。

Raspberry Pi 4B 安装 CentOS 8

 WiFi网络配置

由于网线连接路由器比较麻烦,不能把Raspberry Pi 4B 电脑边上,这样就不方便随时调试。因此我决定配置WiFi,后面的配置都使用WiFi来进行连接网络 ,彻底甩掉网线的牵绊。使用下面命令连接WiFi,注意双引号是英文格式的。

nmcli dev wifi con “wifi名称” password “wifi密码”

然后使用nmcli conn 命令来查看WiFi连接情况。如下图所示可以发现WiFi已经连接成功,由于网线被我拔掉了所以只显示出WiFi的链接信息。

Raspberry Pi 4B 安装 CentOS 8

 配置无线网卡静态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

 Raspberry Pi 4B 安装 CentOS 8

 安装桌面环境

以后可能需要同在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命令来执行初始化和设置密码。

 Raspberry Pi 4B 安装 CentOS 8

设置完密码后开始启动VNC服务,同时设置为开机启动。

systemctl --user enable vncserver@:1.service  --now

然后执行如下命令,在系统启动后、用户登录前服务可以正常启动并保持运行状态。

loginctl enable-linger

最后看看VNC服务是否启动成功

systemctl --user status vncserver@:1.service

 Raspberry Pi 4B 安装 CentOS 8

 使用VNC Viewer连接RaspberryPi 4B远程桌面

 Raspberry Pi 4B 安装 CentOS 8

输入密码之后就连接到远程桌面。

Raspberry Pi 4B 安装 CentOS 8

参考资料:

http://reallyappreciate.com/raspberry-pi-4-8gb-model-with-centos-8/