בעיית מבוא
עבור פרויקט חדש, החלטנו להשתמש ב-Raspberry Pi Compute Module 5 (CM5) כפלטפורמת החומרה שלנו.
קיבלתי ערכת פיתוח המורכבת מ:
- 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.
מטרה
כדי לפשט את הפיתוח, רציתי להריץ את תוכנת המערכת (raspiOS) מכרטיס microSD, מכיוון שה Compute Module 5 IO Board כולל חריץ לכרטיס microSD.
השתמשתי Raspberry Pi Imager כדי להבהב את מערכת ההפעלה העדכנית ביותר של Raspberry Pi על כרטיס microSD, הכנסתי את הכרטיס לחריץ בלוח ה-IO והפעלתי את המערכת.
עם זאת, במקום לאתחל למערכת ההפעלה, התצוגה הראתה הודעה דמוית מסוף האומרת "SD: כרטיס לא זוהה", והמערכת לא אתחלה.
סיבה ותוצאה
לאחר מחקר קצר, מצאתי את ההסבר בתיעוד של Raspberry Pi עבור Compute Module 5:
- חריץ לכרטיס microSD (לשימוש רק עם גרסאות Lite ללא eMMC; גרסאות אחרות מתעלמות מהחריץ)
המשמעות היא שחריץ ה-microSD שמיש רק בגרסת "Lite", שאינה כוללת אחסון eMMC מובנה. ל-CM5 שלי יש 32 ג'יגה-בייט eMMC, כך שחריץ ה-SD מושבת ומתעלם ממנו במהלך האתחול.
דרך נכונה להתקין תוכנת מערכת ב-CM5 עם eMMC
כדי להתקין את מערכת ההפעלה ב- CM5 עם eMMC, עקוב אחר ההוראות הרשמיות setting up the IO Board.
שלב מכריע הוא למקם מגשר על כותרת J2 על לוח ה-IO. זה מכניס את ה-CM5 למצב אתחול USB, ומאפשר למחשב המארח שלך לגשת ל-eMMC כמו התקן אחסון המוני.
בעיה עם rpiboot והפתרון
במחשב הפיתוח שלי (אובונטו 22.04), ניסיתי בהתחלה להתקין rpiboot עם:
sudo apt install rpiboot
עם זאת, גרסה זו לא עבדה כראוי - ככל הנראה בגלל היותה מיושנת או לא תואמת ל-CM5.
במקום זאת, הייתי צריך לבנות rpiboot מהמקור. בצע את השלבים כאן:
לשכפל את המאגר הרשמי:
git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
### התקן יחסי תלות ובנה:
sudo apt install git libusb-1.0-0-dev pkg-config build-essential
make
### הפעל את rpiboot
כשה-CM5 מחובר ומגשר ה-J2 במקומו:
sudo ./rpiboot -d mass-storage-gadget64
המערכת תזהה את ה-eMMC של ה-CM5, וכעת תוכל להבהב עליו את מערכת ההפעלה באמצעות Raspberry Pi Imager או dd.</:code4:>
</:code3:>
</:code2:></:code1:>
תקציר
- חריץ CM5 SD עובד רק על גרסאות Lite (ללא eMMC).
- כדי להבהב CM5 עם eMMC, עליך:
** הגדר את מגשר J2.
** השתמש ב-rpiboot כדי לחשוף את ה-eMMC דרך USB. - אם ה-rpiboot הארוז לא עובד, בנה אותו מהמקור.
לאחר שזה נעשה, אתה יכול להבהב את מערכת ההפעלה Raspberry Pi ישירות על ה-eMMC כאילו היה כרטיס SD.