Commit 314a141dbcdfe6b977a7ca83a0ab54630fb1e7f4

Authored by andrum99
Committed by GitHub
1 parent 02f4e89a

Copy edit

Ensure consistency within repo and with style guide.
Showing 1 changed file with 13 additions and 13 deletions
Readme.md
1 -# USB device boot code 1 +# USB Device Boot Code
2 2
3 -This is the USB MSD boot code which should work on the Raspberry Pi model A, Compute Module, Compute 3 +This is the USB MSD boot code which supports the Raspberry Pi 1A, Compute Module, Compute
4 Module 3, Compute Module 4 and Raspberry Pi Zero. 4 Module 3, Compute Module 4 and Raspberry Pi Zero.
5 5
6 The default behaviour when run with no arguments is to boot the Raspberry Pi with 6 The default behaviour when run with no arguments is to boot the Raspberry Pi with
7 special firmware so that it emulates USB Mass Storage Device (MSD). The host OS 7 special firmware so that it emulates USB Mass Storage Device (MSD). The host OS
8 -will treat this as a normal USB mass storage device allowing the file-system 8 +will treat this as a normal USB mass storage device allowing the file system
9 to be accessed. If the storage has not been formatted yet (default for Compute Module) 9 to be accessed. If the storage has not been formatted yet (default for Compute Module)
10 then the [Raspberry Pi Imager App](https://www.raspberrypi.com/software/) can be 10 then the [Raspberry Pi Imager App](https://www.raspberrypi.com/software/) can be
11 used to install a new operating system. 11 used to install a new operating system.
12 12
13 -Since `RPIBOOT` is a generic firmware loading interface it is possible to load 13 +Since `RPIBOOT` is a generic firmware loading interface, it is possible to load
14 other versions of the firmware by passing the `-d` flag to specify the directory 14 other versions of the firmware by passing the `-d` flag to specify the directory
15 where the firmware should be loaded from. 15 where the firmware should be loaded from.
16 E.g. The firmware in the [msd](msd/README.md) can be replaced with newer/older versions. 16 E.g. The firmware in the [msd](msd/README.md) can be replaced with newer/older versions.
17 17
18 -For more information run `rpiboot -h` 18 +For more information run `rpiboot -h`.
19 19
20 ## Building 20 ## Building
21 21
22 ### Linux / Cygwin / WSL 22 ### Linux / Cygwin / WSL
23 -Clone this on your Pi or a Linux machine. 23 +Clone this repository on your Pi or other Linux machine.
24 Make sure that the system date is set correctly, otherwise Git may produce an error. 24 Make sure that the system date is set correctly, otherwise Git may produce an error.
25 25
26 ``` 26 ```
@@ -31,7 +31,7 @@ make @@ -31,7 +31,7 @@ make
31 sudo ./rpiboot 31 sudo ./rpiboot
32 ``` 32 ```
33 33
34 -sudo isn't required if you have write permissions for the `/dev/bus/usb` device. 34 +`sudo` isn't required if you have write permissions for the `/dev/bus/usb` device.
35 35
36 ### macOS 36 ### macOS
37 From a macOS machine, you can also run usbboot, just follow the same steps: 37 From a macOS machine, you can also run usbboot, just follow the same steps:
@@ -63,7 +63,7 @@ Otherwise, the SPI EEPROM bootloader image will be loaded instead. @@ -63,7 +63,7 @@ Otherwise, the SPI EEPROM bootloader image will be loaded instead.
63 63
64 64
65 <a name="extensions"></a> 65 <a name="extensions"></a>
66 -## Compute Module 4 extensions 66 +## Compute Module 4 Extensions
67 In addition to the MSD functionality, there are a number of other utilities that can be loaded 67 In addition to the MSD functionality, there are a number of other utilities that can be loaded
68 via RPIBOOT on Compute Module 4. 68 via RPIBOOT on Compute Module 4.
69 69
@@ -79,7 +79,7 @@ via RPIBOOT on Compute Module 4. @@ -79,7 +79,7 @@ via RPIBOOT on Compute Module 4.
79 **The `secure-boot-msd`, `rpi-imager-embedded` and `mass-storage-gadget` extensions require that the `2022-04-26` (or newer) bootloader EEPROM release has already been written to the EEPROM using `recovery.bin`** 79 **The `secure-boot-msd`, `rpi-imager-embedded` and `mass-storage-gadget` extensions require that the `2022-04-26` (or newer) bootloader EEPROM release has already been written to the EEPROM using `recovery.bin`**
80 80
81 ## Booting Linux 81 ## Booting Linux
82 -The `RPIBOOT` protocol provides a virtual file-system to the Raspberry Pi bootloader and GPU firmware. It's therefore possible to 82 +The `RPIBOOT` protocol provides a virtual file system to the Raspberry Pi bootloader and GPU firmware. It's therefore possible to
83 boot Linux. To do this, you will need to copy all of the files from a Raspberry Pi boot partition plus create your own 83 boot Linux. To do this, you will need to copy all of the files from a Raspberry Pi boot partition plus create your own
84 initramfs. 84 initramfs.
85 On Raspberry Pi 4 / CM4 the recommended approach is to use a `boot.img` which is a FAT disk image containing 85 On Raspberry Pi 4 / CM4 the recommended approach is to use a `boot.img` which is a FAT disk image containing
@@ -92,12 +92,12 @@ WARNING: If the `revoke_devkey` option is used to revoke the ROM development key @@ -92,12 +92,12 @@ WARNING: If the `revoke_devkey` option is used to revoke the ROM development key
92 not be possible to downgrade to a bootloader older than 2022-01-06 OR disable secure-boot mode. 92 not be possible to downgrade to a bootloader older than 2022-01-06 OR disable secure-boot mode.
93 93
94 ### Tutorial 94 ### Tutorial
95 -Creating a secure-boot system from scratch can be quite complex. The [secure-boot tutorial](secure-boot-example/README.md) uses a minimal example OS image to demonstrate how the Raspberry Pi specific aspects of secure-boot work. 95 +Creating a secure boot system from scratch can be quite complex. The [secure boot tutorial](secure-boot-example/README.md) uses a minimal example OS image to demonstrate how the Raspberry Pi-specific aspects of secure boot work.
96 96
97 -### Host setup 97 +### Host Setup
98 Secure boot require a 2048 bit RSA asymmetric keypair and the Python `pycrytodomex` module to sign the EEPROM config and boot image. 98 Secure boot require a 2048 bit RSA asymmetric keypair and the Python `pycrytodomex` module to sign the EEPROM config and boot image.
99 99
100 -#### Install Python Crypto support (the pycryptodomex module) 100 +#### Install Python Crypto Support (the pycryptodomex module)
101 ```bash 101 ```bash
102 python3 -m pip install pycryptodomex 102 python3 -m pip install pycryptodomex
103 # or 103 # or
@@ -130,7 +130,7 @@ package supports secure boot. To download the firmware files directly. @@ -130,7 +130,7 @@ package supports secure boot. To download the firmware files directly.
130 A helper script (`make-boot-image`) is provided to automate the image creation process. This 130 A helper script (`make-boot-image`) is provided to automate the image creation process. This
131 script depends upon the `mkfs.fat` and `losetup` tools and only runs on Linux. 131 script depends upon the `mkfs.fat` and `losetup` tools and only runs on Linux.
132 132
133 -### Root file-system 133 +### Root File System
134 Normally, the Kernel modules and overlays for a secure-boot system would be provided 134 Normally, the Kernel modules and overlays for a secure-boot system would be provided
135 in an [initramfs](https://www.raspberrypi.com/documentation/computers/config_txt.html#initramfs) 135 in an [initramfs](https://www.raspberrypi.com/documentation/computers/config_txt.html#initramfs)
136 and built with [buildroot](https://buildroot.org/) or [yocto](https://www.yoctoproject.org/). 136 and built with [buildroot](https://buildroot.org/) or [yocto](https://www.yoctoproject.org/).