最近新入手一块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. JavaScript 空间坐标

    基础知识 首先参考画布分为视口(窗口)与文档的含义 网页很多都是多屏,所以文档尺寸一般大于视口尺寸 视口尺寸不包括浏览器工具条.菜单.标签.状态栏等 当打开控制台后,视口尺寸相应变小 文档像posit ...

  2. Java反射概念与基础

    反射机制是Java动态性之一,而说到动态性首先得了解动态语言.那么何为动态语言? 一.动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化.比如常见 ...

  3. 【Net】StreamWriter.Write 的一点注意事项

    背景 今天在维护一个旧项目的时候,看到一个方法把string 转换为 byte[] 用的是写入内存流的,然后ToArray(),因为平常都是用System.Text.Encoding.UTF8.Get ...

  4. fatal error: glib.h: No such file or directory

    在学习BLE bluez的时候,做了一个测试程序,看到gatttool.c下面有一个glib解析命令行的功能,想移植到自己的程序接口中,但是添加了#include <glib.h>后,出现 ...

  5. 算法-deque双端队列

    Python的deque模块,它是collections库的一部分.deque实现了双端队列,意味着你可以从队列的两端加入和删除元素 1.基本介绍 # 实例化一个deque对象d = deque()d ...

  6. Linux环境下如何生成core文件

    Linux环境下进程发生异常而挂掉,通常很难查找原因,但是一般Linux内核给我们提供的核心文件,记录了进程在崩溃时候的信息.但是生成core文件需要设置开关,具体步骤如下: 1.查看生成core文件 ...

  7. 团队作业1:团队展示&选题(歪瑞古德小队)

    目录 一.团队展示 1.1 队名:歪瑞古德小队 1.2 队员信息 1.3 项目描述 1.4 队员风采 1.5 团队分工 1.6 团队合照 1.7 团队特色 二.团队选题 2.1 Git仓库:https ...

  8. 牛客网PAT练兵场-A除B

    题目地址:https://www.nowcoder.com/pat/6/problem/4043 题解:遍历大数,边除边输出,最后得到余数输出即可 /** * *作者:Ycute *时间:2019-1 ...

  9. GA教程:使用自定义变量来扩展高级细分

    http://www.wocaoseo.com/thread-64-1-1.html 您可以使用自定义变量来扩展高级细分的范围. 高级细分依据的标准是用户的会话(访问)数据.如果某个访问者在指定日期范 ...

  10. 【Android】SlidingTabLayout实现标题栏,教你制作title标题 简单易学。

    SlidingTabLayout 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985, QQ986945193 微博:http://weibo.com/m ...