Erase eMMC and start over? Or boot from SD Card?

Hello. I have a working OS installed on my eMMC. I am trying to erase it, and start over so I can boot from the SD card again.

If I remove the eMMC module the board won’t boot at all.

I can’t seem to get it to boot from the SD card… if I could do that I could “dd” the eMMC again.

I think I remember changing some option to force the eMMC as the main boot device but I can’t remember what I did.

Are you using a 4K display by chance? Currently there’s a bug in our u-boot that crashes with 4K displays. It’s in the process of getting fixed.

ROC-RK3328-CC
32gb eMMC

I am using a 1080p monitor but mostly I don’t use a monitor.
I am running Debian 11 bullseye, booting from the eMMC module.
This works great. Much better than the SD card!

I would like to change the role of the computer and install a different OS.

I can’t boot from SD card… How do I delete the eMMC, erase Debian 11, and boot from the SD card so I can start over and install a new OS on the eMMC?

Are you sure you’re flashing the right image correctly on the MicroSD card? Without the eMMC module, it will boot the MicroSD card. To delete the eMMC bootloader, simply run:

sudo dd if=/dev/zero of=/dev/mmcblk0 bs=512 skip=1 count=2047

I was doing it wrong. Thanks for the help!

I fixed the SD card and I can now boot from the SD card but if I have the eMMC connected it automatically boots from the eMMC card, not the SD card. Is there a way to swap the boot order? Or do I need to hot plug the eMMC after booting from the SD card?

Boards have a fixed search order for the bootloader. Once it has found the bootloader on the eMMC, it will boot from it. You can set the operating system boot order via creating a boot.ini file with the necessary boot_targets order saved on the device that the board is booting from.

boot_targets=mmc1 mmc0

This is what worked for me:
I had to use terminal or command line for this.
Open a terminal and change directory to boot/efi.
“cd /boot/efi”
Start nano as admin to create the file.
“sudo nano boot.ini”
add your boot targets.
“boot_targets=mmc1 mmc0”
Save the file, exit nano, and reboot.

The file needs to be on the first FAT/EFI partition. So mounting points may vary but it’s generally /boot/efi.

I corrected “etc” to “efi”. I left that post for anyone that might read it later, it might help them figure it out. Thank you for the correction!

echo "boot_targets=usb mmc1 mmc0" > /boot/efi/boot.ini

Until it is included in every image, must need to be done after every image writing.