Skip to main content

Hình ảnh khởi động Raspberry Pi CM5 eMMC
Sự cố khi cài đặt Phần mềm hệ thống

Vấn đề giới thiệu

Đối với một dự án mới, chúng tôi quyết định sử dụng Raspberry Pi Compute Module 5 (CM5) làm nền tảng phần cứng của mình.

Tôi đã nhận được một bộ công cụ phát triển bao gồ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.
    Mô-đun tính toán 5 Trường hợp IO

Mục tiêu

Để đơn giản hóa việc phát triển, tôi muốn chạy phần mềm hệ thống (raspiOS) từ thẻ nhớ microSD, vì Compute Module 5 IO Board bao gồm một khe cắm thẻ nhớ microSD.

Tôi đã sử dụng Raspberry Pi Imager để flash hệ điều hành Raspberry Pi mới nhất vào thẻ nhớ microSD, lắp thẻ vào khe cắm trên bo mạch IO và bật nguồn hệ thống.

Tuy nhiên, thay vì khởi động vào hệ điều hành, màn hình hiển thị một thông báo giống như thiết bị đầu cuối cho biết "SD: thẻ không được phát hiện" và hệ thống không khởi động.

Nguyên nhân và kết quả

Sau một số nghiên cứu, tôi đã tìm thấy lời giải thích trong tài liệu Raspberry Pi cho Compute Module 5:

  • khe cắm thẻ nhớ microSD (chỉ để sử dụng với các biến thể Lite không có eMMC; các biến thể khác bỏ qua khe cắm)

Điều này có nghĩa là khe cắm microSD chỉ có thể sử dụng được trên biến thể "Lite", không bao gồm bộ nhớ eMMC tích hợp. CM5 của tôi có 32 GB eMMC, vì vậy khe cắm SD bị tắt và bỏ qua trong quá trình khởi động.

Cách cài đặt phần mềm hệ thống trên CM5 đúng với eMMC

Để cài đặt hệ điều hành trên CM5 với eMMC, hãy làm theo hướng dẫn chính thức cho setting up the IO Board.

Một bước quan trọng là đặt một jumper trên tiêu đề J2 trên bảng IO. Điều này đưa CM5 vào chế độ khởi động USB, cho phép PC chủ của bạn truy cập eMMC như một thiết bị lưu trữ dung lượng lớn.

Bảng IO Mô-đun tính toán 5

Sự cố với rpiboot và giải pháp

Trên máy phát triển của mình (Ubuntu 22.04), ban đầu tôi đã thử cài đặt rpiboot với:

sudo apt install rpiboot

Tuy nhiên, phiên bản này không hoạt động bình thường — có thể là do nó đã lỗi thời hoặc không tương thích với CM5.

Thay vào đó, tôi phải xây dựng rpiboot từ nguồn. Làm theo các bước tại đây:

Sao chép kho lưu trữ chính thức:

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

### Cài đặt các phần phụ thuộc và xây dựng:

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

### Chạy rpiboot

với CM5 được kết nối và jumper J2 tại chỗ:

sudo ./rpiboot -d mass-storage-gadget64

Hệ thống sẽ phát hiện eMMC của CM5 và bây giờ bạn có thể flash hệ điều hành lên nó bằng Raspberry Pi Imager hoặc dd.</:code4:>

</:code3:>

</:code2:></:code1:>

Tóm tắt

  • Khe cắm SD CM5 chỉ hoạt động trên các biến thể Lite (không có eMMC).
  • Để flash CM5 với eMMC, bạn phải:
    ** Đặt jumper J2.
    ** Sử dụng rpiboot để hiển thị eMMC qua USB.
  • Nếu rpiboot đóng gói không hoạt động, hãy xây dựng nó từ nguồn.

Sau khi hoàn tất, bạn có thể flash Raspberry Pi OS trực tiếp lên eMMC như thể nó là một thẻ SD.