毕设之路(一):树莓派初始化配置

系列文章目录



前言

raspberry pi一直在以比较快的速度发展,有些关于树莓派初始化的博客比较过时了,有些繁琐的步骤已经可以省略,所以干脆自己将配置过程中的步骤记录下来,一方面自己我在配置的过程中还比较顺利,有一定参考价值,另一方面也是为了以后不用再去找别人的博客来配置,所以这里我也写得比较整合。可能后面我在学习过程中出现什么问题还会继续更新。


一、准备

1.1.硬件

  • raspberry pi开发板:我这里用的是raspberry pi zero 2 w,芯片和raspberry pi 3b相同
  • 5V3A电源:如果用电脑的USB供电,当开发板上有外设,电压会不稳定,最好用专门的5V电源
  • microSD卡,因为我用的是raspberry pi zeor 2 w,tf卡支持到64GB,再大就需要用DiskGenius将存储卡格式改为FAT32格式。(超过64GB存储卡一般是exFAT格式,raspberry pi 4b以下都还不支持该格式),当然也不要太小,推荐16GB~64GB、
  • WiFi:WiFi的名字不要是中文
  • 一台能上网的windows电脑

1.2.软件

  • Xshell:ssh远程连接工具,在官网下载学校免费的版本,可以免费用一年,只需要注册一个邮箱就可以了 下载地址
  • raspberry pi imager:raspberry pi官方烧录软件 下载地址
  • VNC-viewer:通过VNC控制raspberry pi图形界面 下载地址
  • raspberry pi官方镜像文件地址:镜像文件下载

二、操作流程

2.1.烧录

打开下载的raspberry pi imager软件(下载的时候是安装程序imager.exe,要安装后才有raspberry pi imager),如下所示:
在这里插入图片描述
只有三个简洁的下拉菜单,第一个是选择raspberry pi对应型号的驱动,我的板子是zero 2 w,所以直接选就行了。
在这里插入图片描述
第二个是选择镜像文件,在这里面可以下载,但是我们已将在官网下载了想要的镜像,所以这里直接拉到最下面选Use cunstom(用户自定义),选择之前下载的镜像文件就行了。
在这里插入图片描述
最后就是选择要装系统的TF卡,这里软件会列出电脑上挂在的硬盘,千万不要选错了硬盘,被选中的硬盘是要被格式化的。
完成选择后会弹出弹窗选择是否个性化安装,选择编辑设置,按如下设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后及开始烧录,大概要个五分钟左右。

2.2.开机

将TF卡烧录完成后,从电脑拔出插入raspberry pi,接通电源,如果树莓派的绿灯常亮,那就是系统正在运行了(这里不同款的raspberry pi显示不一样,具体情况要自己查资料)

2.3.远程SSH连接

其实我直接是将raspberry pi接上了显示器鼠标键盘,因为在没有调试raspberry pi的swap内存的时候,用SSH远程连接相当容易卡死,我卡了几回,干脆就直接连上显示器了。如果没有这些东西,就先用Advanced_IP_Scanner在局域网里面找raspberry pi的IP就行了,自己会的用kali的masscan也可以找到。
找到raspberry pi的IP后,打开Xshell,点击文件建立新的连接,在主机一栏填上raspberry pi的IP就可以了,后续界面输入之前在个性化安装里面设置了Username和Password就可以连上了。

在这里插入图片描述

2.3.系统配置

不管是SSH远程连接还是直接连外设操作,完成后就开始系统配置。在终端输入:sudo raspi-config进入树莓派的系统设置,首先进入Interfacing Options打开SSH和VNC,(虽然在个性化安装那里已经打开了SSH,但是再开一遍也没什么不好的),完成后要输入sudo reboot重启才会生效。

在这里插入图片描述

2.4. VNC链接

因为我烧录的是提前搭建好基本环境的系统,所以这里面我们直接用VNCviewer来远程链接桌面,和Xshell的连接别无二致。

在这里插入图片描述
在这里插入图片描述
连接上就能看到桌面了。
注意:在raspberry pi上电后,要等个大概五分钟再在电脑上打开VNC,因为raspberry pi开机还蛮久的。

到这里系统的配置大概就完成了,下面就是一些非常有用的设置。

三、SD卡快速扩容

在树莓派实际使用当中,我们会发现SD卡的存储并没有得到充分的利用,是否有办法让可用空间变的更大,毫无疑问肯定是有的。

3.1.使用raspi-config扩容

首先输入df -h命令可以看到,当前root分区总共只用了3.1G,而可用空间仅剩288M,但实际我们的存储是16G的,所以可用空间理论上不应该这么小

