Uvod Problem
Za novi projekt odlučili smo koristiti Raspberry Pi Compute Module 5 (CM5) kao našu hardversku platformu.
Dobio sam razvojni komplet koji se sastoji od:
- Compute Module 5 (4 GB RAM and 32 GB eMMC)* 27W USB-C Type-C PD Power Supply* Compute Module 5 IO Board* Antenna Kit* Compute Module 5 IO Case* 2 x HDMI® to HDMI® Cable* Cooler for Compute Module 5* USB-A to USB-C Cable.
Cilj
Kako bih pojednostavio razvoj, želio sam pokrenuti sistemski softver (raspiOS) s microSD kartice, budući da Compute Module 5 IO Board uključuje utor za microSD karticu.
Koristio sam Raspberry Pi Imager za flashanje najnovijeg Raspberry Pi OS-a na microSD karticu, umetnuo karticu u utor na IO ploči i uključio sustav.
Međutim, umjesto pokretanja OS-a, zaslon je prikazao poruku nalik terminalu koja kaže "SD: kartica nije otkrivena", a sustav se nije pokrenuo.
Uzrok i posljedica
Nakon nekog istraživanja, pronašao sam objašnjenje u dokumentaciji Raspberry Pi za Compute Module 5:
- utor za microSD karticu (samo za korištenje s Lite varijantama bez eMMC-a; druge varijante zanemaruju utor)
To znači da je microSD utor upotrebljiv samo na "Lite" varijanti, koja ne uključuje ugrađenu eMMC pohranu. Moj CM5 ima 32 GB eMMC-a, tako da je SD utor onemogućen i zanemaren tijekom pokretanja.
Ispravan način instaliranja softvera sustava na CM5 s eMMC-om
Da biste instalirali operativni sustav na CM5 s eMMC-om, slijedite službene upute za setting up the IO Board.
Ključni korak je postavljanje skakača na J2 zaglavlje na IO ploči. Ovo stavlja CM5 u USB način pokretanja, omogućujući vašem glavnom računalu pristup eMMC-u kao uređaju za masovnu pohranu.
Problem s rpibootom i rješenjem
Na svom razvojnom stroju (Ubuntu 22.04) u početku sam pokušao instalirati rpiboot s:
sudo apt install rpiboot
Međutim, ova verzija nije radila ispravno - vjerojatno zato što je zastarjela ili nekompatibilna s CM5.
Umjesto toga, morao sam izgraditi rpiboot iz izvora. Slijedite korake ovdje:
Klonirajte službeno spremište:
git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
### Instalirajte ovisnosti i izgradite:
sudo apt install git libusb-1.0-0-dev pkg-config build-essential
make
### Pokrenite rpiboot
s priključenim CM5 i J2 kratkospojnikom na mjestu:
sudo ./rpiboot -d mass-storage-gadget64
Sustav će otkriti CM5 eMMC, a sada možete flash OS na njega pomoću Raspberry Pi Imager ili dd.</:code4:>
</:code3:>
</:code2:></:code1:>
Sažetak
- CM5 SD utor radi samo na Lite (bez eMMC) varijanti.
- Da biste flashali CM5 s eMMC-om, morate:
** Postavite J2 kratkospojnik.
** Upotrijebite rpiboot za izlaganje eMMC-a putem USB-a. - Ako zapakirani rpiboot ne radi, izgradite ga iz izvornog koda.
Nakon što to učinite, možete flashati Raspberry Pi OS izravno na eMMC kao da je SD kartica.