树莓派入门--在Linux下搭建开发环境
树莓派入门–在Linux下搭建开发环境
[toc]
环境
由于网上绝大多数教程应该都是在Windows在如何烧写系统之类的,而我身为一个Linux用户(已经爱上Linux),就为Linux下的使用增添加瓦吧~(其实是因为我之前白嫖的内网穿透开始莫名其妙不给我用了,可能是嫖太多了emmmm,考虑到白嫖工具的网速之类问题,顺手就自己搭一个内网穿透环境吧(见下篇))
系统:Ubuntu20.10
架构:X64
材料:64G- TF卡一张、读卡器一个、树莓派4B 4G板卡一个
TF卡制作
其实和Windows下的区别,无非就是制作系统的步骤不一样、ssh的步骤不一样~(好像也就这两步哈?)
格式化分区
Ubuntu生态较为完备,一般可以直接使用磁盘工具进行设置:
如果没有这样的软件,当然用命令行都可以做到呀:
1 | fdisk /dev/sdb #sdb表示你的TF卡 |
上面EFI其实就是FAT类型的,这是由UEFI只支持FAT文件系统去承载EFI文件
如果不放心的话(强迫症是我)可以使用mkfs.vfat进行转换(.vfat就是fat的名字加强版,区别不打(vfat支持长文件名))
1 | mkfs.vfat /dev/sdb |
经过上面的分区操作,现在已经可以把系统写入到TF卡了!
下载系统
树莓派的官方系统在:https://www.raspberrypi.org/software/operating-systems/
在国内的话其实有很多镜像网站非常好用,比如清华源:https://mirrors.tuna.tsinghua.edu.cn/raspberry-pi-os-images/
1、2、3分别代表标准版、完整版、轻量版,其他见名知意,我选择了完整版最新的文件下载
制作系统盘
解压:下载的镜像是zip文件,所以要解压在linux下:
1 | unzip 2020-02-13-raspbian-buster-full.zip -d ./ #-d后面的路径是解压路径,./就是解压在当前路径 |
然后写入TF卡
1 | dd bs=4M if=2020-02-13-raspbian-buster-full.img of=/dev/sdb |
bs=4M代表blokesize一次写入的大小,大部分系统是支持的,如果不放心可以改成1M,就是烧录慢一点而已
if代表in_file
of代表out_file
照着抄就行啦
然后烧录完的TF卡如下:
然后就开始插到板子里了
上电、连线、开机
- 由于
没钱没有准备相应的HDMI线、键盘等工具,所以只是个裸板,为了能够直接通过网络操作我的树莓派,所以要先在上面写完的TF卡中,打开其中的boot文件夹,在里面新建一个ssh文件:
1 | touch /media/boot/ssh |
- 然后连接网线和电源线,其中电源线就用常规的手机充电器就行
其中1、2、3分别插入TF卡、手机充电器、网线
对于一个裸机,这写就足够了,如果没有网线的话,也可以在上述boot文件夹下添加wifi连接参数,也可以的。
开机
树莓派并没有关机按键,所以插上电源以后就开机了,这时我们可以使用arp -a
来查看局域网下的网络设备,其中排除所有已知ip以后就可以确定树莓派的ip地址
当然,手机上使用Fing(一个软件)一眼就能看出哪个是树莓派的ip:
ssh和vnc
ssh
经过以上配置,开机以后便可以直接通过ssh连接树莓派:
其中1处的pi是这个系统的默认用户名,2处输入系统的默认密码是:“raspberry
”
这样就进入系统了!
VNC
要是想使用VNC,还需要一定的配置。
首先执行sudo raspi-config
然后按照图示进行选择:
此时树莓派的VNC功能也配置完成了!
只需要在本机上使用VNC-viewer软件即可查看树莓派的桌面了!
其中ubuntu自带的远程桌面:
但是我遇到了这个:
然后我查到说树莓派自带的vncserver的加密方式与tigervnc viewer不同,所以只好换一个(也可以在树莓派上重新安装其他版本的vncserver),网上推荐realvnc-viewer,下载地址:https://www.realvnc.com/en/connect/download/viewer/
输入ip地址,后面跟着vncserver的虚拟桌面序号,就可以连接成功啦~
换源
经过一定的配置,现在已经是一个可以正常使用的小电脑啦
为了更快的安装软件,国内用户经常需要替换软件源,将相应文件按下图编辑并替换掉:
然后再更新apt仓库即可
1 | sudo apt-get update |
如果不知道替换适合自己的版本的话,也可以去清华大学软件源查看:地址——https://mirrors.tuna.tsinghua.edu.cn/help/raspbian/