在这里插入图片描述
此时可以利用raspi-config对root分区进行扩容输入命令:sudo raspi-config
选择7 Advanced Options
再选择A1 Expand Filesystem Ensures that all of ….
询问是否修改root分区,直接回车
到首页面,按Tab键,选择Finish,回车
询问是否重启,选择重启
重启完后,输入df -h,会发现root分区已经扩容成功
在这里插入图片描述

3.2增大交换分区大小

使用树莓派编译程序的时候,遇到程序比较大,编译到某个文件的时候树莓派会死机,关机之后重启可以继续使用,但是编译到同一个地方树莓派又死机的问题。这个问题出现的主要原因是这是因为树莓派默认的给的swap分区只要100M,而编译某些文件的时候需要较大的交换空间,树莓派的交换空间被用满所以树莓派看起来好像是死机了的样子。

关于交换分区的解释大致如下:
Swap分区是磁盘上的一个特殊用途的分区。是当系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
分配太多的Swap空间,会浪费磁盘空间,而Swap空间太少,则系统会发生错误。一般在内存小于2G的情况下,交换分区应为内存的2倍。对于树莓派来说,可以设置为2GB。当然也需要考虑 microSD 卡容量和使用情况。
修改方法如下:

pi@raspberrypi:~ $ sudo vi /etc/dphys-swapfile #输入如下命令

# /etc/dphys-swapfile - user settings for dphys-swapfile package
# author Neil Franklin, last modification 2010.05.05
# copyright ETH Zuerich Physics Departement
#   use under either modified/non-advertising BSD or GPL license

# this file is sourced with . so full normal sh syntax applies

# the default settings are added as commented out CONF_*=* lines

# where we want the swapfile to be, this is the default
#CONF_SWAPFILE=/var/swap

# set size to absolute value, leaving empty (default) then uses computed value
#   you most likely don't want this, unless you have an special disk situation
CONF_SWAPSIZE=2048 #将该字段的100改为2048

# set size to computed value, this times RAM size, dynamically adapts,
#   guarantees that there is enough swap without wasting disk space on excess
#CONF_SWAPFACTOR=2

# restrict size (computed and absolute!) to maximally this limit
#   can be set to empty for no limit, but beware of filled partitions!
#   this is/was a (outdated?) 32bit kernel limit (in MBytes), do not overrun it
#   but is also sensible on 64bit to prevent filling /var or even / partition
#CONF_MAXSWAP=2048

然后重启下服务

pi@raspberrypi:~ $ sudo /etc/init.d/dphys-swapfile restart
[ ok ] Restarting dphys-swapfile (via systemctl): dphys-swapfile.service.
pi@raspberrypi:~

我们就把Swap分区从100M调整到了2G

3.3还有一种方法增大交换分区大小

为了确保系统中有足够的空间来用做swap交换空间,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件

sudo mkdir image
sudo touch swap

添加交换文件并设置其大小为2G,使用如下命令

sudo dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000

过段时间就返回如下结果:

2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB, 2.0 GiB) copied, 242.095 s, 8.7 MB/s

创建(设置)交换空间,使用命令mkswap

sudo mkswap /opt/image/swap

返回结果:Setting up swapspace version 1, size = 2 GiB (2097147904 bytes)
第四步:检查现有的交换空间大小,使用命令free

free -m

              total        used        free      shared  buff/cache   available
Mem:            925         185          28          14         711         660
Swap:             0           0           0

或者检查meminfo文件

grep SwapTotal /proc/meminfo

第五步:启动新增加的2G的交换空间,使用命令swapon

sudo swapon /opt/image/swap

第六步:确认新增加的2G交换空间已经生效,使用命令free

free -m
              total        used        free      shared  buff/cache   available
Mem:            925         328          56          32         541         502
Swap:          1999           0        1999

第七步:修改/etc/fstab文件,使得新加的2G交换空间在系统重新启动后自动生效

sudo nano /etc/fstab

在文件最后加入:

/opt/image/swap  /swap   swap   defaults 0 0

重启之后再次编译,就把Swap分区从100M调整到了2G

四、换源

raspberry pi默认下载软件的服务器在国外,由于众所周知的原因,会出现下载资源超级慢、或者直接没用的情况以及无法更新的情况。这时我们可以更换为我们国内的镜像站来加快速度

所谓镜像网站是指将原网站的内容复制到另一个服务器上的网站。镜像网站的目的有保存网页信息,对不可用的信息提供连接途径,保存历史性的数据,平衡网站的流量负载,对因流量激增而下线的站点提供临时的访问等。镜像网站的选择一般要考虑离自己地理位置最近的站点速度最快,有些镜像网站还可以自动搜索最佳服务器

