适用于计算模块4的USB大容量存储驱动程序

此目录提供了一个引导程序映像,它加载一个Linux initramfs,使用Linux gadget-fs驱动程序将常见块设备(EMMC,NVMe)导出为USB大容量存储设备。

这允许在主机计算机上运行Raspberry Pi Imager,并将OS映像写入计算模块块设备。

运行

要通过RPIBOOT加载USB MSD设备驱动程序,请运行

cd mass-storage-gadget
../rpiboot -d .

注意,这需要比以前的大容量存储实现更长的时间来初始化。但是,由于所有文件系统代码都在ARM处理器上运行,因此写入速度应该更快。

调试

大容量存储设备映像自动启用UART控制台进行调试(用户“root”空密码)。

安全启动

如果已锁定安全启动模式(通过OTP),则引导加载程序和rpiboot bootcode4.bin仅会加载使用客户私钥签名的boot.img文件。因此,禁用对rpiboot大容量存储模式的访问。

可以通过签署包含固件大容量存储驱动程序的引导映像来重新启用大容量存储模式。

注意,通常应保护已签名的映像,因为它可以用于任何使用相同客户密钥签名的设备。

要签署大容量存储模式引导映像,请运行:-

KEY_FILE=$HOME/private.pem
../tools/rpi-eeprom-digest -i boot.img -o boot.sig -k "${KEY_FILE}"

源代码

buildroot配置和支持补丁可在Raspberry Pi buildroot repo的mass-storage-gadget分支上找到。

构建

git clone --branch mass-storage-gadget git@github.com:raspberrypi/buildroot.git
cd buildroot
make raspberrypicm4io_initrd_defconfig
make

输出写入到output/target/images/sdcard.img,可以复制到boot.img

# USB mass-storage drivers for Compute Module 4This directory provides a bootloader image that loads a Linuxinitramfs that exports common block devices EMMC NVMe asUSB mass storage devices using the L

原文地址: http://www.cveoy.top/t/topic/fEUb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录