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

Raspberry Pi 4B 安装 CentOS 8的更多相关文章

  1. Raspberry PI 4B 安装和配置 Raspbian

    做记录,以备之后需要,待完成中 目录 做记录,以备之后需要,待完成中 下载镜像和安装程序 ssh 远程访问 下载镜像和安装程序 Raspbian: installer: ssh 远程访问 开启ssh ...

  2. Raspberry Pi 4B 安装QT5和qtCreator

    https://blog.csdn.net/coekjin/article/details/52049273 sudo apt-get install qt5-default sudo apt-get ...

  3. Raspberry Pi 4B基本设置

    目录 一.SSH登录Raspberry Pi 二.开启VNC服务 三.将SD卡分区扩展 四.修改软件源 一.SSH登录Raspberry Pi 完成系统烧录后,就需要登录Raspberry Pi,此时 ...

  4. VLOG丨树莓派Raspberry Pi 3安装PLEX并挂载USB硬盘打造最牛的微型家庭影音服务器2018

    视频介绍 树莓派3安装目前最流行的PLEX服务器,实现既能最大限度降低功耗,也能随时随地观看分享影片. 一.在树莓派下安装PLEX媒体服务器 1.在终端,将你的树莓派更新至最新 sudo apt up ...

  5. Raspberry Pi 4B 使用OpenCV访问摄像头picamera模块

    目录 1.OpenCV安装 (1)安装依赖 (2)下载OpenCV源码 (3)安装pip (4)安装Python虚拟机 (5)编译OpenCV (6)验证安装 2.使用OpenCV和Python控制摄 ...

  6. raspberry pi 4b 常见的一些配置信息

    实验记录地址 https://gitee.com/dhclly/icepi.raspberry-pi 针脚图 面包板 gnd & vcc VCC:电路的供电电压: GND:指板子里面总的地线. ...

  7. Raspberry Pi 4B Web服务器配置

    目录 1. 安装nginx 2. 安装PHP 3. 修改nginx配置文件 4. 安装MariaDB数据库 参考资料1:树莓派4B安装PHP7.3 + Nginx + MySQL 教程 参考资料2:[ ...

  8. 在Raspberry Pi上安装XBMC

    2013-05-22 XBMC is a free and open source media player application developed by the XBMC Foundation, ...

  9. 树莓派(1)- Raspberry Pi 3B 安装系统并联网

    一.背景 昨天到手淘宝买的3B,既然买了就不能让它吃灰,动起来. 二.物料 名称 说明 硬件  树莓派3B 主体 树莓派电源 5V 2A sd卡 4G低速(推荐是16G class10),我手头只有这 ...

随机推荐

  1. Jmeter 常用函数(21)- 详解 __char

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 根据给定的字符值转换成 Unicode ...

  2. 你怎么改造和重新设计一个ATM银行自动取款机

  3. 微信access token过期

    两台服务器使用同一个微信账号(同一个app id) 时,当其中一台服务器向微信请求access token时,会造成另一台服务器的access token过期

  4. Vue管理系统前端系列四组件拆分封装

    目录 组件封装 首页布局拆分后结构 拆分后代码 状态管理中添加 app 模块 组件封装 在上一篇记录中,首页中有太多的代码,为了避免代码的臃肿,需要对主要的功能模块拆分,来让代码看起来更简洁,且能进行 ...

  5. Jenkins读取Allure结果出报告

    1.想 jenkins 有展示和解析 Allure 报告的能力,就必须装 Allure 插件. 「安装插件地址:」 http://updates.jenkins-ci.org/download/plu ...

  6. Java数据结构——双端队列

    双端队列(Deque)双端队列是指允许两端都可以进行入队和出队操作的队列,其元素的逻辑结构仍是线性结构.将队列的两端分别称为前端和后端,两端都可以入队和出队.Deque继承自Queue接口,Deque ...

  7. 区块链入门到实战(22)之以太坊(Ethereum) – 账号(地址)

    作用: 外部账号 – 用户使用的账号,账户余额. 合约账号 – 智能合约使用的账号,每个智能合约都有一个账号,内存和账户余额 以太坊(Ethereum)网络中,有2种账号: 外部账号 – 用户使用的账 ...

  8. Sign in with Apple 流程总结

    流程图 相关说明 UserId 与用户的 Apple Id 一一对应.在同一个开发帐号下的所有 app 里,获取到的值都一样. IdentityToken identityToken 是一个 Json ...

  9. 在使用postman中操作api接口测试403解决方法

    在向Jenkins发送请求时收到了这样的403错误信息: No valid crumb was included in the request 后来通过google找到了解决方案. http://st ...

  10. C语言复习-字符串与指针

    C语言复习-字符串与指针 例一: [字符串处理 去除C代码中的注释] C/C++代码中有两种注释,/* */和//.编译器编译预处理时会先移除注释.就是把/*和*/之间的部分去掉,把//以及之后的部分 ...