Unable to get CM4 to boot
# │forum
j
I followed the doc's but must be missing something, I've a cm4 in slot 1 &2 and tried various ways to get it to boot to flash the os but all have failed. Is there anyway on the BMC to see that it recognizes what's in the slots? #cm4
d
Do the CM4s contain eMMC? You should be able to flash them by putting the node slot into flash mode then powering the module on.
j
Turns out it was the PSU, new PSU now and at least they boot. They are emmc Pi's now trying to get them to show when using the USB cable to flash using rpi imager
d
Okay. You should be in good shape. If you have a Turing Pi V2.3/V2.4 (Kickstarter reward) board, flashing over USB can be a bit challenging. Generally, nodes 3 and 4 work better
j
I'll try node3 tomorrow thanks Dan. I was able to flash on node1 via BMC GUI but can't ssh yet have to read more docs on that yet
d
Are you preconfiguring settings and services through the imager? I'm not certain an SSH server is enabled by default. Ubuntu has its own requirements.
i
If you are using powerful enough PSU (the one that TuringPi provides is 144W (12Vx12A), then all of the USB connection stuff should work fine. Another way to do it 1. Upgrade BMC Firmware to 2.1.0 (or at least 2.0.5) and flash per notes in docs, but don't boot the CM4 after flashing yet. 2. Run the "Rpi-imager" on Windows and select the option to "Change the settings" on the new OS. Make desired changes, and then once it completes and the device re-attaches to USB and opens explorer window, copy the
firstrun.sh
and look at/copy the entry in
cmdline.txt
that references the firstrun.sh script. 3. Use the
tpi advanced msd -n <CM4 node>
to present the CM4 partitions to the BMC OS, they should be /dev/sda (at least usually). Check using
lsblk
4. Mount the smaller partition (usually /dev/sda1) and then copy the
firstrun.sh
to the root of that partition. Use Nano to edit the
cmdline.txt
to include the call to
firstrun.sh
i.e.
init=/usr/lib/raspberrypi-sys-mods/firstboot systemd.run=/boot/firstrun.sh systemd.run_success_action=reboot systemd.unit=kernel-command-line.target
5. Unmount the device and reboot the node. 6 . This should then boot up the CM4 and enable all of the settings contained in the
firstrun.sh