Lompat ke isi utama

Gambar Boot Raspberry Pi CM5 eMMC
Masalah saat menginstal Perangkat Lunak Sistem

Masalah Pendahuluan

Untuk proyek baru, kami memutuskan untuk menggunakan Raspberry Pi Compute Module 5 (CM5) sebagai platform perangkat keras kami.

Saya menerima kit pengembangan yang terdiri dari:

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

Menghitung Modul 5 Kasus IO

Tujuan

Untuk menyederhanakan pengembangan, saya ingin menjalankan perangkat lunak sistem (raspiOS) dari kartu microSD, karena Compute Module 5 IO Board menyertakan slot kartu microSD.

Saya menggunakan Raspberry Pi Imager untuk mem-flash OS Raspberry Pi terbaru ke kartu microSD, memasukkan kartu ke dalam slot pada papan IO, dan menyalakan sistem.

Namun, alih-alih mem-boot ke OS, layar menampilkan pesan seperti terminal yang mengatakan "SD: card tidak terdeteksi", dan sistem tidak melakukan booting.

Sebab dan akibat

Setelah melakukan riset, saya menemukan penjelasan dalam dokumentasi Raspberry Pi untuk Compute Module 5:

  • slot kartu microSD (hanya untuk digunakan dengan varian Lite tanpa eMMC; varian lain mengabaikan slot tersebut)

Ini berarti slot microSD hanya dapat digunakan pada varian "Lite", yang tidak memiliki penyimpanan eMMC onboard. CM5 saya memiliki eMMC 32 GB, sehingga slot SD dinonaktifkan dan diabaikan selama boot.

Cara yang Benar untuk Menginstal Perangkat Lunak Sistem pada CM5 dengan eMMC

Untuk menginstal sistem operasi pada CM5 dengan eMMC, ikuti petunjuk resmi untuk setting up the IO Board.

Langkah yang sangat penting adalah memasang jumper pada header J2 di papan IO. Hal ini akan menempatkan CM5 ke dalam mode boot USB, sehingga PC host Anda dapat mengakses eMMC seperti perangkat penyimpanan massal.

Papan IO Modul Komputasi 5

Masalah dengan rpiboot dan Solusinya

Pada mesin pengembangan saya (Ubuntu 22.04), saya awalnya mencoba menginstal rpiboot dengan:

sudo apt install rpiboot

Namun, versi ini tidak berfungsi dengan baik-kemungkinan karena sudah ketinggalan zaman atau tidak kompatibel dengan CM5.

Sebagai gantinya, saya harus membangun rpiboot dari sumbernya. Ikuti langkah-langkahnya di sini:

Kloning repositori resmi:

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

Instal dependensi dan bangun:

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

Jalankan rpiboot

dengan CM5 yang terhubung dan jumper J2 pada tempatnya:

sudo ./rpiboot -d mass-storage-gadget64

Sistem akan mendeteksi eMMC CM5, dan Anda sekarang dapat mem-flash OS ke dalamnya menggunakan Raspberry Pi Imager atau dd.

Ringkasan

  • Slot SD CM5 hanya berfungsi pada varian Lite (tanpa eMMC).
  • Untuk mem-flash CM5 dengan eMMC, Anda harus:
    ** Mengatur jumper J2.
    ** Gunakan rpiboot untuk mengekspos eMMC melalui USB.
  • Jika rpiboot yang dikemas tidak berfungsi, buatlah dari sumbernya.

Setelah selesai, Anda bisa mem-flash OS Raspberry Pi langsung ke eMMC seolah-olah itu adalah kartu SD.