树莓派CM4安装系统

news/2025/1/12 3:54:51/

树莓派CM4安装系统

  • 前言
  • 工具准备
    • 硬件
    • 软件
      • 安装rpiboot程序
      • 格式化SD卡
      • 烧写树莓派系统工具
  • 将ubuntu mate 20.04烧录到带eMMc的CM4上
    • ubuntu mate 20.04 新镜像烧录失败
    • ubuntu20.04 旧镜像(自行制作的镜像)烧录
      • 树莓派cm4 ubuntu mate 20.04 wifi 不能使用
    • ubuntu22.04 MATE新镜像烧录
    • Raspberry Pi系统
  • 参考

前言

本次记录使用树莓派CM4安装系统,因项目需要将之前使用的树莓派4B换成尺寸更小的cm4,因此需要将树莓派4B上的系统以及安装的环境转移到CM4上,因此最开始的想法是直接将之前系统读取成img镜像,然后烧录到带emmc的CM4上,但是进行的步骤并不是这个,进行的是下面内容,在此记录,为以后避坑。

工具准备

硬件

在这里插入图片描述
CM4带eMMC和wifi 左下角的这款

在这里插入图片描述

底板

在这里插入图片描述

软件

安装rpiboot程序

Windows 直接下载Windows installer安装。运行rpiboot.exe,开发板上的eMMC被识别为一个可移动磁盘。
注意:需要将BOOT切换开关至ON

在这里插入图片描述
Linux系统,需要使用源码编译rpiboot工具,以来libusb开发库。

sudo apt install git
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
make

在ubsboot目录下执行sudo ./rpiboot,将出现一个新的设备,例如/dev/sdb,可以检查/dev目录或者使用lsblk确定名称。这里以/dev/sdx标识。参考

格式化SD卡

Windows使用SDFormatter.exe软件格式化SD 卡。下载,确定好对应的盘符后,再点击格式化
在这里插入图片描述
Linux格式化SD卡或者eMMC磁盘,参考

sudo mkfs.msdos /dev/sdX   //X要根据下面的df -h命令查看并修改

在这里插入图片描述

烧写树莓派系统工具

Windows下直接使用 Win32DiskImager 工具即可,打开后选择img文件,写入eMMC被识别成的可移动磁盘。烧写成功会出现两个分区,一个boot可以进行读写编辑,另一个不能编辑(windows资源管理器不能识别linux文件系统)。
注意:写入前一点更要格式化
在这里插入图片描述

Linux下使用命令

sudo dd if=raw_os_image_of_your_choice.img of=/dev/sdX bs=4MiB//这里的X需要根据自己更改

使用df -h查看已挂载在系统上的eMMC磁盘,这里是最后一个/dev/sdb1,所以上边那个X直接改成b就可以了,要根据自己的情况进行更改。参考
在这里插入图片描述

将ubuntu mate 20.04烧录到带eMMc的CM4上

ubuntu mate 20.04 新镜像烧录失败

本次使用的是新系统的镜像,下载地址在这里
在这里插入图片描述
下载后并解压得到.img文件
在这里插入图片描述

烧录后,将CM4扩展板上的BOOT开关至OFF,然后使用树莓派标准的5V3A充电器进行开机测试,不要使用电脑的USB供电,会受影响甚至无法开机(树莓派对供电要求极高)

使用Win32DiskImager烧写完成后出现的问题:
这是在安装的过程中出现的问题,安装程序崩溃,并且这是新的镜像系统。当我以为我的 镜像出了问题 时,我决定再次尝试,结果一样是安装程序崩溃。。。,网上搜索后没有找到解决方法,不得已更换方法或镜像进行烧录。

在这里插入图片描述
在这里插入图片描述

ubuntu20.04 旧镜像(自行制作的镜像)烧录

这里说的旧镜像是相对于新镜像而言的,因为之前自己一直使用的树莓派4B,上边一直安装的是ubuntu20.04并且一些环境什么的都在上面,因此直接就从这个SD卡里面将这个系统扒出来变成了一个镜像,再烧录到cm4里的eMMCl里面。这里着重讲一下制作镜像的过程,因为它决定了成败。

