275 lines
11 KiB
Diff
275 lines
11 KiB
Diff
diff --git a/conf/machine/include/xml/uis7885-2h10-uboot22.xml b/conf/machine/include/xml/uis7885-2h10-uboot22.xml
|
|
index cad6b1ddf..7a2159382 100755
|
|
--- a/conf/machine/include/xml/uis7885-2h10-uboot22.xml
|
|
+++ b/conf/machine/include/xml/uis7885-2h10-uboot22.xml
|
|
@@ -3208,15 +3208,17 @@
|
|
<Partition id="trustos_bak" size="6"/>
|
|
<Partition id="teecfg_bak" size="1"/>
|
|
<Partition id="uboot_bak" size="3"/>
|
|
- <Partition id="prodnv" size="64"/>
|
|
<Partition id="miscdata" size="1"/>
|
|
<Partition id="miscdata_bak" size="1"/>
|
|
- <Partition id="recovery" size="45"/>
|
|
- <Partition id="recovery_dtb" size="8"/>
|
|
- <Partition id="recovery_system" size="80"/>
|
|
<Partition id="misc" size="1"/>
|
|
<Partition id="misc_bak" size="1"/>
|
|
<Partition id="uboot_log" size="4"/>
|
|
+ <Partition id="reserved" size="1"/>
|
|
+ <Partition id="splloadersd" size="1"/>
|
|
+ <Partition id="prodnv" size="64"/>
|
|
+ <Partition id="recovery_dtb" size="8"/>
|
|
+ <Partition id="recovery" size="45"/>
|
|
+ <Partition id="recovery_system" size="80"/>
|
|
<Partition id="logo" size="8"/>
|
|
<Partition id="fbootlogo" size="8"/>
|
|
<Partition id="nr_fixnv1" size="50"/>
|
|
@@ -3688,6 +3690,18 @@
|
|
<CheckFlag>2</CheckFlag>
|
|
<Description>Download sml operation</Description>
|
|
</File>
|
|
+ <File>
|
|
+ <ID>SPLLoaderSDBOOT</ID>
|
|
+ <IDAlias>UBOOT_LOADER_SDBOOT</IDAlias>
|
|
+ <Type>UBOOT_LOADER2</Type>
|
|
+ <Block id="splloadersd">
|
|
+ <Base>0x0</Base>
|
|
+ <Size>0x0</Size>
|
|
+ </Block>
|
|
+ <Flag>1</Flag>
|
|
+ <CheckFlag>0</CheckFlag>
|
|
+ <Description>SPLLoaderSDBOOT image file</Description>
|
|
+ </File>
|
|
<File>
|
|
<ID>UBOOTLoader</ID>
|
|
<IDAlias>UBOOT_LOADER</IDAlias>
|
|
diff --git a/conf/machine/include/xml/uis7885-2h10-ubuntu20.xml b/conf/machine/include/xml/uis7885-2h10-ubuntu20.xml
|
|
index b9f8a8eb2..199e57018 100755
|
|
--- a/conf/machine/include/xml/uis7885-2h10-ubuntu20.xml
|
|
+++ b/conf/machine/include/xml/uis7885-2h10-ubuntu20.xml
|
|
@@ -3208,15 +3208,17 @@
|
|
<Partition id="trustos_bak" size="6"/>
|
|
<Partition id="teecfg_bak" size="1"/>
|
|
<Partition id="uboot_bak" size="3"/>
|
|
- <Partition id="prodnv" size="64"/>
|
|
<Partition id="miscdata" size="1"/>
|
|
<Partition id="miscdata_bak" size="1"/>
|
|
- <Partition id="recovery" size="45"/>
|
|
- <Partition id="recovery_dtb" size="8"/>
|
|
- <Partition id="recovery_system" size="80"/>
|
|
<Partition id="misc" size="1"/>
|
|
<Partition id="misc_bak" size="1"/>
|
|
<Partition id="uboot_log" size="4"/>
|
|
+ <Partition id="reserved" size="1"/>
|
|
+ <Partition id="splloadersd" size="1"/>
|
|
+ <Partition id="prodnv" size="64"/>
|
|
+ <Partition id="recovery_dtb" size="8"/>
|
|
+ <Partition id="recovery" size="45"/>
|
|
+ <Partition id="recovery_system" size="80"/>
|
|
<Partition id="logo" size="8"/>
|
|
<Partition id="fbootlogo" size="8"/>
|
|
<Partition id="nr_fixnv1" size="50"/>
|
|
@@ -3688,6 +3690,18 @@
|
|
<CheckFlag>2</CheckFlag>
|
|
<Description>Download sml operation</Description>
|
|
</File>
|
|
+ <File>
|
|
+ <ID>SPLLoaderSDBOOT</ID>
|
|
+ <IDAlias>UBOOT_LOADER_SDBOOT</IDAlias>
|
|
+ <Type>UBOOT_LOADER2</Type>
|
|
+ <Block id="splloadersd">
|
|
+ <Base>0x0</Base>
|
|
+ <Size>0x0</Size>
|
|
+ </Block>
|
|
+ <Flag>1</Flag>
|
|
+ <CheckFlag>0</CheckFlag>
|
|
+ <Description>SPLLoaderSDBOOT image file</Description>
|
|
+ </File>
|
|
<File>
|
|
<ID>UBOOTLoader</ID>
|
|
<IDAlias>UBOOT_LOADER</IDAlias>
|
|
diff --git a/conf/machine/uis7885-2h10.conf b/conf/machine/uis7885-2h10.conf
|
|
index 68548bc1c..6763f11c9 100755
|
|
--- a/conf/machine/uis7885-2h10.conf
|
|
+++ b/conf/machine/uis7885-2h10.conf
|
|
@@ -172,6 +172,7 @@ U_BOOT_MACHINE_PATCH = ""
|
|
QT_SUPPORTED = "true"
|
|
|
|
CHIPRAM_SUPPORT_BOTH_EMMC_UFS = "yes"
|
|
+SUPPORT_EMMC_UFS_SDBOOT = "yes"
|
|
|
|
|
|
SUPPORT_VOICECALL = "true"
|
|
diff --git a/recipes-bsp/chipram/chipram.bb b/recipes-bsp/chipram/chipram.bb
|
|
index 5a5984396..f737ef78d 100755
|
|
--- a/recipes-bsp/chipram/chipram.bb
|
|
+++ b/recipes-bsp/chipram/chipram.bb
|
|
@@ -60,6 +60,14 @@ do_compile () {
|
|
oe_runmake -C ${S} O=${B}/ufs ${CHIPRAM_MACHINE}
|
|
oe_runmake -C ${S} O=${B}/ufs
|
|
fi
|
|
+
|
|
+ if [ ${SUPPORT_EMMC_UFS_SDBOOT} = "yes" ]; then
|
|
+ #########build spl-sd.bin###########################
|
|
+ export CONFIG_SD_SPL=true
|
|
+ oe_runmake -C ${S} O=${B}/sd ${CHIPRAM_MACHINE}
|
|
+ oe_runmake -C ${S} O=${B}/sd
|
|
+ fi
|
|
+
|
|
if [ ${CHIPRAM_SUPPORT_BOTH_EMMC_NAND} = "yes" ]; then
|
|
#########build spl-nand.bin###########################
|
|
install -m 0644 ${S}/../../devtools/mcp_gen/mcp.xls ${STAGING_BINDIR_NATIVE}/
|
|
@@ -118,6 +126,11 @@ do_deploy(){
|
|
sign_unisoc_bin "${DEPLOYDIR}/u-boot-spl-16k-ufs.bin"
|
|
fi
|
|
|
|
+ if [ ${SUPPORT_EMMC_UFS_SDBOOT} = "yes" ];then
|
|
+ install -m 0644 ${B}/sd/nand_spl/u-boot-spl-16k.bin ${DEPLOYDIR}/u-boot-spl-16k.bin
|
|
+ sign_unisoc_bin "${DEPLOYDIR}/u-boot-spl-16k.bin"
|
|
+ fi
|
|
+
|
|
if [ ${CHIPRAM_SUPPORT_BOTH_EMMC_NAND} = "yes" ];then
|
|
install -m 0644 ${B}/nand/nand_spl/u-boot-spl-16k.bin ${DEPLOYDIR}/u-boot-spl-16k-nand.bin
|
|
sign_unisoc_bin "${DEPLOYDIR}/u-boot-spl-16k-nand.bin"
|
|
diff --git a/recipes-bsp/u-boot/u-boot22.bb b/recipes-bsp/u-boot/u-boot22.bb
|
|
index 37e6211cd..f1c1e76a7 100755
|
|
--- a/recipes-bsp/u-boot/u-boot22.bb
|
|
+++ b/recipes-bsp/u-boot/u-boot22.bb
|
|
@@ -74,6 +74,12 @@ do_compile:prepend() {
|
|
if [ ${AB_PARTITIONS} = "true" ]; then
|
|
export CONFIG_AB_PARTITIONS=true
|
|
fi
|
|
+
|
|
+ if [ ${SUPPORT_EMMC_UFS_SDBOOT} = "yes" ]; then
|
|
+ export BOOT_SDBOOT=true
|
|
+ fi
|
|
+
|
|
+
|
|
}
|
|
|
|
do_compile () {
|
|
diff --git a/recipes-core/initscripts/initscripts/mount_emmc.sh b/recipes-core/initscripts/initscripts/mount_emmc.sh
|
|
index c20f186d6..bfdc32808 100644
|
|
--- a/recipes-core/initscripts/initscripts/mount_emmc.sh
|
|
+++ b/recipes-core/initscripts/initscripts/mount_emmc.sh
|
|
@@ -1,13 +1,29 @@
|
|
#!/bin/sh
|
|
#emmc dev name set
|
|
-echo "rcS:mount_emmc start"
|
|
-for folder in $(ls /sys/class/block/ | grep 'mmcblk0p');do
|
|
- id=${folder#*mmcblk0p}
|
|
- name=$(cat /sys/class/block/mmcblk0/$folder/uevent)
|
|
- subname=${name##*=}
|
|
- ln -s /dev/mmcblk0p$id /dev/mmcblk0p_$subname
|
|
- ln -s /dev/mmcblk0p$id /dev/$subname
|
|
-done
|
|
+is_sdboot=$(cat /proc/cmdline | grep "sdboot" | wc -l)
|
|
+if [ $is_sdboot -eq 0 ]; then
|
|
+ for folder in $(ls /sys/class/block/ | grep 'mmcblk0p');do
|
|
+ id=${folder#*mmcblk0p}
|
|
+ name=$(cat /sys/class/block/mmcblk0/$folder/uevent)
|
|
+ subname=${name##*=}
|
|
+ ln -s /dev/mmcblk0p$id /dev/mmcblk0p_$subname
|
|
+ ln -s /dev/mmcblk0p$id /dev/$subname
|
|
+ if [ $link_dev -eq 1 ];then
|
|
+ ln -s /dev/mmcblk0p$id /dev/disk/by-partlabel/$subname
|
|
+ fi
|
|
+ done
|
|
+else
|
|
+ for folder in $(ls /sys/class/block/ | grep 'mmcblk1p');do
|
|
+ id=${folder#*mmcblk1p}
|
|
+ name=$(cat /sys/class/block/mmcblk1/$folder/uevent)
|
|
+ subname=${name##*=}
|
|
+ ln -s /dev/mmcblk1p$id /dev/mmcblk1p_$subname
|
|
+ ln -s /dev/mmcblk1p$id /dev/$subname
|
|
+ if [ $link_dev -eq 1 ];then
|
|
+ ln -s /dev/mmcblk1p$id /dev/disk/by-partlabel/$subname
|
|
+ fi
|
|
+ done
|
|
+fi
|
|
|
|
#ufs dev name set
|
|
for devdir in /sys/block/sd*; do
|
|
diff --git a/recipes-ubuntu/unisoc-fs-mount/files/mount_emmc.sh b/recipes-ubuntu/unisoc-fs-mount/files/mount_emmc.sh
|
|
index c20f186d6..bfdc32808 100755
|
|
--- a/recipes-ubuntu/unisoc-fs-mount/files/mount_emmc.sh
|
|
+++ b/recipes-ubuntu/unisoc-fs-mount/files/mount_emmc.sh
|
|
@@ -1,13 +1,29 @@
|
|
#!/bin/sh
|
|
#emmc dev name set
|
|
-echo "rcS:mount_emmc start"
|
|
-for folder in $(ls /sys/class/block/ | grep 'mmcblk0p');do
|
|
- id=${folder#*mmcblk0p}
|
|
- name=$(cat /sys/class/block/mmcblk0/$folder/uevent)
|
|
- subname=${name##*=}
|
|
- ln -s /dev/mmcblk0p$id /dev/mmcblk0p_$subname
|
|
- ln -s /dev/mmcblk0p$id /dev/$subname
|
|
-done
|
|
+is_sdboot=$(cat /proc/cmdline | grep "sdboot" | wc -l)
|
|
+if [ $is_sdboot -eq 0 ]; then
|
|
+ for folder in $(ls /sys/class/block/ | grep 'mmcblk0p');do
|
|
+ id=${folder#*mmcblk0p}
|
|
+ name=$(cat /sys/class/block/mmcblk0/$folder/uevent)
|
|
+ subname=${name##*=}
|
|
+ ln -s /dev/mmcblk0p$id /dev/mmcblk0p_$subname
|
|
+ ln -s /dev/mmcblk0p$id /dev/$subname
|
|
+ if [ $link_dev -eq 1 ];then
|
|
+ ln -s /dev/mmcblk0p$id /dev/disk/by-partlabel/$subname
|
|
+ fi
|
|
+ done
|
|
+else
|
|
+ for folder in $(ls /sys/class/block/ | grep 'mmcblk1p');do
|
|
+ id=${folder#*mmcblk1p}
|
|
+ name=$(cat /sys/class/block/mmcblk1/$folder/uevent)
|
|
+ subname=${name##*=}
|
|
+ ln -s /dev/mmcblk1p$id /dev/mmcblk1p_$subname
|
|
+ ln -s /dev/mmcblk1p$id /dev/$subname
|
|
+ if [ $link_dev -eq 1 ];then
|
|
+ ln -s /dev/mmcblk1p$id /dev/disk/by-partlabel/$subname
|
|
+ fi
|
|
+ done
|
|
+fi
|
|
|
|
#ufs dev name set
|
|
for devdir in /sys/block/sd*; do
|
|
diff --git a/recipes-update/unisoc-ota/unisoc-ota/default/mount_emmc.sh b/recipes-update/unisoc-ota/unisoc-ota/default/mount_emmc.sh
|
|
index 66c567b77..ed07966ba 100755
|
|
--- a/recipes-update/unisoc-ota/unisoc-ota/default/mount_emmc.sh
|
|
+++ b/recipes-update/unisoc-ota/unisoc-ota/default/mount_emmc.sh
|
|
@@ -1,13 +1,24 @@
|
|
#!/bin/sh
|
|
#emmc dev name set
|
|
echo "rcS:mount_emmc start"
|
|
-for folder in $(ls /sys/class/block/ | grep 'mmcblk0p');do
|
|
- id=${folder#*mmcblk0p}
|
|
- name=$(cat /sys/class/block/mmcblk0/$folder/uevent)
|
|
- subname=${name##*=}
|
|
- ln -s /dev/mmcblk0p$id /dev/mmcblk0p_$subname
|
|
- ln -s /dev/mmcblk0p$id /dev/$subname
|
|
+is_sdboot=$(cat /proc/cmdline | grep "sdboot" | wc -l)
|
|
+if [ $is_sdboot -eq 0 ]; then
|
|
+ for folder in $(ls /sys/class/block/ | grep 'mmcblk0p');do
|
|
+ id=${folder#*mmcblk0p}
|
|
+ name=$(cat /sys/class/block/mmcblk0/$folder/uevent)
|
|
+ subname=${name##*=}
|
|
+ ln -s /dev/mmcblk0p$id /dev/mmcblk0p_$subname
|
|
+ ln -s /dev/mmcblk0p$id /dev/$subname
|
|
done
|
|
+else
|
|
+ for folder in $(ls /sys/class/block/ | grep 'mmcblk1p');do
|
|
+ id=${folder#*mmcblk1p}
|
|
+ name=$(cat /sys/class/block/mmcblk1/$folder/uevent)
|
|
+ subname=${name##*=}
|
|
+ ln -s /dev/mmcblk1p$id /dev/mmcblk1p_$subname
|
|
+ ln -s /dev/mmcblk1p$id /dev/$subname
|
|
+ done
|
|
+if
|
|
|
|
#ufs dev name set
|
|
for folder in $(ls /sys/class/block/sda/ | grep 'sda');do
|
|
@@ -16,4 +27,3 @@ for folder in $(ls /sys/class/block/sda/ | grep 'sda');do
|
|
subname=${name##*=}
|
|
ln -s /dev/sda$id /dev/$subname
|
|
done
|
|
-
|