Cannot boot X96Max+ TV box using new extlinux.conf method

I am currently running Manjaro Arm XFCE with kernel 5.9.1-3 (stable) or 5.9.7-1 (unstable) on my X96Max+ TV box. I originally used the vim3 image as a starting point, changed the .dtb in uEnv.ini to ‘meson-sm1-sei610.dtb’ and installed the linux package to have a newer kernel than the one in the linux-vim package (I had to change to ‘meson-g12a-sei510.dtb’ to boot the box with the newer kernels).

Since I read in the thread about the new Manjaro 20.10 image that it now uses extlinux.conf for booting I became curious and wanted to try it out. At the same time I wanted to see if I can go a more direct way to have a working image for my box.

Since the Odroid C4 has the same processor as my box (S905X3) I installed the respective image to an sd card using manjaro-arm-flasher. I changed the .dtb in extlinux.conf to my working .dtb file.

But after inserting the sd card into my box and powering it up it directly boots to Android which is installed on the emmc. I also tried the ‘toothpick method’ but this only brings me to the Android recovery console.

I also copied ‘u-boot.bin’ two times and renamed the copies to ‘uboot.sd’ and ‘uboot.ext’. But it still does not boot.

You see, I really do not understand how the boot process is working. I guess that after powerup the u-boot of the first partition of the emmc is loaded which then looks if there is a boot file on sd or usb. If so it will try to load it, if not it will load the image from one of the other partitions on the emmc (in my case the Android image).

Strit / spikerguy I would be glad if you can help me:

  • Is/will there be a way to boot my box from sd card with the new extlinux method?
  • Do I have to install a new uboot to the emmc of my box to be able to boot linux using the new extlinux method?
  • Will the new extlinux method - sooner or later - be adapted to all Manjaro Arm images?

Thank you!

Thanks for trying this.

The Odroid C4 does not boot using the extlinux.conf file. I know it’s present, but it’s not used. It’s using the boot.ini file instead.

I think the reason why your board does not boot with extlinux.conf (and why our OC4 image does not) is that the BSP uboot we use, does not look for extlinux.conf as a boot script. It only looks for boot.ini and boot.scr files, where we are using the boot.ini variant.

So, as far as I know, you need a mainline uboot build to be able to use extlinux.conf. Sadly we don’t have access to that.

Yes and no.
Yes only with mainline uboot.
No when you try to boot over Android bsp vendor uboot.

Yes but currently we don’t have a mainline uboot for S905X2 and even if we have it then it will not boot over android bsp vendor uboot, to make use of mainline uboot user have to erase vendor uboot from emmc first.

Not until we have a working mainline uboot.

May I know why you want to use extconfig? As the bootscript are needed to overwrite uboot parameters for linux kernel to load.

Thank you both for your answers!

O.K., I see.

To be honest, I am still puzzled why I can boot Manjaro using the old method and why I cannot boot it using the new method. My box and the loader in the box [balbes150’s Armbian multiboot loader] is still the same, the only thing I change is the SD card. In the first case it does find u-boot.sd/u-boot.ext, starts it and than loads linux, in the second case it seems like reading from the SD card is skipped and therefore Android is loaded. Something must be fundamentally different.

Anyway, I guess first I have to reach a little deeper into the startup process of linux to understand what is going on. I fear, though, that I can find a lot about x86 system while booting an ARM SBC/TV box seems to be quite different in some aspects. Will head over to stackoverflow next and see if I can educate myself a little more before asking you more (stupid noob) questions.

I do not really want to use it. Reading the Manjaro 20.10 thread where it is written that now extlinux.conf is used (with the exception of some SBCs) I had the impression that this gonna be the future. So I just wanted to test if it works with my box.

Thank you again for your time and patience.

What about using uboot. ext from armbian??

No its not the future, It is one of the clean ways to boot but uboot have 3 ways of reading file and u-boot.bin and extconfig are the common methods.
Using either is just fine as it all depends on what uboot for that device can read so far.

We already have it as I follow balbes’s work for amlogic boards.

Good to hear. Thanks for continuing support of balbes’ pioneering work also for Amlogic processors!

Yes but soon we will move to mainline kernel just waiting to find a fix for hdmi audio output for those device which we support.

I think I will continue to maintain balbes kernel for other tv box users.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.