因为之前自己制作过镜像,当时使用的是windows上的win32diskimager的读取按键制作的镜像,这个制作过程是SD卡有多大,你制作的镜像就有多大。如果制作的镜像有64G而eMMC只有32G这明显烧录不进去,因此就必须想办法压缩制作的镜像。

参考的制作SD卡备份镜像以及还原使用dd命令制作的镜像

sudo dd if=/dev/sdc | gzip>/home/lixinxing/raspberry.gz

可是制作的镜像文件是.gz格式不是.img格式,以为解压一下就可以了,谁知每次解压到最后一点点都会失败,提示说文件损坏。因此得不到.img格式的镜像,因此不能使用win32diskimager进行对cm4烧录。
因此选用了上面那个参考连接里面的第二种方法:
使用命令gzip进行烧录

sudo gzip -dc /home/lixinxing/raspberry.gz | sudo dd of=/dev/sdc

等了很长很长的时间,忘记了是半个小时还是一个半小时,关键是这个命令运行的时候一点提示信息都没有。烧录是烧录完了,插上充电器,连接显示器,开机。。。进不去系统
然后网上也没找到解决方法,有报这样的错误的但是跟我的不太匹配。因此不得已采用另一种方式。

在这里插入图片描述

直到我看到了这个【树莓派】小空间树莓派镜像系统备份方法img镜像文件压缩方法
具体步骤是(ubuntu 环境):
1.先下载一个工具,具体github项目在这里

wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
chmod +x pishrink.sh
sudo mv pishrink.sh /usr/local/bin

2.查看盘符,即SD卡(有系统的sd卡在ubuntu上会显示挂载了两个)具体的命令为lsblk,确定好盘符,比如说是sdb(也有可能是sda,adc,sdd)
在这里插入图片描述

然后用dd命令制作镜像
用DD命令复制SD卡:(复制下边的整行命令,修改其中的sdb为你的SD卡盘符,rpi.img可以不改为你要存储的文件名 of后面的路径一定要选 一个空间足够大的路径)

sudo dd if=/dev/sdb of=./rpi.img bs=8M

3.压缩镜像(需要使用到上面下载的工具了)

sudo pishrink.sh -s rpi.img newpi.img

压缩后的镜像就小了很多,然后将其考到windows上面使用win32diskimager进行烧录到cm4的eMMC里面。烧录前要将扩展版BOOT打开至ON,并格式化再烧录,烧录完将BOOT关闭至OFF再开机。

结果是成功进入系统,跟我之前那个一摸一样,环境也不用自己再配,方便很多。

但是,问题出现了wifi用不了了

树莓派cm4 ubuntu mate 20.04 wifi 不能使用

在这里插入图片描述
正常应该是这样
在这里插入图片描述
因此不得不想办法解决wifi的问题,因为我买的cm4板是带wifi和eMMC版本的,因此wifi肯定是可以用的
经过网上的一番查阅找了树莓派安装Ubuntu Mate解决无法连接WiFi问题,并部署Ros系统、树莓派打不开wifi,树莓派如何连接wifi、树莓派wifi无法连接bug记录、如何将树莓派 CM4 的 WiFi 天线配置为外置天线、树莓派ubuntu20.04链接wifi、树莓派Ubuntu 20.04网络设置、ubuntu20.04不显示wifi图标的解决办法后发现是没有wifi驱动
然后直到看到树莓派cm4安装ax200驱动-wifi6才发现要装AX200驱动

AX200官方驱动在这里:https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html
AX200,复制链接

注意驱动要求内核版本大于等于5.1

mkdir wifi6-ax200
cd wifi6-ax200
wget https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi/iwlwifi-cc-46.3cfab8da.0.tgztar xzvf iwlwifi-cc-46.3cfab8da.0.tgz
cd iwlwifi-cc-46.3cfab8da.0/
sudo cp *.ucode /lib/firmwaresudo reboot

然后就可以了。

ubuntu22.04 MATE新镜像烧录

直接从官网上下载22.04的新系统直接使用win32diskimager进行烧录即可正常进入系统(注意:如果使用普通的USB供电则可能不能进入系统,一定要使用树莓派自带的5V3A的电源供电,如果还没进入系统看一下BOOT是否是OFF)

