在树莓派计算模块CM4上安装Ubuntu Server 20.04

陈拓 2021/10/26-2021/10/26

1. 概述

Ubuntu Server 21.10只支持到2022年7月,而20.04支持到2025年4月。如果做产品开发还是选择20.04版好一些。

2. 硬件配置

  • CM4

4GRAM,Lite(无cMMC),带WiFi模块

  • CM4扩展板

  • 扩展板资源

 

这样的配置,大小和Raspberry 4B一样,性价比远高于Raspberry 4B。

3. 下载Ubuntu 20.04.3

https://ubuntu.com/download/raspberry-pi

选择Ubuntu Server20.04.3 LTS下载:

解压:

4. 下载工具和系统安装

和《电脑连接树莓派3B+》一文相同。

https://blog.csdn.net/chentuo2000/article/details/103332186

注意:和官方的Raspbian系统不同,Ubuntu系统不需要创建ssh空文件。

5. 启用USB

根据官方说明,CM4为了降低功耗,USB接口默认是关闭的,需要手工打开。

  • 在Windows PC上查看文件资源管理器

这时系统多出了一个盘符system-boot(F:)

  • 修改usercfg.txt文件

在system-boot中找到usercfg.txt文件,可以用记事本打开,在最后一行添加

dtoverlay=dwc2,dr_mode=host

保存退出。

注意:不要直接改config.txt文件,而是修改usercfg.txt文件,在config.txt文件中有相关的说明。

弹出system-boot(F:)。

6. 开机启动配置

6.1 基本设置

  • 把掉USB线
  • 接上显示器,插好键盘

如果没有显示器可以用参考文档中的方法配置。

  • 在PC和CM4之间连接网线
  • 将在扩展板上插好TF卡。
  • 用USB线连接电源和TYPE C接口,上电开机
  • 登录

第一次登录的用户名和密码都是 ubuntu

之后系统要求你更改密码,先输入当前密码ubuntu,再输入新密码2次。

登录普通用户:

ubuntu@ubuntu:~$

6.2网络设置

  • 设置固定ip地址

修改默认的网卡配置文件

修改之前:

sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml-bak

sudo nano /etc/netplan/50-cloud-init.yaml

network:
    ethernets:
        eth0:
            dhcp4: false
            addresses: [192.168.137.2/24]
            optional: true
            gateway4: 192.168.137.1
            nameservers:
              addresses: [192.168.137.1,114.114.114.114]
    version: 2
  • 验证

sudo netplan try

回车。

  • 刷新

sudo netplan apply

  • 查看ip地址

ip a

  • 测试

ping 192.168.137.1

7.3 外网配置

在PC上操作。

打开网络和共享中心

点击“以太网”,设置IP地址:

确定,回到网络和共享中心,点击“WLAN”:

设置“共享”:

测试,回到树莓派上:ping www.baidu.com

可以上外网。

7. 远程登录

在PC上打开Win10 命令窗口,输入:

ssh [email protected]

如果出现:

这是因为重新安装过系统,输入下面的命令解除:

ssh-keygen -R 192.168.137.2

再登录:

登录成功。

  • 查看存储空间使用情况

8. 速度测试

  • IO写速度

time dd if=/dev/zero of=test.dbf bs=8k count=300000

上面是TF卡的IO写速度。

下面是eMMC的IO写速度:

  • IO读速度

dd if=test.dbf bs=8k count=300000 of=/dev/null

上面是TF卡的IO读速度。

下面是eMMC的IO读速度:

测试完记得删除test.dbf文件,很大。

从上面可以看出TF卡的写入速度很慢,读取速度很快,甚至比eMMC还快。带cMMC的CM4高出的成本足可以配一个128G的固态硬盘,性能比eMMC更好。

9. 挂载固态硬盘

  • 显示硬盘的设备文件名

sudo fdisk -l

fdisk不支持gpt,用parted对gpt磁盘操作。

gpt无分区限制,故只有主分区,无扩展分区和逻辑分区。分区直接按容量算,不按柱面算。

  • 进入parted交互

sudo parted /dev/nvme0n1

  • 查看分区表

无分区。

  • 创建分区并设置分区大小

(parted) mkpart primary 0 256G

主分区,从0到256G

警告:结果分区未正确对齐以获得最佳性能:34s % 2048s != 0s

输入C取消。

按照提示输入:

(parted) mkpart primary 2048s 100%

成功。

  • 退出parted交互

(parted)q

  • 查看分区设备名称

ls -l /dev/nvme0n1*

sudo fdisk -l

  • 格式化分区为EXT4文件系统

sudo mkfs.ext4 /dev/nvme0n1p1

  • 新建目录

mkdir ~/ssd

  • 挂载

sudo mount /dev/nvme0n1p1 ~/ssd

  • 修改权限

sudo chown -R ubuntu:ubuntu ssd

  • 查看磁盘容量

  • 设置固态硬盘自动挂载

在/etc/fstab文件最后一行写:

/dev/nvme0n1p1 /home/ubuntu/ssd ext4 defaults 0 0

sudo nano /etc/fstab

  • Ubuntu修改时区和更新时间

见《Ubuntu修改时区和更新时间》

https://blog.csdn.net/zhengchaooo/article/details/79500032

  • 查看

date -R

设置东八区时区。

  • 运行tzselect

sudo tzselect

选择亚洲 4) Asia,再选择中国9) China,最后选择北京1) Beijing Time

1) yes

  • 修改~/.profile文件

添加

sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

到~/.profile文件的最后一行:

nano ~/.profile

刷新

source ~/.profile

以后每次在系统启动时会执行。

  1. 再次查看时间date -R,已经修改为北京时间

参考文档

  1. Basic Setup of Ubuntu Server 204 on Raspberry Pi4
    https://friendsoflittleyus.nl/basic-setup-of-ubuntu-server-21-04-on-raspberry-pi4/
  2. 树莓派ARM开发板使用TF卡启动和系统安装到EMMC启动,硬盘存储读写速度对比测试
    http://ourjs.com/detail/5d7056fc5109465a49578948

猜你喜欢

转载自blog.csdn.net/chentuo2000/article/details/121419415