Trying to install Lakka alongside with my other OSes

Hello! I am planning to install Lakka onto my laptop which also contains other OSes (Windows 8.1 and Fedora 24). I know that Lakka does not support multi-booting but I am not using the lakka installer this time :wink:

Here is what I did: Create 2 new partitions (both ext4) on my HDD (Idea was to create identical partitions similar to those present on the USB Image). I synced the new partition with the files in Lakka’s image, so now I have the partitions inside the image on my hard drive :slight_smile:

I wanted to boot the 512 MB partition (boot partition of lakka) but now I am having second thoughts… Here is my question:

  1. How will Lakka find the data partition when there are more than 2 partitions available? Note that the UUID would have been changed since I created those partitions on my hard-drive
  2. Will it mistake any of my other partitions on the hard disk as its own? probably it will mistake sda2 for the data partition because sda2 is the second partition on my hard-drive and in normal installations of lakka the 2nd partition is the data partition

Thanks in Advance!

I found out that it indeed uses UUID to detect partitions, so I edited syslinux.cfg with the new UUIDs and it worked BOOM!

A thing to note here, since I don’t want to destroy my hard disk, I used my pendrive for testing so the partitions inside my hard disk are still untouched…

Now my only concern is about upgrading… will I be able to upgrade normally? with this kind of setup?

I just realized that I have another problem… how do I boot lakka? Any help would be greatly appreciated!

Usually, when an OS is designed to turn a machine into a dedicated system, it has its own bootloader. So booting it from its partition in your HDD shouldn’t be a problem. Access your PC’s BIOS menu and check to see if it’s there in the partition menu.

I have already did that Shockware… no cigar for me :frowning:

I also tried to chainload syslinux on the boot partition but grub complains about missing efi file :frowning:

Did you try with label ? You are using UEFI boot ?

I did try that several times gouchi, I also tried extract-syslinux-entries-config which loaded the entries from syslinux.cfg, when I selected the “Run Live” entry it told me that linux is not a command… strange huh? :-/

I even tried to chainload syslinux on boot partition but it did not work :(. I am currently using my Fedora’s GRUB2 bootloader, will try with another bootloader today.

And yes, I am using UEFI.

After researching hard, I think I have reached the “final step”!

Some facts that I have uncovered:

  1. It is hard to get clean and good Grub2 precompiled binaries… the only way I have found out is that extract grub out of Ubuntu. I use Fedora and it’s grub is not supporting the linux command :frowning:
  2. The only remaining way is to chainload syslinux
  3. In order to chainload syslinux in a UEFI machine, you need syslinux.efi. Syslinux provides that in the official binaries BUT
  4. syslinux.efi will have to be extracted EXACTLY from the same version as the other libraries present in syslinux bootloader… I have tried to use the syslinux.efi from the official binaries but it was unable to load several components, this means that the official binaries and the binaries in lakka don’t match.
  5. The only way to fix this is to build syslinux.efi along with lakka! This is the most important fact that I have uncovered today… I will have to research about this tomorrow because it’s midnight here :stuck_out_tongue:

Until then, good night friends!

After talking with kivutar, he gave me the link to syslinux’s package.mk file which contains the build instructions for syslinux which is shipped with lakka. There I noticed 2 things:

  1. I was using the correct version of syslinux… contrary to my conclusion in my post above.
  2. The EFI binaries which are required to boot are ALREADY being shipped with lakka

I was stunned to notice that… then after some research, I realized that I was using the wrong image of Lakka! I was using the old legacy image which is built for older PCs without UEFI support. My laptop supports UEFI, so the image I should be using is lakka*-efi.img.

I quickly downloaded the latest 2nd December 2016 build of the EFI image and reapeated the steps which I mentioned in the first post of this thread… and BAM! I can see lakka’s entry in my BIOS’s Boot Selection screen! No messing with chainloading or anything!!!

When I first booted lakka, it did not boot because the EFI binaries use their own version of syslinux.cfg… which was untouched meaning wrong UUID and stuff. I quickly navigated to EFI/BOOT and opened syslinux.cfg. There I saw that it was configured to boot the installer part instead of lakka’s live mode. So something had to be done, I changed the contents of the file to:

DEFAULT lakka

LABEL lakka KERNEL /KERNEL APPEND boot=UUID=<Lakka Boot Partition UUID> disk=UUID=<Lakka Data Partition UUID> quiet ssh vga=current vt.global_cursor_default=0 loglevel=2

(Replace <Lakka Boot Partition UUID> and <Lakka Data Partition UUID> with their respective values)

And there you have it… Lakka installed into your computer! Cheers everyone!