MultiOS_3in1 (Android+Libreelec+Linux) install to eMMC

I compiled a test version of the system firmware update from removable media.

For update does not require a Windows PC.


1. Balbes150_VIM2 MultiOS 3in1 (Android+Libreelec+Linux)

2. Balbes150_VIM2_Ubuntu-server

Pay attention to the install (upgrade) the firmware is possible with any media SD card and USB flash drive (minimum media size of 4 GB).


I’m using another principle of installation and creation of the firmware. It is an exact copy of the content of eMMC. It is not necessary to unpack. To install this firmware to eMMC, you need to run Linux from external media and execute a special script (kvim2-update).
Not use USB Burner Tool !!!

  1. To download the file system image. Console version, work with the system through command-line terminal or MATE\XFCE (full graphic system, with the possibility of performing all actions without a computer).
  2. To unpack the archive.
  3. To record the received image on the medium. You can use any media, SD card or USB flash drive. The minimum media size for the console version - from 4Gb to a full version - from 8Gb. I recommend (if possible) to use a fast SD card of 8 GB for both versions.
  4. If you have not yet activated universal multiboot, you need to activate it. Pay attention, mandatory condition uses system - the presence of a universal multi-boot.
  5. After running the system from external media, wait for an invitation to enter a username and password. The primary login is “root” and password “1234”. To change the password to a new one. Specify a name for the new user. The system then automatically reboot.
  6. After a reboot, depending on the type of used images (console or graphical desktop), will launch its own system.
  7. Log in and test it.

These systems are based on Armbian. For more information on setting up and working in Armbian see the relevant threads on this forum or on the forum Armbian.

You can proceed to the second stage, the creation of the full backup.

Start creating a full backup of the entire contents of eMMC.

For the console version to run the utility “ddbr” and follow the prompts (select mode to create a compressed copy).

For the full (graphical) system, you need to run the terminal to switch to user “root”. For this you need to run the command “su -” (su space minus). And run backup “ddbr”, then follow its tips to create the compressed copy.

Pay attention to the process of creating a full backup, depending on the parameters used media and size of the internal memory eMMC (as it used space), while creating a full backup may be more than 1 hour. I highly recommend spending the time to create such a copy, it will in the future, if any faults do not correct your actions, experiments with different firmwares, to restore your system to the current state.

A backup was created will be in the directory /ddbr. You can additionally save in any safe place (on a PC, on network storage, the Internet, etc.). In full (GUI) version is easy to do using current software (browser, file Manager, etc.).

After creating a full backup, you can start installing different versions of the firmware described in this thread.
For this, you need to download the necessary archive with the firmware (pay attention it is NOT to decompress). Put it archive in the directory /ddbr media system (the full backup file can be left on the media, they have different names with the archives of the firmware). To start the utility installation of the firmware in the eMMC. To do this, run in terminal as user “root” command “kvim2-update” and follow the prompts. The process of installing new firmware usually takes about 15-25 minutes. After installing the firmware, you need to shut down the system, to disable a carrier with a system kvim2-update and run VIM2 without a carrier.

краткое описание на русском


Test version of the firmware multiOS 3in1 Android+Libreelec+Ubuntu to install to eMMC. Installing to the eMMC can only be performed using external media (SD card or USB flash drive).

You can specify which system to start by default. The chosen system will run always until the choice of another system to run. All three systems put their data on a single partition (/dev/data) and is available in all three systems. The system is supplemented by a Ubuntu Synaptic package and the MC. Added a script to control the fan.

At the moment the system is tested on the VIM2 Max and Basic.

When you first start you will get in Android. To run other systems need to select off the menu “Reboot to Ubuntu” or “Reboot to Libreelec”. The system to reboot in Ubuntu or Libreelec. Pay attention when running Ubuntu might stop the run (because of the peculiarities of test drives in Linux). If within 5 minutes, the system does not start, restart the VIM2 is the “Reset” button or turning off power supply from the network. After a successful start you will be taken to the standard login screen. Login normal user “khadas” and the password “khadas”. The password for the user “root” similar “khadas”. All the settings and features of this version of Ubuntu, see the appropriate topics of this forum. To start Libreelec or Android need in Ubuntu open system Menu to run “Rebot Libreelec” or “Rebot to Android”. To switch from Libreelec in Android or Ubuntu you need to select the menu item “Reboot from Android” or “Reboot from Linux” . Pay attention. Until then, until the user choose a new option which system to run, will run the last selected system.

All system images and archives with firmware can find the link in the first message.


Good job. Pls downloading link and steps. Thanks

