Giriş Problemi
Yeni bir proje için donanım platformu olarak Raspberry Pi Compute Module 5 (CM5) 'u kullanmaya karar verdik.
Aşağıdakilerden oluşan bir geliştirme kiti aldım:
- 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.
Hedef
Geliştirmeyi basitleştirmek için, Compute Module 5 IO Board bir microSD kart yuvası içerdiğinden, sistem yazılımını (raspiOS) bir microSD karttan çalıştırmak istedim.
Ben kullandım Raspberry Pi Imager En son Raspberry Pi OS'yi bir microSD karta flaşlamak için, kartı IO kartındaki yuvaya yerleştirin ve sistemi çalıştırın.
Ancak, işletim sistemine önyükleme yapmak yerine, ekranda "SD: kart algılanmadı" şeklinde terminal benzeri bir mesaj belirdi ve sistem önyükleme yapmadı.
Neden ve sonuç
Biraz araştırma yaptıktan sonra, Raspberry Pi dokümantasyonunda Compute Module 5:
- microSD kart yuvası (yalnızca eMMC içermeyen Lite varyantlarında kullanım içindir; diğer varyantlar yuvayı yok sayar)
Bu, microSD yuvasının yalnızca yerleşik eMMC depolama alanı içermeyen "Lite" varyantında kullanılabileceği anlamına gelir. CM5'imde 32 GB eMMC var, bu nedenle SD yuvası devre dışı bırakıldı ve önyükleme sırasında yok sayıldı.
Sistem Yazılımını eMMC ile CM5'e Yüklemenin Doğru Yolu
İşletim sistemini eMMC'li bir CM5'e yüklemek için aşağıdaki resmi talimatları izleyin setting up the IO Board.
Önemli bir adım, IO kartı üzerindeki J2 başlığına bir jumper yerleştirmektir. Bu, CM5'i USB önyükleme moduna geçirerek ana bilgisayarınızın eMMC'ye bir yığın depolama aygıtı gibi erişmesini sağlar.
rpiboot ile İlgili Sorun ve Çözümü
Geliştirme makinemde (Ubuntu 22.04), başlangıçta rpiboot ile yüklemeyi denedim:
sudo apt install rpiboot
Ancak bu sürüm, muhtemelen eski olması veya CM5 ile uyumsuz olması nedeniyle düzgün çalışmadı.
Bunun yerine, rpiboot'u kaynaktan oluşturmak zorunda kaldım. Buradaki adımları izleyin:
Resmi depoyu klonlayın:
git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
Bağımlılıkları yükleyin ve derleyin:
sudo apt install git libusb-1.0-0-dev pkg-config build-essential
make
rpiboot'u çalıştırın
CM5 bağlı ve J2 atlama teli yerindeyken:
sudo ./rpiboot -d mass-storage-gadget64
Sistem CM5'in eMMC'sini algılayacaktır ve artık Raspberry Pi Imager veya dd kullanarak işletim sistemini üzerine flaşlayabilirsiniz.
Özet
- CM5 SD yuvası yalnızca Lite (eMMC'siz) modellerde çalışır.
- CM5'i eMMC ile flaşlamak için şunları yapmalısınız:
** J2 jumper'ını ayarlayın.
** USB üzerinden eMMC'yi açığa çıkarmak için rpiboot kullanın. - Paketlenmiş rpiboot çalışmazsa, kaynaktan derleyin.
Bu işlem tamamlandıktan sonra, Raspberry Pi OS'yi bir SD kartmış gibi doğrudan eMMC'ye flaşlayabilirsiniz.