Skip to content

Latest commit

 

History

History
46 lines (37 loc) · 1.55 KB

README.md

File metadata and controls

46 lines (37 loc) · 1.55 KB

AARCH64 USB mass-storage gadget for BCM2711 and BCM2712

This directory provides a bootloader image that loads a Linux initramfs that exports common block devices (EMMC, NVMe) as USB mass storage devices using the Linux gadget-fs drivers.

This allows Raspberry Pi Imager to be run on the host computer and write OS images to the Raspberry Pi or Compute Module block devices.

Running

To run load the USB MSD device drivers via RPIBOOT run

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

N.B. This takes a few seconds longer to initialise than the previous mass storage implementation. However, the write speed should be much faster now that all of the file-system code is running on the ARM processors.

Debug

The mass-storage-gadget image automatically enables a UART console for debugging (user root empty password).

Secure boot

If secure-boot is enabled then boot.img must be signed with the customer private key file.

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

Source code

The buildroot configuration and supporting patches is available on the mass-storage-gadget64 branch of the Raspberry Pi buildroot repo.

Building

git clone --branch mass-storage-gadget [email protected]:raspberrypi/buildroot.git
cd buildroot
make raspberrypi64-mass-storage-gadget_defconfig
make

The output is written to output/target/images/sdcard.img and can be copied to boot.img