Added to the website images with MATE

Added new firmware Balbes150_VIM2_Ubuntu-server-16.04_Linux-4.9_V171008.
Are modifications to the official firmware VIM2_Ubuntu-server-16.04_Linux-4.9_V170922.

Changes from the official version.

  1. By default, a wired network receives the address by DHCP.
  2. Extended the list of online repositories to install packages.
1 Like

Version update MultiOS_3in1 20171009.


  1. Updated version Libreelec.
  2. Ubuntu added a script to control the fan. By default the script is configured to automatically work temperature. If you want you can use manual fan control.

For those who have already installed a previous version 20171007, there is the option of local upgrade to the new version (download new version not required). If there are such users, I will write the instruction.


Please am baby when it comes to linux…can i flash multiOS like the normal way of flashing…that is via PC…thanks.

Installation MultiOS 3in1 is only possible through external media.

Once create media (SD card or USB flash drive) with graphics (MATE or XFCE, all the images are on the site) and in the future you will be able to quickly install all versions. Launched the system from external media. Opened the browser (you can add to favorites, a link to a site with firmware). Chose the right firmware. Downloaded it immediately to the directory /ddbr on the media from which you are running the system. Opened a terminal and executed the command update. You can perform all actions directly on the VIM2 without using a PC. Save the created SD card or USB flash drive with and you can immediately use to install new firmware or restore the system. Pay attention to all console and GUI images contain built-in bootloader u-boot. This will allow to start the system from the SD card and to restore the destruction \ damage the u-boot bootloader in eMMC. Lock the M register when enabled and the system will automatically boot from SD card.

Thank you… @balbes150

The new version MultiOS_3in1 20171013

The principal changes.

  1. Replaced the bootloader u-boot on new version that supports kernel 4.9.40.
  2. LibreELEC updated to the latest version.
  3. Fixed in LibreELEC menu items “Reboot into Android” and “Reboot Linux”.
  4. In Ubuntu, replace the kernel with the “4.9.26” with “4.9.40”.
  5. Fixed a script the primary settings of Ubuntu.
  6. Updated the script fan control.

Hi Balbes150,

I download Balbes150_VIM2_Ubuntu-server-16.04_Linux-4.9_V171008, and unpack the archive, found that the size of image is about 15GB, does it right?

nick@Server:~$ ls -alh KVIM2-emmc.img 
-rw-rw-r-- 1 nick nick 15G Oct 14 12:16 KVIM2-emmc.img

I’m not sure whether I did something wrong.


Hi Numbqq

I’m using another principle of installation and creation of the firmware. It is an exact copy of the content of eMMC. It is not necessary to unpack. To install this firmware to eMMC, you need to run Linux from external media and execute a special script (kvim2-update). Script “kvim2-update”

itself writes the firmware to the eMMC. To run Linux from external media, you can use one of these ready-made images


or you can use existing images Armbian, ArchLinux, OpenSUSE, which are designed to run from SD card or from USB. The General steps for installing the firmware in the eMMC I described in the beginning of the topic. If something is not clear, write, I will try to write more. Maybe those who already tried the system install the firmware, I’ll write my step-by-step.

1 Like

Hi Balbes150,

Thanks for your kindly explanation.I will try again.:grinning:

Hi Balbes150,

I’ve installed Balbes150_VIM2_Ubuntu-server-16.04_Linux-4.9_V171008 on eMMC, so where can I find the modifications?


I found this in /etc/apt/sources.list

#add 20171008
deb xenial main restricted universe multiverse
#deb-src xenial main restricted universe multiverse

deb xenial-security main restricted universe multiverse
#deb-src xenial-security main restricted universe multiverse

deb xenial-updates main restricted universe multiverse
#deb-src xenial-updates main restricted universe multiverse

deb xenial-backports main restricted universe multiverse
#deb-src xenial-backports main restricted universe multiverse

Yes, in this and in the settings of the network card.

While I was writing the answer, you already found them yourself. :slight_smile:

I suggest to change the name of the partition on the eMMC with the “rootfs” to “linux” . It is more versatile and does not interfere with the launch system with SD and USB media.

So try to use root=/dev/linux for booting from eMMC?

To change the name of partition “rootfs” in dtb file.


Version update MultiOS_3in1 20171017.

Fixed the dtb file and the startup script in Libreelec to work on all boards VIM2 (2GB\3Gb RAM). Tested on models VIM2 MAX and Basic.

Pay attention. When you first start you may receive a warning from the Android, select “Erase”.

Please how do i solve overscanning