Skip to main content

Málna Pi CM5 Boot Image eMMC
Problémák a rendszerszoftver telepítésével

Bevezetés Probléma

Egy új projektünkhöz úgy döntöttünk, hogy a Raspberry Pi Compute Module 5 (CM5) oldalt használjuk hardverplatformként.

Kaptam egy fejlesztőkészletet, amely a következőkből állt:

  • 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.

Számítási modul 5 IO tok

Cél

A fejlesztés egyszerűsítése érdekében a rendszerszoftvert (raspiOS) microSD-kártyáról akartam futtatni, mivel a Compute Module 5 IO Board tartalmaz egy microSD-kártyahelyet.

Ehhez használtam Raspberry Pi Imager a legújabb Raspberry Pi operációs rendszert egy microSD-kártyára flasheltem, majd a kártyát behelyeztem az IO-kártyán lévő nyílásba, és bekapcsoltam a rendszert.

Azonban ahelyett, hogy az operációs rendszer indult volna be, a kijelzőn egy terminálszerű üzenet jelent meg: "SD: card not detected", és a rendszer nem indult el.

Ok és okozat

Némi kutatás után megtaláltam a magyarázatot a Raspberry Pi dokumentációjában a Compute Module 5:

  • microSD kártyahely (csak az eMMC nélküli Lite változatoknál használható; más változatok figyelmen kívül hagyják a nyílást)

Ez azt jelenti, hogy a microSD foglalat csak a "Lite" változatban használható, amely nem tartalmaz beépített eMMC tárolót. Az én CM5-öm 32 GB eMMC-vel rendelkezik, így az SD foglalat le van tiltva és figyelmen kívül marad a rendszerindítás során.

A rendszerszoftver telepítésének helyes módja CM5 CM5 eMMC-vel

Az operációs rendszer eMMC-vel ellátott CM5-re történő telepítéséhez kövesse az alábbi hivatalos utasításokat setting up the IO Board.

Fontos lépés, hogy az IO lap J2 fejlécén elhelyezzen egy jumper-t. Ez a CM5-öt USB-indítási módba állítja, így a központi számítógép tömeges tárolóeszközként férhet hozzá az eMMC-hez.

Compute Module 5 IO kártya

Probléma az rpiboot-tal és a megoldás

A fejlesztőgépemen (Ubuntu 22.04) kezdetben a rpiboot telepítésével próbálkoztam:

sudo apt install rpiboot

Ez a verzió azonban nem működött megfelelően - valószínűleg azért, mert elavult vagy nem kompatibilis a CM5-tel.

Ehelyett az rpibootot forrásból kellett megépítenem. Kövesd a lépéseket itt:

Klónozd a hivatalos tárolót:

git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot

Telepítse a függőségeket és építsen:

sudo apt install git libusb-1.0-0-dev pkg-config build-essential
make

Futtassa az rpiboot-ot

a CM5 csatlakoztatásával és a J2 jumperrel a helyén:

sudo ./rpiboot -d mass-storage-gadget64

A rendszer érzékeli a CM5 eMMC-jét, és most már a Raspberry Pi Imager vagy a dd segítségével flashelheted rá az operációs rendszert.

Összefoglaló

  • A CM5 SD-nyílás csak a Lite (eMMC nélküli) változatokban működik.
  • A CM5 eMMC-vel történő flasheléséhez a következőkre van szükség:
    ** Állítsa be a J2 jumper-t.
    ** Az eMMC USB-n keresztül történő feltöltéséhez használd az rpiboot-ot.
  • Ha a csomagolt rpiboot nem működik, építsd meg a forrásból.

Ha ez megtörtént, akkor a Raspberry Pi OS-t közvetlenül az eMMC-re flashelheted, mintha SD-kártya lenne.