VoCore2: Use UBOOT Latest Version

Currently latest version of uboot is working well on VoCore2. But because of the partition is not big enough for all uboot features, we have to do such cut off.

We upload the config to https://github.com/Vonger/vocore2/blob/master/uboot/vocore2_defconfig

Free free to have a try 🙂 https://vonger.cn/misc/vocore2/u-boot-with-spl.bin

1. This is for 192KB partition of uboot, for mainline version you will need to adjust the uboot partition size to 312KB, but that will also need to modify Linux partition DTS file.

This define is in vocore2_defconfig of uboot: CONFIG_MTDPARTS_DEFAULT=”spi0.0:192k(u-boot),64k(env),64k(factory),-(kernel)”

2. uboot will not boot Linux after install, you will need to setup, run the following uboot command.

setenv bootcmd 'sf probe; sf read ${loadaddr} 0x0 0x50000 0x200000; bootm;'
saveenv
reset


mainline uboot support

Now VoCore2 has mainline uboot available, but need more testing to verify that everything is stable.

if you need it, see below:

before replace uboot ,you need read how to fix dead uboot: https://vonger.cn/?p=8054

flash layout difference of mainline uboot and ralink uboot:

mainline uboot:

ubootuboot-envfactoryfirmware
312k4k4k

uboot from mtk:

ubootuboot-envfactoryfirmware
192k64k64k

mainline uboot’s layout can include more code in uboot, but it not compatible with the mtk’s uboot.

if you need 192k mainline uboot, please use uboot/vocore2_defconfig to compile maineline uboot:

cp path/to/thisrepo/uboot/vocore2_defconfig path/to/mainlineubootsrc/.config

note: before replace uboot, you must ensure your ‘u-boot-with-spl.bin’ size is < 192k

To support mainline of the uboot, also need to modify Linux kernel partition DTS. openwrt/target/linux/ramips/dts/mt7628an_vocore_vocore2.dts

                        partition@0 {
                                label = "u-boot";
                                reg = <0x0 0x4e000>;
                                read-only;
                        };

                        partition@30000 {
                                label = "u-boot-env";
                                reg = <0x30000 0x1000>;
                                read-only;
                        };

                        factory: partition@40000 {
                                label = "factory";
                                reg = <0x40000 0x1000>;
                                read-only;
                        };

PS: before do anything change to your VoCore, better to backup the hole flash to avoid any calibrate data lost.