4.1.版本

主要是修改/etc/apt/sources.list和/etc/apt/sources.list.d/raspi.list两个文件

然后这里就会出现一个问题,raspbian是分版本的,可以看到,这里支持更换:

  • stretch
  • buster
  • bullseye

这三种版本的源,系统底层如果是Debian9相对应的版本就是stretch版本,其他版本系统对应版本可以依次推算。可以用cat /etc/lsb-release查看版本号
在这里插入图片描述

有意思的是Debain各版本取名字是按照玩具总动员的角色名字来取名的,例如debian1.1就叫Buzz
lightyear,下面是各版本对应的名字。

VersionCode nameRelease dateToy Story character
1.1Buzz1996-06-17Buzz Lightyear
1.2Rex1996-12-12Rex (the T-Rex)
1.3Bo1997-06-05Bo Peep
2.0Hamm1998-07-24Hamm (the pig)
2.1Slink1999-03-09Slinky Dog
2.2Potato2000-08-15Mr Potato Head
3.0Woody2002-07-19Woody the cowboy
3.1Sarge2005-06-06Sarge from the Bucket O’ Soldiers
4.0Etch2007-04-08Etch, the Etch-A-Sketch
5.0Lenny2009-02-14Lenny, the binoculars
6.0Squeeze2011-02-06Squeeze toy aliens
7Wheezy2013-05-04Wheezy the penguin
8Jessie2015-04-26Jessie the cowgirl
9Stretch2017-06-17Rubber octopus from Toy Story 3
10Buster2019Andy’s pet dog
11Bullseye2022-5Woody’s horse
12bookworm2023

事实上2023年是奇数,因此有一个新的重要 Debian 版本发布,在此基础上,raspberry pi社区发布相应版本的 Raspberry Pi OS。因此如果你使用的是官方最新的64位OS,对应的是Debian12,bookworm版本。

4.2.操作

修改/etc/apt/sources.list:sudo nano /etc/apt/sources.list
打开后是raspberry pi默认的三个源,注释掉,换成下面代码

deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm-updates main contrib non-free-firmware

修改/etc/apt/sources.list.d/raspi.list:sudo nano /etc/apt/sources.list.d/raspi.list
依然是将内容注释掉,换成下面代码

deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi bookworm main

测试 sudo apt update 和 upgrade 均没问题。

注意,最好先对Swap空间扩容再进行换源和更新,不对Swap扩容的话太容易卡在未知地方了——来自卡了很多回前辈的忠告。

五、nano编辑器的使用

说实在的,虽然学了linux很久了,但是vim还是用不习惯,可能这就是来自学渣的悲哀吧,可恶!
和vim比起来nano感觉超级好用的说。

5.1.关于

Nano是一个简单易用的文本编辑器,适用于终端环境。它具有轻量级、快速启动和基本功能的特点,非常适合新手使用。Nano最早是Pico编辑器的克隆版本,后来发展成为一个独立且功能更加强大的编辑器。它具有简洁的用户界面、直观的操作方式和丰富的快捷键,使得编辑文本变得更加高效和愉快。

5.2.安装

最新的raspi OS自带nano编辑器哦,如果要自己下就如下代码:

  • 在Debian/Ubuntu系统上安装Nano
sudo apt-get update
sudo apt-get install nano
  • CentOS/RHEL系统上安装Nano
sudo yum install nano

5.3.使用

打开文件:nano filename.txt
基本操作:(与vim对比)

  • 光标移动和选择文本
    Nano中光标移动的方式与vim有所不同,可以使用方向键来进行上下左右的移动。在选择文本时,可以按住Shift键并与方向键结合使用,来选择文本。

  • 插入和删除文本
    在Nano中,直接开始输入即可在光标处插入文本。按下Backspace键或Delete键可以删除字符,相比于vim,这里没有i、a、o、A、I等模式,更为简单直接。

  • 保存和退出文件
    Nano的保存和退出命令是通过组合按键而实现的:按下Ctrl键加上字母O来保存文件,然后按下Ctrl键加上字母X来退出Nano。而vim中则是输入:wq来保存文件并退出。

  • 搜索和替换文本
    Nano中搜索文本的快捷键是Ctrl + W,而替换文本的快捷键是Ctrl + R。和vim相比,vim中搜索文本的快捷键是/,而替换文本的快捷键是:%s/old/new/g,相对来说较为复杂。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值