[Request] U-Boot with ext4 capabilities

Oh!!! No problem with NAME!!! Please sign this commit with your name.

- Нет, ребята, я не гордый.
Не заглядывая вдаль,
Так скажу: зачем мне орден?
Я согласен на медаль.
                (А.Т.Твардовский)

I tried to compile your own version of u-boot. All set, works properly. But I don’t see response to changes the variable CONFIG_EXTRA_ENV_SETTINGS. In the body of the file u-boot I do not see the presence of env variables. Perhaps this when you run the command reset variables to default value (env default -a) I don’t get the desired result. You have made special changes to the source code, what would be the variables not included in the composition or is the result of my not build correctly (configuration) ?

Hi Balbes150,

After partitioning of the eMMC and flashing eMMC u-boot you have to do following command

kvim# defenv
## defenv_reserve

kvim# saveenv
Saving Environment to aml-storage...
mmc env offset: 0x4400000
Writing to MMC(1)... done

kvim#

It is needed to store ENV to the partition on the eMMC. Then all functions defined in the kvim.h by CONFIG_EXTRA_ENV_SETTINGS will works.

1 Like

As Andrey comment above, you might need to:

  • upgrade new u-boot binary
  • run defenv to restore the new ENV of new u-boot
  • run saveenv to save the new ENV

I follow the patch Andrey provided, works fine here:

U-Boot 2015.01-g475417e (Mar 10 2017 - 17:29:34)

...

Partition table get from SPL is : 
        name                        offset              size              flag
===================================================================================
   0: bootloader                         0            400000                  0
   1: reserved                     2400000           4000000                  0
   2: env                          6c00000            800000                  0
   3: logo                         7c00000           2000000                  1
   4: ramdisk                      a400000           2000000                  1
   5: rootfs                       cc00000         1c5400000                  4
mmc read lba=0x12000, blocks=0x2
mmc read lba=0x12002, blocks=0x2

...

## Booting Android Image at 0x01080000 ...
load dtb from 0x1000000 ......
   Loading Kernel Image(COMP_NONE) ... OK
   kernel loaded at 0x01080000, end = 0x01f83900
   Loading Ramdisk to 73a9f000, end 73ebd530 ... OK
   Loading Device Tree to 000000001fff3000, end 000000001ffff0c4 ... OK

Starting kernel ...

uboot time: 1580098 us
domain-0 init dvfs: 4
[    0.000000@0] Initializing cgroup subsys cpuset
[    0.000000@0] Initializing cgroup subsys cpu
[    0.000000@0] Initializing cgroup subsys cpuacct
[    0.000000@0] Linux version 3.14.29-kvim-g809f69d (gouwa@Wesion) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) ) #4 SMP PREEMPT Fri Mar 10 16:19:20 CST 2017

It is advisable to add description of reset commands ENV in the default state to the page with the description of the update for the boot loader.

http://docs.khadas.com/develop/UBootUsage/

These commands are different from the previous cases that are used in the documentation for the official Amlogic buildroot. By the way, I checked the updated boot loader (built-in function multi-boot) on the branches of Vim and ubuntu. Everything works. If these changes to include in the regular version of u-boot images, users do not have to activate, it will work immediately after turning on VIM. It’s up to you, if you want, I can put a request for inclusion in main branch.

Test options ready binary files, you can get here.
https://yadi.sk/d/gRJa9jXd3FgUBi

Yes, I think it’s a good thought to add it, please make the PR. :slight_smile: