码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 树莓派CM4安装系统


    树莓派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
    
    • 1
    • 2
    • 3
    • 4

    在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命令查看并修改
    
    • 1

    在这里插入图片描述

    烧写树莓派系统工具

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

    Linux下使用命令

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

    使用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
    
    • 1

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

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

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

    在这里插入图片描述

    直到我看到了这个【树莓派】小空间树莓派镜像系统备份方法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
    
    • 1
    • 2
    • 3

    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
    
    • 1

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

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

    压缩后的镜像就小了很多,然后将其考到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.tgz
    
    tar xzvf iwlwifi-cc-46.3cfab8da.0.tgz
    cd iwlwifi-cc-46.3cfab8da.0/
    sudo cp *.ucode /lib/firmware
    
    sudo reboot
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    然后就可以了。

    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系统

  • 相关阅读:
    测试工作管理与规范
    JavaSE_多线程入门 线程安全 死锁 状态 通讯 线程池
    NFS客户端配置
    第四章分类问题
    JVM面试题总结
    STM32F4X SDIO(二) SDIO协议
    虚函数 纯虚函数 抽象类
    不得不会的Oracle数据库知识点(二)
    【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
    3 分钟,带你了解低代码开发
  • 原文地址:https://blog.csdn.net/weixin_41756645/article/details/126873748
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号