解决树莓派CM4(Compute Module 4) 硬盘启动出现USB xHC init failed问题

用的是树莓派CM400200(Compute Module 4)的核心板和super6c 集群扩展版,买了M2硬盘,发现硬盘启动系统失败(USB xHC init failed),原因是树莓派要更新固件,更新好了就能正常启动,是什么USB MSD boot东西,树莓派4B没这个问题。

下面就是怎么更新固件的操作。

2022-02-26

应该不是什么更新固件,而是usb文件放到boot硬盘,就可以从USB上启动

一、准备工作:

  • 一台Linux操作系统的电脑,安装usbboot(rpiboot)
  • 准备一个短路帽,间距是2.54MM的
  • 一根数据线,连接super6c和其他Linux的数据线,数据线是microUSB
  • 一个树莓派CM4核心板(CM4002000)和super6c 主板

二、在Linux系统安装usbboot

就是rpiboot,Windows系统的电脑只能连接,不能输入命令行,应该是只能用Linux系统。

GitHub:https://github.com/raspberrypi/usbboot

安装usbboot

sudo apt install git libusb-1.0-0-dev pkg-config
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
make

执行sudo ./rpiboot

sudo ./rpiboot

三、短路帽安装到nRPIboot,并连接到Linux

短接下面图红框内红线的那个接口(nRPIboot)

用microUSB数据线连接另外一台树莓派(Linux)

super6c  nRPIboot  rpiboot

连接上后树莓派等rpiboot连接成功

四、树莓派断电

直接拔掉电源,或者是按住开机键进行关机

五、在Linux输入./rpiboot -d recovery

./rpiboot -d recovery 

六、CM4(Compute Module 4)上电

super6c通电,等rpiboot显示成功。忘记截图了

root@ITX:/home/usbboot# sudo ./rpiboot
RPIBOOT: build-date Mar 17 2023 version 20221215~105525 864863bc
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Sending bootcode.bin
Successful read 4 bytes 
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Second stage boot server
Cannot open file config.txt
Cannot open file pieeprom.sig
Loading embedded: start4.elf
File read: start4.elf
Cannot open file fixup4.dat
Second stage boot server done

七、CM4(Compute Module 4)断电

super6c断电,把M2硬盘和TF卡安装上

八、CM4(Compute Module 4)上电

这样开机就不会出现USB xHC init failed,并且树莓派系统能正常开机。

九、设置USB设备启动系统

1.树莓派设置,输入下面命令行

sudo raspi-config

2.点击OK

raspi-config

3.选择6 Advanced Options

raspi-config 6 Advanced Options

4.选择A6 Boot Order

raspi-config A6 Boot Order

5.选择B2 USB Boot Boot from USB if available,otherwise boot from SD Card

raspi-config B2 USB Boot Boot from USB if available,otherwise boot from SD Card

6.点击OK

7.点击finish

8.重启树莓派

十、拷贝tf卡系统到M2硬盘上

首先安装显示拷贝进度条的软件,chatGPT问出来的,ChatGPT牛逼

1.安装 pv 工具。您可以使用以下命令在树莓派上安装:

sudo apt-get install pv

2.运行以下命令,以在 dd 命令中使用 pv 工具(拷贝系统到M2硬盘):

sudo dd if=/dev/mmcblk0 | pv | sudo dd of=/dev/sda bs=4M conv=fsync

说明:

  • /dev/mmcblk0:是TF卡上的系统位置
  • /dev/sda:M2硬盘的路径

M2硬盘的路径路径可以用fdisk -l 查看

fdisk -l

等待拷贝完,100多G,差不多1个多小时,卸下TF卡,M2硬盘就不用卸下。

十一、树莓派CM4通电

就可以从super6C 主板上的M2硬盘启动树莓派系统



知识共享许可协议本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。

相关推荐

【教程】Linux怎么批量修改配置文件里配置项的值

今天把服务器上的frp服务移到树莓派上,然后批量修改IP,从127.0.0.1改成树莓派的IP地址。

以下是一个简单的Shell脚本,用于修改Linux系统中的一个文件,将所有的local_id = 127.0.0.1替换为local_id = 192.168.31.198。请记得在运行脚本之前备份文件,以防万一。

树莓派5 于9月28日发布

1、树莓派版本 今天中午逛百度贴吧,发现树莓派已经发布了。然后是将于10月底推出树莓派5。 Raspberry Pi 5 4GB版本价 ...

树莓派4B终于降价了

最近7月中旬,树莓派产能提升,树莓派4B终于开始降价,现在目前550元左右,离首发价75美元,差不了多少。

暂无评论

目录展开