diff --git a/config/sources/mt7623.conf b/config/sources/mt7623.conf index 820dc334d..ab32fdaa8 100644 --- a/config/sources/mt7623.conf +++ b/config/sources/mt7623.conf @@ -1,7 +1,7 @@ BOOTSCRIPT='boot-mt7623.cmd:boot.cmd' BOOTENV_FILE='mt7623-default.txt' -UBOOT_TARGET_MAP=";;$SRC/packages/blobs/mt7623n/BPI-R2-HEAD440-0k.img $SRC/packages/blobs/mt7623n/BPI-R2-HEAD1-512b.img $SRC/packages/blobs/mt7623n/BPI-R2-preloader-2k.img u-boot.bin" +UBOOT_TARGET_MAP=";;$SRC/packages/blobs/mt7623n/BPI-R2-HEAD440-0k.img $SRC/packages/blobs/mt7623n/BPI-R2-HEAD1-512b.img $SRC/packages/blobs/mt7623n/BPI-R2-preloader-2k.img $SRC/packages/blobs/mt7623n/BPI-R2-EMMC-boot0-0K-0905.img u-boot.bin" UBOOT_USE_GCC='> 7.0' BOOTSOURCE=$MAINLINE_UBOOT_SOURCE BOOTDIR=$MAINLINE_UBOOT_DIR @@ -27,10 +27,25 @@ NM_IGNORE_DEVICES="interface-name:eth*,interface-name:wan*,interface-name:lan*,i write_uboot_platform() { - dd if=$SRC/packages/blobs/mt7623n/BPI-R2-HEAD440-0k.img of=$2 bs=440 seek=0 count=1 status=noxfer > /dev/null 2>&1 - dd if=$SRC/packages/blobs/mt7623n/BPI-R2-HEAD1-512b.img of=$2 bs=512 seek=1 status=noxfer > /dev/null 2>&1 - dd if=$SRC/packages/blobs/mt7623n/BPI-R2-preloader-2k.img of=$2 bs=1k seek=2 status=noxfer > /dev/null 2>&1 - dd if=$1/u-boot.bin of=$2 bs=1k seek=320 status=noxfer > /dev/null 2>&1 + if [[ $2 == /dev/mmcblk* && -b ${2}boot0 ]]; then + local device=${2}boot0 + echo 0 > /sys/block/$(basename $device)/force_ro + local is_emmc=1 + else + local device=${2} + fi + + if [[ $is_emmc == 1 ]]; then + dd if=$1/BPI-R2-EMMC-boot0-0K-0905.img of=$2boot0 bs=1024 seek=0 status=noxfer > /dev/null 2>&1 + dd if=$1/u-boot.bin of=$2 bs=1k seek=320 status=noxfer > /dev/null 2>&1 + mmc bootpart enable 1 1 $2 + + else + dd if=$SRC/packages/blobs/mt7623n/BPI-R2-HEAD440-0k.img of=$2 bs=440 seek=0 count=1 status=noxfer > /dev/null 2>&1 + dd if=$SRC/packages/blobs/mt7623n/BPI-R2-HEAD1-512b.img of=$2 bs=512 seek=1 status=noxfer > /dev/null 2>&1 + dd if=$SRC/packages/blobs/mt7623n/BPI-R2-preloader-2k.img of=$2 bs=1k seek=2 status=noxfer > /dev/null 2>&1 + dd if=$1/u-boot.bin of=$2 bs=1k seek=320 status=noxfer > /dev/null 2>&1 + fi } family_tweaks() @@ -45,3 +60,8 @@ family_tweaks() cp $SRC/packages/blobs/mt7623n/wireless/{stp_uart_launcher,wmt_loader,wmt_loopback} $SDCARD/usr/local/bin } +family_tweaks_bsp() +{ + # mmc-utils is needed for nand-sata-install + install -m 755 $SRC/packages/extras-buildpkgs/mmc-utils/debian/rules $destination/usr/bin/ +} diff --git a/packages/blobs/mt7623n/BPI-R2-2k-SD-20180320.img b/packages/blobs/mt7623n/BPI-R2-2k-SD-20180320.img deleted file mode 100644 index f82129b39..000000000 Binary files a/packages/blobs/mt7623n/BPI-R2-2k-SD-20180320.img and /dev/null differ diff --git a/packages/blobs/mt7623n/BPI-R2-EMMC-boot0-0K-0905.img b/packages/blobs/mt7623n/BPI-R2-EMMC-boot0-0K-0905.img new file mode 100644 index 000000000..117303633 Binary files /dev/null and b/packages/blobs/mt7623n/BPI-R2-EMMC-boot0-0K-0905.img differ diff --git a/packages/bsp/common/usr/sbin/nand-sata-install b/packages/bsp/common/usr/sbin/nand-sata-install index d9b8914fb..05a125105 100755 --- a/packages/bsp/common/usr/sbin/nand-sata-install +++ b/packages/bsp/common/usr/sbin/nand-sata-install @@ -580,7 +580,7 @@ main() [[ -n $nandcheck || -n $emmccheck ]] && options+=(1 "Boot from $ichip - system on $ichip") [[ ( -n $nandcheck || -n $emmccheck ) && -n $diskcheck ]] && options+=(2 "Boot from $ichip - system on SATA, USB or NVMe") [[ -n $diskcheck ]] && options+=(3 "Boot from SD - system on SATA, USB or NVMe") - [[ ( $LINUXFAMILY == odroidxu4 || $LINUXFAMILY == mvebu* ) && ( -b /dev/mmcblk0boot0 || -b /dev/mmcblk1boot0 ) ]] && options+=(4 "Update the bootloader on a special eMMC partition") + [[ ( $LINUXFAMILY == odroidxu4 || $LINUXFAMILY == mvebu* || $LINUXFAMILY == mt7623 ) && ( -b /dev/mmcblk0boot0 || -b /dev/mmcblk1boot0 ) ]] && options+=(4 "Update the bootloader on a special eMMC partition") [[ -n $spicheck && $(type -t write_uboot_platform_mtd) == function ]] && options+=(5 "Install the bootloader to SPI Flash") [[ -n $spicheck ]] && options+=(6 "Boot from SPI - system on SATA, USB or NVMe") [[ ${#options[@]} -eq 0 || "$root_uuid" == "$emmcuuid" || "$root_uuid" == "/dev/nand2" ]] && \ diff --git a/packages/extras-buildpkgs/90-mmc-utils.conf b/packages/extras-buildpkgs/90-mmc-utils.conf index cc9fcae22..08e346ffe 100644 --- a/packages/extras-buildpkgs/90-mmc-utils.conf +++ b/packages/extras-buildpkgs/90-mmc-utils.conf @@ -12,6 +12,5 @@ package_checkbuild() package_checkinstall() { - # needs to be added to the repository first - false + true }