Skip to main content

Raspberry Pi CM5 Boot Image eMMC
Ongelmat järjestelmäohjelmiston asentamisessa

Johdanto Ongelma

Uutta projektia varten päätimme käyttää laitteistoalustana Raspberry Pi Compute Module 5 (CM5).

Sain kehityspaketin, joka koostui seuraavista osista:

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

Compute Module 5 IO Case

Tavoite

Yksinkertaistaakseni kehitystyötä halusin käyttää järjestelmäohjelmistoa (raspiOS) microSD-kortilta, koska Compute Module 5 IO Board sisältää microSD-korttipaikan.

Käytin Raspberry Pi Imager flashasin uusimman Raspberry Pi -käyttöjärjestelmän microSD-kortille, asetin kortin IO-levyn korttipaikkaan ja käynnistin järjestelmän.

Sen sijaan, että käyttöjärjestelmä olisi käynnistynyt, näyttö näytti terminaalin kaltaisen viestin "SD: card not detected", eikä järjestelmä käynnistynyt.

Syy ja seuraus

Joidenkin tutkimusten jälkeen löysin selityksen Raspberry Pi -dokumentaatiosta. Compute Module 5:

  • microSD-korttipaikka (vain Lite-versioissa, joissa ei ole eMMC:tä; muut versiot jättävät korttipaikan huomiotta).

Tämä tarkoittaa, että microSD-korttipaikkaa voidaan käyttää vain "Lite"-versiossa, jossa ei ole sisäistä eMMC-tallennustilaa. Minun CM5:ssäni on 32 GB eMMC, joten SD-korttipaikka on poistettu käytöstä ja jätetään huomiotta käynnistyksen aikana.

Oikea tapa asentaa järjestelmäohjelmisto CM5:een eMMC:llä varustettuna

Jos haluat asentaa käyttöjärjestelmän eMMC:llä varustettuun CM5-tietokoneeseen, noudata virallisia ohjeita, jotka koskevat seuraavia asioita setting up the IO Board.

Ratkaiseva vaihe on asettaa hyppääjä IO-piirilevyn J2-otsakkeeseen. Tämä asettaa CM5:n USB-käynnistystilaan, jolloin isäntätietokone voi käyttää eMMC:tä kuin massamuistilaitetta.

Compute Module 5 IO Board

Ongelma rpibootin kanssa ja ratkaisu

Kehityskoneellani (Ubuntu 22.04) yritin aluksi asentaa rpiboot kanssa:

sudo apt install rpiboot

Tämä versio ei kuitenkaan toiminut kunnolla - todennäköisesti siksi, että se on vanhentunut tai yhteensopimaton CM5:n kanssa.

Sen sijaan minun oli rakennettava rpiboot lähdekoodista. Seuraa ohjeita täältä:

Kloonaa virallinen arkisto:

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

Asenna riippuvuudet ja rakenna:

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

Suorita rpiboot

kun CM5 on kytketty ja J2-jumpperi on paikallaan:

sudo ./rpiboot -d mass-storage-gadget64

Järjestelmä havaitsee CM5:n eMMC:n, ja voit nyt flashata käyttöjärjestelmän sille Raspberry Pi Imagerin tai dd:n avulla.

Yhteenveto

  • CM5:n SD-korttipaikka toimii vain Lite-versioissa (ei eMMC:tä).
  • Jos haluat flashata CM5:n eMMC:llä, sinun on:
    ** Aseta J2-jumpperi.
    ** Käytä rpibootia eMMC:n avaamiseen USB:n kautta.
  • Jos pakattu rpiboot ei toimi, rakenna se lähdekoodista.

Kun tämä on tehty, voit flashata Raspberry Pi OS:n suoraan eMMC:lle, aivan kuin se olisi SD-kortti.