进入系统后整体的感觉还是很好的,但是据说只能安装ROS2,我捣鼓了一个小时,想安装ROS-noetic(因为之前做的工作都在这个环境下)但是没有成功,更换了镜像源还是没有成功,可能镜像源出了点问题,就再也没有搞过了。如果有小伙伴搞定了可不可以告我说一下,感谢感谢。

Raspberry Pi系统

从这个下载地址下载的镜像,也是直接使用win32diskimager烧录即可,直接烧录进去 BOOT至OFF然后用树莓派自带的5V3A电源供电就可以正常开机,不要用其他的电源,手机充电器也不行,原装的就是最好的,不然会出现一些奇奇怪怪的问题。

好的,整个安装过程也就结束了,在此记录一下!

参考

1.树莓派Compute-Module-4使用教程
2.树莓派计算模块CM4 eMMC系统烧写、配置、相机连接
3.树莓派CM4开机准备开发环境
4.【树莓派】小空间树莓派镜像系统备份方法img镜像文件压缩方法
5.制作SD卡备份镜像以及还原
6.树莓派CM4烧录系统
7.树莓派计算模块CM4 eMMC系统烧写、配置、相机连接
8.在树莓派计算模块CM4 eMMC上安装Ubuntu Desktop 21.04
9.在树莓派计算模块CM4上安装Ubuntu Server 20.04
10.树莓派安装Ubuntu Mate解决无法连接WiFi问题,并部署Ros系统


http://www.ppmy.cn/news/625351.html

相关文章

树莓派CM4基于emmc安装Ubuntu系统及初始配置

文章目录 安装前准备CM4安装系统参考资料 安装前准备 ​ 在树莓派官方手册CM板卡介绍中说明,开发板的供电电压为DC12V或5V。 ​ 为了保证开发板USB接口的正常使用,开发板的供电电流应>1.2A。 CM4安装系统 补充说明:Ubuntu18.04…

逆向工程第005篇:跨越CM4验证机制的鸿沟(下)

一、前言 本文是逆向分析CM4系列的最后一篇,我会将该游戏的序列号验证机制分析完毕,进而编写出注册码生成器。 二、分析第二个验证循环 延续上一篇文章的内容,来到如下代码处: 图1 上述代码并没有特别需要注意的地方,…

Selenium教程__截图(16)

selenium截图有两种方式 截取全屏 get_screenshot_as_file(filename):将截图转化成文件保存到本地,filename为保存的文件路径get_screenshot_as_base64():将截图转化成base64get_screenshot_as_png():将截图转化成png 截取指定元…

leetcode算法题--特别的排列

本题是一个状态压缩dp 一开始尝试用普通的dp去做,但是超时了 func specialPerm(nums []int) int {visited : make(map[int]bool)return dfs(nums, visited, 0, 0) }func dfs(nums []int, visited map[int]bool, idx, lastNum int) int {res : 0mod : int(math.Pow…

Intellij IDEA detected unusually high memory use

一、IDEA如图 二、解决 2.1 修改IDEA的内存堆 运行IntelliJ IDEA的Java虚拟机(JVM)分配一些预定义的内存量。默认值取决于平台。如果您遇到速度减慢,可能需要增加内存堆。 为运行IDE分配的堆大小与编译应用程序的堆大小不同。如果要为编译代…

demjson报错:

python demjson 库 报错:AttributeError: dict object has no attribute has_key Traceback (most recent call last):File "/root/github/stock/fund/stop_purchase_lof_fund.py", line 82, in fund_purchase_emdata_json demjson.decode(data_text.st…

RS485转Profinet通讯

RS485转Profinet通讯 概述系统组成流量积算仪网关 软件总结 概述 一个支持RS485的流量积算仪的数据要被Profinet的PLC读取。制作一个网关,实现RS485到Profinet的转换。 系统组成 流量积算仪 支持RS485通讯,通讯协议是modbus RTU。采用功能码3可以读取…

RTSP/Onvif协议视频平台EasyNVR硬件无法进入服务器该如何解决?

EasyNVR是基于RTSP/Onvif协议的视频接入、处理及分发的安防视频云平台,可提供的视频能力包括:设备接入、实时视频直播、录像、云存储、录像回放与检索、告警、级联等,平台可支持将接入的视频流进行全平台、全终端的分发,分发的视频…