Introduction: Dual Boot Libre ELEC and Ubuntu 16.1

My initial setup was a Zotac barebone that runs Ubuntu, connected to a monitor by HDMI and the sound through the analogue plug. By a long HDMI cable, a connection to the TV can be established for the use of full screen Kodi as a media centre. A wireless keyboard with mousepad ensures remote control while hanging on the couch.

The idea was simply switching the HDMI cable and go... but:

  • The TV showed 'no input' on the appropriate HDMI channel.De- and reconnecting the HDMI cable several times resulted eventually to display the video on the TV.
  • The sound has to be switched manually in Ubuntu from analogue to HDMI (and back after Kodi use).

This wasn't a plug-and-play solution for the family members, so I decided to install a dual boot environment with Libre ELEC and Ubuntu.

The web search for a clear step-by-step plan for this idea was disappointing. Dual boot instructables are very easy to be found for Windows as the main operating system, but unfortunately not for Linux.

So, it took several hours of web searching and quite some trial-and-error. I've listed the steps and decided eventually to share these. I presume a beginners Linux knowledge in this matter. Pictures are not taken during my installation, they ar just a reference and contains no real data.

Step 1: Install Libre ELEC

This is the easy part, download the app from Libre ELEC that alows you to create a bootable USB stick:

LibreELEC USB-SD Creator

Follow the instructions.

Start the device and enter the BIOS (esc / F2 / ... depends on the system). Change the boot device to the USB drive.

Installing is straightforward, just accept the defaults.

Reboot and admire the Libre ELEC environment.

Step 2: Repartitioning

The default Libre ELEC installation created 2 partitions: System and Storage. System is fixed size, Storage takes the rest of the SSD (or hard drive). So, the Storage partition needs to be resized to create space for the Ubuntu installation.

Now download the Ubuntu installer. I've chosen the 16.1 version but the 16.04.1 LST is also directly availabe: https://www.ubuntu.com/download/desktop.

Create a bootable USB by using Startup Disk Creator (Ubuntu) or the Rufus USB installer (Windows).

Reboot the device (in BIOS choose the USB device) and click "Try Ubuntu". The live Ubuntu environment starts up.

Start GParted from the dash.

Choose the right disk, in my case this was "sdb". Check if the 2 Libre ELEC partitions within are shown.

Select the storage partition and change it to an appropriate size. Since all my video and audio files are stored in a central place, 50GiB will be far enough. GParted is using MiB as unit, convert it by: http://www.convertunits.com/from/MiB/to/GiB.

Apply the operations in Gparted and shut down the device.

Step 3: Installing Ubuntu

Boot the device again from the USB stick with Ubuntu on it. This time, choose "Instal Ubuntu".

The installation type screen is crucial to preserve the former Libre ELEC installation! By default, the option to instal Ubuntu as the only system on the disk is highlighted. Select the lower radio button: "Something Else".

The next screen gives the oportunity to create the needed partitions for Ubuntu:

  • Root:
    • Select the "free space" and click the "+" button
    • 20000 MB should be more than sufficient for the root partition
    • Accept the other defaults
    • Default mount point: "/"
  • Home:
    • Select the "free space" and click the "+" button
    • Use the rest of the disk (or decide something else that meets your requirements)
    • Accept the other defaults
    • Default mount point: "/home"
  • Swap:
    • Since the system has 8GB RAM, a swap partition is (in my case) unnecessary

Continue the Ubuntu installation with your preferences.

Step 4: Add Libre ELEC Tot the Boot Loader

After installing Ubuntu, the boot loader isn't yet aware of the presence of Libre ELEC.

So, open the terminal and type sudo gedit /etc/grub.d/40_custom

Add these lines at the bottom of the file:

menuentry "LibreELEC" {

search --set=root --label System --hint hd0,msdos3

linux /KERNEL boot=LABEL=System disk=LABEL=Storage quiet

}

menuentry "LibreELEC debugging" {

search --set=root --label System --hint hd0,msdos3

linux /KERNEL boot=LABEL=System disk=LABEL=Storage debugging

}

Save the file.

Type in terminal: sudo update-grub

By default, the boot loader is hidden while starting up the system. Holding "Shift" while the system starts up can solve this but isn't that user friendly. So, take the next, final step!

Step 5: Tweak the Bootloader

With the terminal still open, type sudo apt install gksu to instal the gksu text editor.

Then, type gksu gedit /ect/default/grub &

In the text file, adapt values:

GRUB_HIDDEN_TIMEOUT= (no value!)

GRUB_HIDDEN_TIMEOUT_QUIET=false

GRUB_TIMEOUT=5 (in seconds)

Save the file and type sudo update-grub

Finished. Reboot and enjoy!