树莓派4B初始化
步骤/目录:
1.购买树莓派4B并通过ssh登录
(1)烧录系统
(2)配置wifi(并配置默认用户)
(3)配置ssh并打开树莓派
(4)查找树莓派ip地址
a. arp -a
b. 路由器查看
c. 借助其他工具
d. 可能的问题
(5)使用ssh连接到树莓派
a. cmd的ssh命令
b. 其他连接工具
2.树莓派4B初始化设置
(1)更换密码
(2)更换apt下载源并apt更新
(3)配置远程桌面并登录
(4)更换时区
3.通过raspi-config命令设置
(1)Expand Filesystem
(2)Underscan
(3)Wireless LAN
本文首发于个人博客https://lisper517.top/index.php/archives/6/
,转载请注明出处。
本文实验日期为2022年2月3日,树莓派为4B(内存8G版),系统为Pi OS 32位桌面版(2022年1月28日更新,镜像名 2022-01-28-raspios-bullseye-armhf.img )。
1.购买树莓派4B并通过ssh登录
网购树莓派4b,8GB内存版(淘宝上2022年2月698¥,京东2021年1月689¥,2022年2月1029¥),3张金士顿64GB的micro-sd卡(读速100MB/s,写速10MB/s,1张单价2021年2月47.9¥,2022年1月35.8¥),官方电源(5.1V、3.0A,77¥->72¥)、树莓派外壳(23¥)、2根HDMI-microHDMI转接线(以防万一,2*14.5¥)、官方摄像头(camera v2非夜视版,209¥),总价1170.7¥。另有windows笔记本一台、wifi路由器一个、读卡器一个。
(1)烧录系统
第一次烧录时使用UltraISO,烧录后发现树莓派无法识别sd卡,改用Win32 Disk Imager(树莓派官方推出的Raspberry Pi Imager第一次用时也有些问题)。安装好后开始下载系统镜像,系统镜像下载地址,这里下载的是Raspberry Pi OS(Raspbian)32 位桌面版(推荐使用)
,下载文件名为2022-01-28-raspios-bullseye-armhf.zip
。下载好系统镜像(.zip文件)后,解压缩得到.img文件。然后将sd卡通过读卡器插上笔记本,烧录系统到sd卡:在Win32DiskImager窗口中,在 映像文件
一栏选择.img文件,在 设备
一栏中注意硬盘驱动器一定要选到sd卡,然后开始烧录。烧录时间根据sd卡读写速度和笔记本处理速度变化,本例中花费1min45s。另外,如果之后需要将烧录过系统的sd卡恢复成普通sd卡,可下载SD Card Formatter,以5.0.1版为例,操作如下:
插入sd卡后注意在 Drive 处选对盘符(两个都行)
Formatting options 中为 Quick format
点击 Format
最后,4B版本的树莓派第一次连接时可以通过预先配置做到全程无屏幕,关键就是后续两个步骤。
(2)配置wifi(并配置默认用户)
(需要说明的是,如果用的是老版系统或老版树莓派,可能不支持以下方法设置wifi、ssh。这时可以参考2013年的一根网线连树莓派或贴吧。其操作大致是笔记本连wifi,网线连接笔记本和树莓派,笔记本设置共享网络,注意共享网络是单个网络连接的属性,最后arp -a查找树莓派ip、连接ssh)
在sd卡的boot目录下新建txt文件,去掉后缀名并改名为wpa_supplicant.conf,写入:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="wifi名称"
psk="wifi密码"
scan_ssid=1
key_mgmt=WPA-PSK
priority=1
}
需要注意,这里填写的和笔记本用的应当是同一个wifi。scan_ssid=1
这一行可以使得路由器设置隐藏wifi时树莓派也能主动连接到wifi。
后续如要添加wifi,可更改/etc/wpa_supplicant/wpa_supplicant.conf
文件,如下添加network即可(删掉priority行):
network={
ssid="wifi名称"
psk="wifi密码"
key_mgmt=WPA-PSK
}
后续增加wifi时可以把第一个network里的priority也删掉。另外,wifi名称为中文时,用屏幕连上树莓派桌面配置好wifi后发现该文件中对应的ssid没有引号、为一些乱码,所以初次配置时wifi名称最好无中文字符。
最后,如果之后只用有线连4B、想关掉wifi和蓝牙,可在/boot/config.txt
的[all]
下添加:
dtoverlay=disable-wifi #禁用wifi
dtoverlay=disable-bt #禁用蓝牙
(2022年4月新增)2022年4月4日,Pi OS放出的新系统中为了安全问题取消了默认的pi用户。如果想体验原来的感觉,可以用官方烧录工具(官方烧录工具可以设置wifi和ssh、用户,一步到位)。或者也可以手动创建默认用户。
在boot目录下新建txt文件,去掉后缀名,改名为userconf,写入以下内容:
pi:$6$8WzhrUbnvxbJdS5n$p5acHHXaB02qI1eCJrSH4lSUOsXx9WnTvbNm2T9h9d/OmnFuf0qXGTAYF3GK5pqFONn7LiA4Khn4AHXcYG72D/
这样就创建了名为pi、密码为raspberry的用户,后续的步骤一样。这里创建的用户想切换为root,直接sudo su root
即可,Pi OS默认root没有密码。
(3)配置ssh并打开树莓派
同样在boot目录下新建txt文件,去掉后缀名,改名为ssh即可,该文件内容应为空。
树莓派无自带开关机键,插上电源后即开机。上述步骤完成后插上sd卡、连接电源,启动树莓派。
(4)查找树莓派ip地址
这一步比较关键,经常在此处找不到树莓派ip,又不知道前面哪一步出了问题。下面推荐3种方法:
a. arp -a
在windows命令行下输入arp -a,如果树莓派在其中,其ip地址格式应为192.168.x.x,类型为动态。不过由于windows的arp刷新经常不及时,找不到树莓派也是常有的事,可以等待一会儿再看看,或者换其他方法。
b. 路由器查看
连接到路由器(网页访问192.168.0.1,或其他地址,详情请参考自家路由器说明书),查看已连接的设备。如果用的是Raspbian、第一次连接,会发现名为raspberrypi的设备;若用其他系统,可比对树莓派开机前、开机后的所有连接设备名。
c. 借助其他工具
有许多第三方工具可以扫描ip。推荐Advanced IP Scanner。下载完成后参考说明使用该工具(注意自己家路由器的网段,一般是192.168.1.1,不过小米路由器是192.168.31.1,华为是192.168.8.1),若顺利则可扫描到 制造商
为 Raspberry Pi Foundation
的设备,即树莓派。
d. 可能的问题
总结一下到这一步可能出现的问题:
烧录镜像出错(本例中第一次用UltraISO烧录,结果树莓派无法识别sd卡)、wifi设置有误(wifi名和wifi密码是否正确,笔记本和树莓派是否使用同一wifi,wifi名有无中文字符)、系统版本问题(使用老版本树莓派,系统镜像为老版本raspbian或非raspbian,都可能不支持/boot/wpa_supplicant.conf连接wifi)。
(5)使用ssh连接到树莓派
需要注意,命令行下输入密码一般不显示。另外,远程桌面可以直接用root账户登录,但ssh默认只能以pi用户登录,连上后可以切换为root用户。树莓派默认账户、密码为pi@raspberry。在上一步中找到树莓派在局域网中分配的ip后,即可使用ssh工具连接树莓派。下面推荐两种方式:
a. cmd的ssh命令
在windows命令行输入:
ssh -oPort=22 pi@树莓派ip
第一次运行时会有警告,选择yes后,输入密码raspberry即可。
b. 其他连接工具
这里推荐PuTTY。为了避免中文乱码,下载完毕后,在左边选择 Categoty-Window-Translation
,将 Remote character set
改为 UTF-8。然后左边选择 Category-Session
,输入树莓派ip,端口为默认的22,点击 Open
连接即可。第一次连接也有警告,同意后即可连接到树莓派ssh界面,Login as
输入pi,password密码同样为raspberry。
2.树莓派4B初始化设置
初次连接到树莓派ssh界面后,有一些初始化设置要做:
(1)更换密码
树莓派默认账户密码为pi@raspberry,继续用默认密码不太安全。使用以下命令修改:
sudo passwd pi
然后输入新密码。顺便也可以设置一下root密码:sudo passwd root
。之后为了方便,可以通过su root
切换到root用户,但是在输入命令前最好知道命令的作用,并且有备份系统。
(2)更换apt下载源并apt更新
(提示:在cmd及ssh界面中,鼠标右键可粘贴文本内容)
需要说明,树莓派4B的apt默认源在欧洲,一般下载速度是很慢的。这里我用的系统更新日期为2022年1月28日(实验日期2022年2月3日),国内源一般来不及更新,后面apt可能会出问题。如果后面apt出问题,多半是源的问题,这时就可以取消默认源的注释。国外源的问题主要是时快时慢,几个月前连上还挺快,过一个月又连的慢。
下面以清华的源为例,不喜欢也可以换成阿里或其他的源。
nano /etc/apt/sources.list
,注释掉原有内容(也可以不注释、单纯添加以下内容),将文件内容改为:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
nano /etc/apt/sources.list.d/raspi.list
,注释掉原有内容(也可以不注释、单纯添加以下内容),将文件内容改为:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
然后更新(请保证网速较快,否则可能下载时间比较长):
apt update
apt upgrade
最后需要提醒,在树莓派上如果apt不管用可以尽量使用apt-get,因为apt-get功能更偏向底层一点。例如笔者更新时如果用的国内源就用apt,如果没有换pi的源则用apt-get。
(3)配置远程桌面并登录
如果对linux系统比较熟悉或者想锻炼自己,也可以跳过这一步。
(这一部分比较老旧了,可以看下面2022年3月更新的部分,使用Pi OS自带的realvnc)更新完毕后,开始配置远程桌面,这里使用xrdp+tightvnc:
apt install tightvncserver xrdp
执行这个命令时好像把realvnc-vnc-server卸载了,不过不重要(不想用tightvnc也可用realvnc,现在raspbian好像自带了realvnc)。
xrdp服务文件在/etc/init.d中,安装完毕后可以查看一下xrdp服务的状态:service xrdp status
,发现为active (running)
。如果是inactive
就可以使用/etc/init.d/xrdp restart
或service xrdp restart
重启xrdp服务。
然后在windows笔记本搜索栏中搜索 远程桌面连接 ,输入树莓派的本地ip及端口3389,本例中为192.168.0.61:3389,第一次登录会发出警告。继续登录,Session
为默认的Xorg
,账号密码为root和刚才修改的密码(也可以pi用户登录),成功显示桌面。这时桌面上出现了第一次登录树莓派的欢迎界面,点击Next即可完成其他设置(这里设置pi用户的密码后刚才设置的root密码也会被顶掉;键盘布局要改为US美国布局)。
(2022年3月更新)不用安装xrdp+tightvncserver了,现在树莓派确实自带了realvnc-server。输入raspi-config
,在3 Interface Options
里找到VNC
,确认即可开启realvnc-server,默认端口5900,在realvnc-viewer输入 树莓派ip::5900 、pi和密码 即可登录到桌面。不会用realvnc的可参考 在windows下开启VNC-搭建云游戏主机 。另外,若出现cannot currently show the desktop
,则需要修改分辨率:raspi-config
中的2 Display Options
-VNC Resolution
,选择一个合适的分辨率后保存并重启reboot
。最后提示,树莓派上vncserver --help
可查看realvnc-server能使用的命令。
(4)更换时区
进行如下操作:
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
这样就把时区换到了上海,最后date显示正确时间。
3.通过raspi-config命令设置
后续要修改设置可以使用raspi-config
命令,参考树莓派实验室。其中有些内容已经过时了,下面列出:
(1)Expand Filesystem
该设置可以确保sd卡的空间重分利用,目前在6 Advanced Options
下。
(2)Underscan
该设置可以调整屏幕分辨率或远程桌面分辨率。正常的桌面上方顶部应该有一条工具栏,若没有,可以在2 Display Options
下找到该设置。后面换显示器后屏幕大小不对也可用该设置。注意该设置生效对象,若对pi用户生效,则用root远程桌面登录后屏幕可能还是不对。
(3)Wireless LAN
该设置目前在1 System Options
下,可以添加新wifi。不过如前所述,也可以nano /etc/wpa_supplicant/wpa_supplicant.conf
,如下格式添加wifi:
network={
ssid="wifi名称" #最好无中文字符
psk="wifi密码"
key_mgmt=WPA-PSK
}
如果通过树莓派桌面右上角的wifi图标连上了名称为中文的wifi,观察该文件夹下的 network ,对应的ssid可能没有双引号包括,并显示为其他乱码。