Dual Boot Endless OS with Ubuntu

Hey, I have an acer laptop that has Endless OS. But I also would like to have Ubuntu because I also need Applications that the App Center does not currently have, is it possible.? Or would I have to unistall the Endless Os and then install Ubuntu.?

“If you use macOS, Linux or another operating system: we currently do not support dual boot for your operating system. If you install Endless OS, it will replace your existing operating system. We strongly recommend that you try running Endless OS from a USB stick first, or run Endless OS in a virtual machine.”

that answers the opposite question.
The question was: Endless OS is installed, can I install another Linux in parallel?

I was able to boot an usb-stick with a heavily customized Ubuntu 16.04, but this answers yet another question :slightly_smiling_face:

As far as I understand Endless OS, the modified Grub 2 creates its grub.cfg on the fly from available kernels. I don’t know if this still works if another Linux installs its Grub 2 and where the corresponding module(s) could be found.

Actually you can install another Linux in another hard disk, but the problem is you can’t boot into Endless since Endless use their own GRUB. I ever trying this case https://community.endlessos.com/t/how-to-install-endless-to-a-different-partition/748/8?u=cho2

I successfully created a dual boot configuration on an acer travelmate spin B118 with endless OS preinstalled on the internal SSD and siduction (Debian sid) on a 64GB USB 3 stick.

  1. Backup contents of the USB stick if you need the contents, it will be overwritten.
  2. Copy the ISO to the stick either with
    cp <iso-file> <device>
    or
    dd if=<file> of=<device> bs=4M; sync
  3. Boot from the stick (you may have to fiddle a bit in the BIOS) after having added toram in the boot command line parameters of the selection ISO - HD-USB Stick
  4. Use gdisk to create a new GPT (GUID Partition Table) on the stick
  5. start the installer (calamares) and choose the whole stick for siduction. This will create an ESP (EFI System Partition), a root partition and a swap partition on the stick.
  6. In my case the siduction installer was not able to finish the installation (see my post on the siduction forum
  7. Install rEFInd from the repository apt install refind, it will update the ESP (EFI System Partition) on the stick with a correct boot manager and find the siduction.

I guess this should work out very similar with Ubuntu, but I am not really sure that current versions of Ubuntu use also Debian’s isohybrid technology (see: https://www.debian.org/CD/faq/#write-usb), which is a necessary precondition for step 1 above. I could not find similar information for Ubuntu quickly.

Edit: On my Acer notebook, I have to hit F12 when the Acer splash screen appears to be able to boot from the stick. On the following menu I find the internal ssd and the stick. I can choose the stick with siduction and it will present me the rEFInd menu, where I also could boot endless. When I choose siduction, I get Siductions boot menu next.

1 Like

I bought Acer Aspire 3 Model A315-21 which came with pre-installed Endless OS. I could install Ubuntu 18.04 after resizing the Endless OS partition. But the grub of Ubuntu did not pick up the entry of Endless OS. I asked question on Ask Ubuntu and was told to add the following menu entry in /etc/grub.d/40_custom

menuentry "Endless" {    insmod part_gpt    insmod fat    set root='hd0,gpt1'    if [ x$feature_platform_search_hint = xy ]; then        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1234-abcd    else        search --no-floppy --fs-uuid --set=root 1234-abcd    fi    chainloader /EFI/endless/shim.efi}

I was told to replace two instances of “1234-abcd” by UUID of /dev/sda1 which is EFI partition created by Endless OS. The above menu entry chainloads the grub installed by Endless OS.

After booting there was no chance of selecting the above menu entry since the grub menu was hidden.

I opened /etc/default/grub and changed the following lines:

GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0

to:

#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10

I could chainload the grub of Endless OS but it was not booting and I had to disable secure boot.

Interestingly the Endless OS boots with secure boot on if I choose the grub of Endless OS in BIOS

I guess that’s a pretty reasonable approach, thanks for sharing.

Now your boot path for Endless is:

Ubuntu shim -> Ubuntu grub -> Endless shim -> Endless grub -> Endless Linux kernel

When Secure Boot is on, Endless’s grub will call into shim to verify that the Endless Linux kernel was signed and distributed by Endless. Otherwise it will not boot further.

The question is in this case, which shim receives that request? Since while Endless’s shim would be happy to verify the signature on the Endless kernel, the Ubuntu shim naturally would see it as untrusted.

If it’s not booting in that config then it seems likely that Ubuntu’s shim is the one that is “in effect” here, which would not be too surprising, seems reasonable that the first shim wouldn’t have any provisions to allow it to be replaced by another chainloaded instance. So turning off secure boot is a quick way to avoid this issue.

You may have another option that lets you leave secure boot enabled though. Search around for how to access MOK/MokManager/mokutil within Ubuntu. This tool will let you enroll further certificates or keys within the boot process. If you can find a way to enroll the Endless certificate, then hopefully Endless-signed kernels would become trusted by this boot process.

You can download the Endess certificate from https://github.com/endlessm/shim/raw/debian-master/debian/endless-ca.cer

2 Likes

Thank you very much for appreciating my effort. I am falling in love with Endless OS but I am already in love with Ubuntu being a user for last 13 years and would like to have both the systems and there must be many others like me. I did not like the idea of replacing the Endless OS. I have made Endless OS as default in Ubuntu Grub.
So far as your suggestion to enroll Endless certificate I find that it is a tough task but if I find any step by step guide I will certainly do it.