Boot Into Upgrade Mode impossible


Is it normal that on my VIM2 I do not have access to Boot Into Upgrade Mode by doing the following manipulations
Power on Vim.
Long press Power free
Short press ‘Reset’ key and release
Count 2-3 seconds and release the ‘Power’ key to enter into upgrade mode

Because I would like to install the dual boot

Thank you


Hello, Using the supplied USB-C to USB cable…

Press and hold the power button, while holding the power button, Connect USB cable to PC, quick press the reset button, hold the power button for at least 3 counted seconds.

Note: After pressing the reset, it is easy to count to 3 seconds too fast, count out loud to 3 like, 1001, 1002, 1003. You can’t hold it too long, VIMs will enter upgrade mode even if you keep holding the power button. I find whenever I do a deliberate count, VIMs enter upgrade mode reliably.
Hope it helps.



Upgrade using the buttons appears to be broken on the VIM2 firmwares.

I have the same problem, (at least with the supplied firmwares). It does not work in VIM2.

I have had to use my USB serial to get into it.
(Made a comment here) Compiling the new firmware

So it might be something in the u-boot or image making package that is configured wrong (since I made my kernel based on Khadas github)


Hello, I have used the above to flash both Khadas VIM2 Android firmwares. Khadas Dual-Boot Android/Linux and two versions of @superceleron ROMs, I have not experienced any flashing issues, all 100% here.

So I don’t know what is happening, but for all VIM2 firmwares I have tried, buttons work as expected.
If you follow exactly the steps I posted above, VIM(2) should enter upgrade mode. If not, and using a Windows PC, I would reinstall the AMLogic World Cup USB Driver on your PCs. Its setup routine can be found in the USB Burning Tool’s Program folder on a Windows PC.
Hope you both find a solution.:slight_smile:


Hi, tyty30:
Any update?

May be you can just try again with longer time than 3 seconds :wink:

Good luck!


Gouwa , maybe to start the upgrade procedure (installing the new firmware from the SD card) use a simple script “boot.ini” ? There need only a few lines that will check for script updates on the media, upload the upgrade script from the media and give him control. Something like that.

mmc info
if fatload mmc 0 1020000 name_script_update; then autoscr 1020000; fi


Yep, especially VIM2 spec with a 2MB SPI Flash which can install the bootloader on it.

A boot.ini used on RPi or boot.scr of standard U-Boot will be a better solution for VIM2.


I withdraw my statement. I got some of the prebuilt ones to work.

Havent had any luck using the buttons on VIM2 to switch to Ubuntu in the dualOS though. That does not work at all. I have to do it by entering Android.

But while I am messing with my own builds, I suspect the problems I have noticed are of my own doing.

@Khadas @Gouwa @numbqq @terry

Are you not tired of hearing the same things over and over. I have read them all in this forum already. Answers like ‘can you try with longer than 3 seconds’ are bull$hit responses. WE know how to count. We are smart enough to know that your “3 seconds” is actually closer to 6 seconds, because we are probably doing it more often than you are Gouwa!

BETTER documentation from Khadas would eliminate this type of nonsense, I can only assume that the problems I am having are related to poor management of code; the fact that I cannot find any of this code mainly!

And the fact that it is being fed to us using a drip feeder - the Fenix repo is still not updated, and it is INCOMPLETE. Still waiting to see answers posted to other topics that other people have asked - and topics that WE ALL want answers to. Just because one person asks, probably means 500 people are looking for the same answer.

There is no docs on what is changed in u-boot nor are there docs/patches for us to know what changes are being made to a kernel (or uboot).

It is like Khadas does not want us to know how to do it for ourselves OR , they dont want us to see their mistakes and incompetence.


I agree, the press and hold, then also do this and that BS is not working for me either.

I vote for a recall and refund.


Hi freeasinbeer,

If you use current u-boot from Khadas GitHub, you can’t enter upgrade mode via buttons, becase the environment variable upgrade_key is wrong, and I’ve fixed it.

--- a/board/khadas/configs/kvim2.h
+++ b/board/khadas/configs/kvim2.h
@@ -128,8 +128,8 @@
             "if gpio input GPIOAO_2; then "\
-                "echo detect upgrade key; sleep 3;"\
-                "if gpio input GPIOAO_2; then run update; fi;"\
+                "echo detect upgrade key; sleep 1;"\
+                "if gpio input GPIOAO_2; then update; fi;"\

But for firmware VIM2_Ubuntu-mate-16.04_Linux-4.9_V170818 , upgrade_key environment variable is right.

upgrade_key=if gpio input GPIOAO_2; then echo Found upgrade button pressed; sleep 1;if gpio input GPIOAO_2; then update; fi;fi;


I have found on the VIM2 that upgrade mode can be entered by…
1.) Start USB Burning Tool and load image.
2.) Press and hold power button.
3.) Connect USB-C to USB cable to PC.
4.) Keep holding power button until it connects.

Primary difference here is reset button not required.

I will be interested to see if others also observe this behavior.

Green Screen is this the same as BSOD?


Yes, you are right. In this way power on instead of press reset button.


Yes, I have the same.

p/s/ I wanted to write about this yesterday, you beat me to it. :slight_smile:


You are busy with many things, it was the least I could do.:smile:


Thanks for your help I finally managed to install the dual boot from the pc


Hi Numbqq.
Can you provide me the file of the new bootloader ? I want to try to build a version of the image to automatically update the existing system so that users can easily upgrade an existing system with a few simple steps.



that is the exactly way I did it after I accidentally let supersu upgrade on stock VIM2.
So ended in bootloop and install from sdcard did not work for me.

The only way I could flash latest Vim2 was trough USB Burning Tool but of course after unnumbered try and error attempts :slight_smile: finally I managed the way you did it (accidentally) lol

Anyway Khadas guys you should spend more time on proper documentation and I fully agree with @freeasinbeer comment above.



Hi all,

I have managed to make new ota zip for Vim2 but I am not sure how to flash it? I usually do that over recovery (TWRP) but don’t know how to do it on Vim2.

My ota zip is smaller than Vim2 original upgrade?



Hi Balbes150,

I’m not in office today, and I’ll do this tomorrow.
And you can refer to u-boot for source code.:grinning:



Hello, Did you try the Update and Backup app at Settings/More Settings/About/System update? There you can use the Local Update section to flash zip.

May also find Update and Backup at Settings/About/System update.

You may have luck with this method…
Install a terminal emulator like this

Open emulator and enter reboot recovery
Should reboot to recovery where you can navigate to the zip