Once you dd the image they provide, you'll notice that you can only boot from eMMC when the SD is not inserted and if you inser it after boot, the system doesn't even discover the devices.
There is an easy fix for this.
At boot, uBoot looks for /boot/bananapi/bpi-m3/linux/uEnv.txt
and loads /boot/bananapi/bpi-m3/linux/script.bin
that contains additional configuration, like how to manage the SD, in binary format.
You just need to follow a few simple steps to enable SD discovery after boot (there is a way to boot from the boot partition on the SD and then load the OS from eMMC but I didn't have time to experiment with that).
-
Copy the current script.bin to your home and make a backup:
sudo cp /boot/bananapi/bpi-m3/linux/script.bin ~ sudo cp /boot/bananapi/bpi-m3/linux/script.bin /boot/bananapi/bpi-m3/linux/script.bin.orig
-
Convert it to its textual form:
bin2fex script.bin > sys_config.fex
-
Open
sys_config.fex
, search formmc0_para
and changesdc_detmore
from3
to1
(the same parameter under mmc1 can stay at 4):[mmc0_para] sdc_used = 1 sdc_detmode = 1
-
Convert it back to binary:
fex2bin sys_config.fex > script.bin
-
Copy it back:
sudo cp script.bin /boot/bananapi/bpi-m3/linux/script.bin
Hi, thanks for the help, great!
I see that this is 9 months old, so it might be due to an upgrade, but for me script.bin is under
/boot/firmware/bananapi/bpi-m3/linux/script.bin