解决树莓派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 国际许可协议进行许可。

相关推荐

树莓派4B终于降价了

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

Raspberry Pi Imager 工具写入系统设置登录账户和WiFi账户

原因是之前用这个软件写入系统的时候发现没用默认账户,然后百度有一篇文章是在TF卡或者emmc里写入一个userconf.txt文件,文件里写入一个加密后的密钥。登录不了,老是拒绝,不知道是不是因为我暴力拔取搞坏电子元件的原因,还是我百度找的有问题。导致emmc又不能重新写入系统,又不能登录写好的系统。

暂无评论

目录展开