🛠 Premier démarrage d'un CM4 Lite depuis la microSD de l'IO Board
Objetivos
Montar un Compute Module 4 en su IO Board y arrancarlo por primera vez desde la ranura microSD — el camino más sencillo cuando se empieza con un CM4 Lite (sin eMMC). Aprenderás principalmente a decodificar un código de pedido del CM4 (formato CM4xyzwww: x = inalámbrico, y = RAM en GB, z = decenas de GB de eMMC) y la regla de oro del CM4: un módulo con eMMC ignora completamente la ranura microSD, ya que la eMMC está conectada al controlador SD primario.
Material
- 1 × Raspberry Pi Compute Module 4 Lite (z=0 en el código, p. ej. CM4004000 = sin inalámbrico, 4 GB, sin eMMC)
- 1 × IO Board CM4 oficial (CM4IO, 160 × 90 mm, vendido por separado — el módulo desnudo no funciona sin él)
- 1 fuente de alimentación de 12 V en el conector de barril de la IO Board (hasta 26 V solo si no se utiliza PCIe)
- 1 tarjeta microSD de al menos 8 GB, 1 pantalla HDMI + cable, cable Ethernet, PC con Raspberry Pi Imager
Código completo
En el PC, graba Raspberry Pi OS de 64 bits en la microSD con Raspberry Pi Imager (se recomiendan los ajustes previos de hostname, SSH y Wi-Fi). Verifica que no haya ningún jumper en J2 (nRPI_BOOT) — si está puesto, fuerza el modo dispositivo USB y el módulo nunca arranca solo. Inserta la SD, alimenta la IO Board, conecta la pantalla y la red, y en la primera shell:
# Vérifier que le système est bien sur la microSD et l'identité du module
lsblk -o NAME,SIZE,MOUNTPOINT | head # /dev/mmcblk0p2 monté sur /
cat /proc/device-tree/compatible # attendu : raspberrypi,4-compute-module
vcgencmd versionboot # le bootloader charge bcm2711-rpi-cm4.dtb
dmesg | grep -iE 'mmc|emmc' # mmc0 = microSD ; aucune eMMC sur un Lite
vcgencmd measure_temp # throttle à 85 °C, à surveiller
Verificación esperada
lsblk muestra la raíz en /dev/mmcblk0p2; /proc/device-tree/compatible contiene raspberrypi,4-compute-module; el LED ACT parpadea durante el arranque y luego se apaga; vcgencmd versionboot menciona el DTB bcm2711-rpi-cm4.dtb (el recurso alternativo a bcm2711-rpi-4-b.dtb solo ocurre si falta el primero).
Errores frecuentes
- Módulo no-Lite que se intenta arrancar desde SD: un CM4 con eMMC ignora totalmente la ranura microSD — si una SD válida no arranca, verifica el SKU (z=0 obligatorio).
- Jumper J2 (nRPI_BOOT) dejado en su lugar: el módulo espera rpiboot en el micro-USB en lugar de arrancar.
- Fuente de alimentación insuficiente: el riel de 5 V debe mantenerse por encima de 4,75 V (idealmente > 4,9 V) bajo 2 A, de lo contrario se producen caídas de tensión (brownouts) y corrupción de la SD.
- Confundir CM4 y CM4S: el CM4S (antiguo formato SODIMM) no tiene PCIe, ni segundo HDMI, ni Ethernet integrado.
Otros tutoriales para esta placa
- GPIO du CM4 : comprendre les banks 1,8 V / 3,3 V avant de câbler
- Basculer le Wi-Fi du CM4 sur l'antenne externe U.FL (dtparam=ant2)
- Bootloader EEPROM du CM4 : maîtriser BOOT_ORDER via usbboot
- Ajouter une RTC au CM4 (PCF8523 sur I2C1 via dt-blob)
- Son sur CM4 : DAC I2S/PCM (PCM5102) sans prise jack
- Horodatage industriel : PTP IEEE 1588 sur le PHY Ethernet du CM4
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash