admin管理员组文章数量:1608629
系列文章目录
文章目录
- 系列文章目录
- 前言
- 一、准备
- 1.1.硬件
- 1.2.软件
- 二、操作流程
- 2.1.烧录
- 2.2.开机
- 2.3.远程SSH连接
- 2.3.系统配置
- 2.4. VNC链接
- 三、SD卡快速扩容
- 3.1.使用raspi-config扩容
- 3.2增大交换分区大小
- 3.3还有一种方法增大交换分区大小
- 四、换源
- 4.1.版本
- 4.2.操作
- 五、nano编辑器的使用
- 5.1.关于
- 5.2.安装
- 5.3.使用
前言
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,下面是各版本对应的名字。
Version | Code name | Release date | Toy Story character |
---|---|---|---|
1.1 | Buzz | 1996-06-17 | Buzz Lightyear |
1.2 | Rex | 1996-12-12 | Rex (the T-Rex) |
1.3 | Bo | 1997-06-05 | Bo Peep |
2.0 | Hamm | 1998-07-24 | Hamm (the pig) |
2.1 | Slink | 1999-03-09 | Slinky Dog |
2.2 | Potato | 2000-08-15 | Mr Potato Head |
3.0 | Woody | 2002-07-19 | Woody the cowboy |
3.1 | Sarge | 2005-06-06 | Sarge from the Bucket O’ Soldiers |
4.0 | Etch | 2007-04-08 | Etch, the Etch-A-Sketch |
5.0 | Lenny | 2009-02-14 | Lenny, the binoculars |
6.0 | Squeeze | 2011-02-06 | Squeeze toy aliens |
7 | Wheezy | 2013-05-04 | Wheezy the penguin |
8 | Jessie | 2015-04-26 | Jessie the cowgirl |
9 | Stretch | 2017-06-17 | Rubber octopus from Toy Story 3 |
10 | Buster | 2019 | Andy’s pet dog |
11 | Bullseye | 2022-5 | Woody’s horse |
12 | bookworm | 2023 |
事实上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/debian bookworm main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu/debian-security bookworm-security main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu/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/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,相对来说较为复杂。
版权声明:本文标题:毕设之路(一):树莓派初始化配置 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728532089a1162246.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论