树莓派4B 安装Ubuntu Server 20.04 LTS踩坑经历
1 SD卡烧录
下载树莓派官方镜像烧录软件Raspberry Pi Imager for Windows。镜像可以从Ubuntu官方下载,也可以直接在烧录软件中选择CHOOSE OS->Other general purpose OS->Ubuntu->Ubuntu Server 20.04.3 LTS (RPi 3/4/400)(64-bit)
:
但建议从Ubuntu官网下载,树莓派烧录器的镜像下载速度非常慢。
2 WiFi连接
烧录好SD卡后按照其他博文配置了SD卡根目录下network-config
文件,但上电启动后怎么都连不上WiFi。也尝试使用笔记本的网口最终通过其他方法成功解决问题,记录如下。
-
首先请确保WiFi本身可用,校园网的WiFi可能需要认证登录等操作,因此建议使用手机热点,并保持全程开启。
-
终端输入
sudo nano /etc/netplan/50-cloud-init.yaml
,编辑内容如下所示:wifis: wlan0: dhcp4: true optional: true access-points: "home network": password: "123456789"
将
"home network"
改为实际WiFi名称,将password
改为对应密码。注意!:
- 冒号后有必须有空格,换行的不用。
- 缩进必须使用空格,TAB不可以,缩进多少字符不影响。
- WiFi名称和密码必须用双引号括起来。
修改完成后按
Ctrl+S
和Ctrl+X
退出。 -
依次执行:
$ sudo netplan –debug try $ sudo netplan –debug generate $ sudo netplan –debug apply
如果没有显示警告/错误信息,就执行
sudo reboot
重启。重启后再次登录,等待一分钟左右,手机中会显示有设备接入,名称为ubuntu
,此时树莓派就可以正常联网了~
3 安装桌面环境
- 几种桌面环境对比
Ubuntu-proper = Ubuntu OS + Gnome/Unity DE。常见的PC端Ubuntu桌面环境。
Kubuntu = Ubuntu OS + KDE。体量最大,是第二受欢迎的Ubuntu桌面环境,在资源占用上和Gnome差不多,4GB的树莓派依然会卡。
Lubuntu = Ubuntu OS + LXDE。最轻量,但需要很多定制设定才能用着方便。
Xubuntu = Ubuntu OS + Xfce DE。体量比Lubuntu大,但依然很轻巧。
这里选择xubuntu作为桌面环境。 - 执行
sudo apt install xubuntu-desktop
,等待自动安装即可。
安装过程中会提示选择gdm/lightdm,我选择了lightdm。
安装完成后执行sudo reboot
重启,就能看到桌面啦:
4 蓝牙连接
装好系统后发现蓝牙不能正常使用,参考树莓派3B+ Ubuntu arm64蓝牙连接后成功解决,复述如下:
sudo hciattach /dev/ttyAMA0 bcm43xx 921600 noflow -
第一次可能会提示timeout,再试一次即可。
进入蓝牙控制:
sudo bluetoothctl
开启蓝牙:
power on
打开本机蓝牙可被发现:
discoverable on
搜索设备:
scan on
这时终端里会显示很多搜索到的蓝牙设备名称及其地址,复制你想连接的设备地址,这里用ADRESS
代替。
配对:
pair ADDRESS #这里的ADDRESS替换为实际地址
连接:
connect ADDRESS
退出:
exit
2021-11-13 更新:对于第一次hciattach
运行超时的问题,只要将921600去掉即可,但是否会对蓝牙通信速度及稳定性造成影响仍有待考证。
上述方法在重启系统后会失效,仍要执行sudo hciattach /dev/ttyAMA0 bcm43xx 921600 noflow -
才能开启蓝牙。一种解决方法是将这行命令写成shell文件,然后放到开机启动里。
后来经过研究,发现只要安装pi-bluetooth
即可完美解决所有问题:
sudo apt install pi-bluetooth
5 其他
- 可以基于树莓派打造一个小网盘,参考在Linux中配置Samba服务器实现网盘。
可以调整一些参数让树莓派网盘的上传/下载速度更快,参考树莓派4b部署 samba 遇到的问题。 - 在树莓派Ubuntu 20.04中安装ROS Noetic或ROS2,参考http://wiki.ros.org/noetic/Installation/Ubuntu,https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Binary.html#id12。