Armbian + KODI (Ubuntu\Debian) for SD & USB & eMMC


Given 3-in1 eMMC file KVIM2-emmc.img.gz, is there a way to extract content of the partitions?
For Armbian and LE images I can do so by inspecting img file with “fdisk -l”, then extracting the (typically 2) partition images with ‘dd’, and then to ‘loop’ mount those partition images.
But if I gunzip to KVIM2-emmc.img I get an img file fdisk (or parted) can not look into.
Have a nice day.


MultiOS_3_in_1 uses Android partitions. You will not be able to get them through Linux tools.


yeah, same android story always :slight_smile:


New images 5.60 (20180922).

Update kernel to 4.18.7.


Hello! I downloaded this Armbian 5.60, by running it through the SD in my khadas VIM 2 MAX it showed the 4.9.40 kernel, the same one that is in my EMMC. Do you know if it has any relation to the need to update Uboot for 2018, how to do this? What about the installation in the EMMC, you are sure to do, how is the procedure?


I was trying to update the EMMC u-boot of my khadas by information of topics above and caused brick in khadas. After much searching I was able to recover through m-register, but it was very difficult. Khadas could have a button there, to make it simpler.
Now I actually gave up updating the emmc u-boot, but wanted to run the newer system with u-boot in SD, but I could not find instructions for that. How to prepare Armbian SD 5.60 with U-boot 2018?


What firmware is installed in eMMC ?

All versions of Armbian with kernel 4.18 can be run from external media on any u-boot.

The option to install to eMMC, for ordinary users, is designed for what in eMMC (Armbian before installing to eMMC) must be full-time IOS and Android for Khadas. Only in this case I can guarantee the correct operation of the installation scripts. Experienced users (if they have the appropriate knowledge) can perform any installation options of the system (with different u-boot, with different firmware in eMMC, etc.).

Write in detail what steps you did to update u-boot. Only then will it be possible to establish where you make mistakes.


I added a USB patch in u-boot-2018. Tested on VIM, and it works. Now you can use any media (SD card and USB flash drive) to write images (Armbian Libreelec etc) and run from external media when a new u-boot 2018 is written to eMMC. New versions of files “u-boot.bin” are on the previous links on the site. Please note, to start the system with USB (using u-boot-2018) you need appropriate support with startup scripts “boot.scr” or external media must have the correct file " /extlinux/extlinux.conf".

In the near future I plan to update the Armbian images with the kernel (4.18) with the addition of support for starting from USB media.


Good news. I tried installing the latest version of Armbian on VIM with the new u-boot-2018 in eMMC. Everything works. If write a last option Armbian (20180925) to the USB drive, the system starts from USB stick. That is, now you can have a new u-boot-2018 in eMMC and run any test system from USB media (Armbian Libreelec OpenSYSE etc ). Pay attention. The steps to configure the system to run from external media using u-boot-2018 have changed. Now you do NOT NEED to manually copy the dtb. You need to make changes to the text file “/extlinux/extlinux.conf” . You must change the string with the name of the dtb you are using. The list of available files (name) can be seen in the “/dtb” directory. By default, the settings specify dtb for VIM1 (S905X). To use the new images with VIM2 (S912), you must correct the file name dtb for VIM2.

To install in the eMMC the latest version Armbian changed steps. Now you need to run only one installation script. To install with the old version of u-boot-2015, you need to run the script “/root/”. To install in the eMMC with uboot-2018, you need to first rename one of the existing files on the media " Sxxx-uboot.img" to “uboot.img” (select the option for your model). After renaming the file “uboot.img”, to install Armbian in eMMC, you need to run the script “/root/”.


The new version 20180928 .

Major change. A new algorithm for the use of the dtb. Starting with this version, you no longer need to copy the dtb files and rename it to “dtb.img.” In order to specify which dtb file to use, you need to edit the file 'uEnv.ini " (specify the desired file name for use dtb ). This is a plain text file and can be easily edited. This change will make it easy to update the kernel from the “deb” file in the future. The new algorithm is now used in the eMMC system installation script.

Pay attention. To use the system with

u-boot-2015 (regular firmware Android), you need to edit the file “uEnv.ini

When using

u-boot-2018 , you need to edit the file “/extlinux/extlinux.conf

For those who doubt or do not know what u-boot is used, you can specify the desired name in both files at the same time.


Hello! I made the steps for creating the SD of Armbian 5.60 (20180925) by editing the file “/extlinux/extlinux.conf” with the DTB of Khadas VIM2, but the system booted through SD, but continued to recognize the 4.9.40 kernel, from the system present in the EMMC, the VIM2_Ubuntu-xenial_Linux-3.14_mate_arm64_EMMC_2018-05-31.

Is Android required in EMMC to use the system with Kernel 4.18? What is the simplest way to boot from SD and use Kernel 4.18?

Until version 5.59 the mainline kernels were properly recognized with the SD boot on the same system with the same EMMC image.


See carefully the instructions. Use the version 20180928, You need to make a change to the “uEnv.ini”. File “extlinux.conf” is used when a new uboot-2018 is installed in the eMMC.


Ver Armbian 5.62 (20181008). kernel 4.18.


I read through the thread a few times and it is not clear which update supports h/w acceleration for video on VIM1 GLX. I have only tried 5.62 so far and mpv does not run smoothly at all.

My goal is to compile c2play and use aml codec directly so I would be interested in knowing if either fb or x11 libMal’s work without libhybris.



The s905x does not need libhybris. There are all libMali libraries for Linux. amcodec only works on kernels 3.14 and 4.9. Image versions >=5.55 4.18 using the engine and another mode HW (v4l2-m2m).


Thanks. I will go back in time a bit, I hope it works as easily as your current build. Is there a basic video player for v4l2-m2m in the current release to demonstrate this?

Your work is much appreciated.



At the current time most V4L2 players will need some level of source patching to use the V4L2 vdec because the V4L2 universe is in a fluid state. If FFmpeg in this image has the patch-set we created for Kodi (which wraps FFmpeg) applied it should be usable. Other players might work if used on bleeding edge versions; older ‘stable’ releases almost certainly won’t work. The global state of V4L2 players should stabilise after requests-API changes land in the ~4.20 kernel. Then everyone has a static API target to revise their codebase around.


In Armbian with kernel 4.18 (5.62) there are some necessary elements for v4l1-m2m. I have not yet managed to assemble the rest of the components to work in HW mode.


Armbian 5.62 (20181012) and NEXT image update.
Fixed a power-down issue on VIM2 (thanks to the Libreelec developer community for finding and fixing the bug).


Thanks @balbes150 and @chewitt I understand the current state much better right now. I was hoping that c2play would be an option for simple playback like omxplayer for the RPi for a project I am working on. I am looking forward to the future developments with a lot of interest, I have been following amlogic changes since my old Pivos players and things do look very promising. Thanks also for your hard work.