Cannot boot from emmc

Hi, I first freshly flashed the image 69 into the sd card, it boot up normally,
After I booted into the system on the tfcard, I used dd command to write image into emmc module.

then I ejected the tfcard to try to boot from emmc
I cannot boot.

1 Like

I hooked up a console cable and found this output:

I can see that this image uses mmcblk1 instead of uuid, which might be the reasion.

Is there anyway to modify them all? I tried to modify only the extlinux.conf and uEnv.txt
And it still do not boot

Hi,
For Debian Image 69, boot from SD or eMMC are not supported yet, hence it would not boot properly from eMMC. Debian Image with SD/eMMC boot support will be enabled in the next image release.

3 Likes

Thanks, I will choose a faster SD card to do that .

Then how about the boot mode selection DIP switch on the board :slight_smile:

To boot from eMMC, you will need to change the boot mode settings on the board. You can refer to the last 2 pages of this document: VisionFive2 Quick Start Guide for the details. Debian Image 69 does not support this boot mode.

Currently, I think the U-boot log you had shown previously is from the U-boot in the board’s SPI (SPI bootmode).

Alternatively, in case you would want to boot into eMMC from SPI U-boot, the fstab (/etc/fstab) in eMMC needs to be modified as well, other than extlinux.conf.

Then, you can run this following command in U-boot console to boot into eMMC from the SPI U-boot:

fatload mmc 0:2 a0000000 /boot/uEnv.txt; env import a0000000 200; sysboot mmc 0:2 fat b0000000 /boot/extlinux/extlinux.conf

This is a more ‘hacky-ish’ way of booting into a eMMC rootfs for now, and the next image release should fix the hassle needed :smiley:

4 Likes

set boot mode jumper to 00, which means "boot from qspi“

  1. dd official sdcard.img to your emmc, the conf file show it contains uboot
  2. boot into uboot console
setenv devnum 0;
saveenv;
boot
  1. then you boot into emmc.

not knowing how the jh7110 cpu load uboot from emmc/tf card.
so boot mode emmc/tf not work yet

1 Like

This works perfectly! I also changed the env variables below to make it permanent at the next boots:
bootargs=root=/dev/mmcblk0p3 root=/dev/mmcblk0p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 single
bootcmd_distro=run fdt_loaddtb; run fdt_sizecheck; run set_fdt_distro; sysboot mmc ${fatbootpart} fat b0000000 ${bootdir}/${boot_syslinux_conf};
fatbootpart=0:2