Jump to content

H6: can‘t boot from emmc


Lin Xiaofeng

Recommended Posts

# uname -a
Linux H6 4.18.13-sunxi64 #3 SMP Fri Oct 12 17:43:44 CST 2018 aarch64 GNU/Linux

 

1, burn the image to SD card

2, use nand-sata-install command, burn emmc

3, remove the SD card

4, reboot the board, can't boot, the error message:

U-Boot SPL 2018.09-rc1-armbian (Oct 12 2018 - 17:39:13 +0800)
DRAM: 1024 MiB
Trying to boot from MMC2
MMC Device 1 not found
spl: could not find mmc device. error: -19
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
root@H6:/mnt/emmc# fdisk -l 
Disk /dev/mmcblk0: 30 GiB, 32218546176 bytes, 62926848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x36326db0

Device         Boot Start      End  Sectors  Size Id Type
/dev/mmcblk0p1       8192 62297567 62289376 29.7G 83 Linux


Disk /dev/mmcblk2: 7.3 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7b2f8591

Device         Boot Start      End  Sectors  Size Id Type
/dev/mmcblk2p1       8192 15117183 15108992  7.2G 83 Linux

 

mkdir /mnt/emmc

mount /dev/mmcblk2p1 /mnt/emmc

 

and then I try modify the /mnt/emmc/boot/boot.cmd and /mnt/emmc/boot/boot.scr files, 

setenv rootdev "/dev/mmcblk0p1"       change mmcblk0p1 to mmcblk2p1

if test "${devtype}" = "mmc"; then part uuid mmc 0:1 partuuid; fi      change "mmc 0:1" to "mmc 2:1"

 

and I check the emmc device UUID, is correct.

root@H6:/mnt/emmc/boot# cat armbianEnv.txt 
verbosity=1
console=both
overlay_prefix=sun50iw6p1-
rootdev=UUID=178e84b7-40bc-4ebc-922d-9850051c8c00
rootfstype=ext4
user_overlays=network
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
root@H6:/mnt/emmc/boot# blkid
/dev/mmcblk0p1: UUID="9766d929-82b6-4c2f-90e0-6f422af64df5" TYPE="ext4" PARTUUID="36326db0-01"
/dev/mmcblk2p1: UUID="178e84b7-40bc-4ebc-922d-9850051c8c00" TYPE="ext4" PARTUUID="7b2f8591-01"
/dev/zram0: LABEL="log2ram" UUID="00102ace-f4c5-4d78-af23-3a8b22b9f360" TYPE="ext4"
/dev/zram1: UUID="a4a7b532-e8d5-481b-a5ed-5616bf0ad9fa" TYPE="swap"
/dev/zram2: UUID="62a328b0-3e44-41ff-a9dd-79a49d74d9c7" TYPE="swap"
/dev/zram3: UUID="3b5ed341-f05b-4907-b965-8840f2541c82" TYPE="swap"
/dev/zram4: UUID="14517095-4a69-4210-bbd8-d53c1a34d3d7" TYPE="swap"
/dev/mmcblk0: PTUUID="36326db0" PTTYPE="dos"
/dev/mmcblk2: PTUUID="7b2f8591" PTTYPE="dos"

 

follow this document, can't find script.bin in system.

https://forum.armbian.com/topic/1702-orange-pi-plus-2e-where-is-16ghz-and-sd/?tab=comments#comment-13163

 

where is the problem, any help ?

thinks.

 

 

Link to comment
Share on other sites

1 hour ago, Lin Xiaofeng said:


Document from 2016 might not be useful. Script.bin is proprietary Allwinner way of describing hardware configuration. This is EOL and is not used in mainline kernel which we use here. Here, we have https://en.wikipedia.org/wiki/Device_tree

 

1 hour ago, Lin Xiaofeng said:

where is the problem, any help ?


Support for eMMC in u-boot is not enabled or does not exists at all. Check those patches to get an idea how to enable eMMC:


https://github.com/armbian/build/blob/master/patch/u-boot/u-boot-sunxi/add-nanopi-air-emmc.patch
https://github.com/armbian/build/blob/master/patch/u-boot/u-boot-sun50iw2/add-a64-olinuxino-emmc-support.patch

Than just use nand-sata-install.

 

Link to comment
Share on other sites

@martinayotte Sorry,  the device is our new product, No brand and model, use the H6 chip. 

 we use the "orangepi lite2" to build the armbian image.

 

@Igor  today I change the patch, add MMC2, but is not work,  the error message is change, 

The error message:

U-Boot SPL 2018.09-rc1-armbian (Nov 20 2018 - 18:39:10 +0800)
DRAM: 1024 MiB
Trying to boot from MMC2
MMC: no card present
spl: mmc init failed with error: -123

SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

 

1. add "CONFIG_MMC_SUNXI_SLOT_EXTRA=2" to the defconfig

root@ubuntu:/armbian/cache/sources/u-boot/h6-hdmi-rebased-1/configs# cat orangepi_lite2_defconfig
CONFIG_ARM=y
CONFIG_ARCH_SUNXI=y
CONFIG_MACH_SUN50I_H6=y
CONFIG_DRAM_ODT_EN=y
CONFIG_MMC0_CD_PIN="PF6"
CONFIG_HDMI_DDC_EN="PH2"
CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-orangepi-lite2"
CONFIG_SPL=y
CONFIG_MMC_SUNXI_SLOT_EXTRA=2

 

2. add the MMC2 to the dts

root@ubuntu:/armbian/cache/sources/u-boot/h6-hdmi-rebased-1/arch/arm/dts# cat sun50i-h6-orangepi-lite2.dts

/dts-v1/;

#include "sun50i-h6.dtsi"

#include <dt-bindings/gpio/gpio.h>

/ {
        model = "OrangePi Lite 2";
        compatible = "xunlong,orangepi-lite2", "allwinner,sun50i-h6";

        aliases {
                serial0 = &uart0;
        };

        chosen {
                stdout-path = "serial0:115200n8";
        };
};

&mmc0 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc0_pins>;
        vmmc-supply = <&reg_cldo1>;
        cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
        bus-width = <4>;
        status = "okay";
};

&mmc2 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc2_pins>;
        vmmc-supply = <&reg_cldo1>;
        vqmmc-supply = <&reg_bldo2>;
        non-removable;
        cap-mmc-hw-reset;
        status = "okay";
};

....

 

 

Link to comment
Share on other sites

  • Igor locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines