Bootstrap

树莓派4B 安装Ubuntu Server 20.04 LTS踩坑经历

树莓派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。也尝试使用笔记本的网口最终通过其他方法成功解决问题,记录如下。

  1. 首先请确保WiFi本身可用,校园网的WiFi可能需要认证登录等操作,因此建议使用手机热点,并保持全程开启。

  2. 终端输入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+SCtrl+X退出。

  3. 依次执行:

    $ sudo netplan –debug try 
    $ sudo netplan –debug generate 
    $ sudo netplan –debug apply 
    

    如果没有显示警告/错误信息,就执行sudo reboot重启。重启后再次登录,等待一分钟左右,手机中会显示有设备接入,名称为ubuntu,此时树莓派就可以正常联网了~

3 安装桌面环境

  1. 几种桌面环境对比
    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作为桌面环境。
  2. 执行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 其他

  1. 可以基于树莓派打造一个小网盘,参考在Linux中配置Samba服务器实现网盘
    可以调整一些参数让树莓派网盘的上传/下载速度更快,参考树莓派4b部署 samba 遇到的问题
  2. 在树莓派Ubuntu 20.04中安装ROS Noetic或ROS2,参考http://wiki.ros.org/noetic/Installation/Ubuntuhttps://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Binary.html#id12
;