Page 1 of 1

How to configure Limine to boot EasyOS?

Posted: Tue Nov 14, 2023 12:59 pm
by libertas

Hi,

As for my second question.

I copy the three mentioned files to a /easyos/kirkstone in a ext4 partition of a nvme drive.

When I run the Limine installer, it only detects the Windows system at the first partition of the disk /dev/sda1, not the EasyOS files at /dev/sda5.
It shows a grep command that fails to find the files (I think vmlinuz).

What is missing here?

Third question.
In the documentation as well as in other forum topics, there's some examples of the configuration to boot EasyOS from Limine, like:

Code: Select all

:EasyOS Kirkstone64 (partition nvme0n1p3, path Puppy/easyos)
COMMENT=EasyOS bootup
PROTOCOL=linux
KERNEL_CMDLINE=rw wkg_uuid=0C448DF6448DE336 wkg_dir=Puppy/easyos
KERNEL_PATH=guid://b120f417-18ee-4d76-b08c-8d5cc3e30521/Puppy/easyos/vmlinuz
MODULE_PATH=guid://b120f417-18ee-4d76-b08c-8d5cc3e30521/Puppy/easyos/initrd

I got the guids for KERNEL_PATH and MODULE_PATH from blkid.
But what about the KERNEL_CMDLINE. Where does the wkg_uuid comes from? What is it?
What is the wkg_dir? What does it refer to?


Re: How to configure Limine to boot EasyOS?

Posted: Tue Nov 14, 2023 4:00 pm
by BarryK

Re: How to configure Limine to boot EasyOS?

Posted: Tue Nov 14, 2023 7:07 pm
by libertas

Hi BarryK,

I've read what you have suggested, but I have still some doubts about it.

Why does this happen, as I wrote in the first post?
"""
When I run the Limine installer, it only detects the Windows system at the first partition of the disk /dev/sda1, not the EasyOS files at /dev/sda5.
It shows a grep command that fails to find the files (I think vmlinuz).
"""

Regarding the limine.cfg, there's this example:
"""
For anyone who might be interested, here is the content of 'limine.cfg':
QUIET=no
TIMEOUT=20
GRAPHICS=no
DEFAULT_ENTRY=1
EDITOR_ENABLED=yes
INTERFACE_BRANDING=EasyOS Limine Boot Manager

:EasyOS Dunfell64 (partition sda2, path easyos)
COMMENT=EasyOS bootup
PROTOCOL=linux
KERNEL_CMDLINE=rw wkg_uuid=41e4e492-f6a0-11ec-9a02-287fcfeb4376 wkg_dir=easyos
KERNEL_PATH=fslabel://easy2/easyos/vmlinuz
MODULE_PATH=fslabel://easy2/easyos/initrd

:Windows 10
COMMENT=Windows bootup
PROTOCOL=chainload
IMAGE_PATH=guid://09ddd6ad-80b0-4265-8d7f-1621eb5a4d9f/EFI/Microsoft/Boot/bootmgfw.efi
...note, the "guid://..." URI hasn't been used for EasyOS, as the SSD has an MBR, not a GPT.
"""

So, regarding the EasyOS configuration, what is the sequence of operations done?
1. Limine checks its config file
2. Runs initrd from MODULE_PATH
3. When initrd is finished, run vmlinuz from KERNEL_PATH
What is the role of KERNEL_CMDLINE?

It's said that the SSD has a MBR, so KERNEL_PATH and MODULE_PATH don't have a UUID.
So, I have two questions:
4. Why does KERNEL_CMDLINE have a wkg_uuid? Is is in another disk?
5. How does limine know in which partition to search for a /easy2/easyos/ path?


Re: How to configure Limine to boot EasyOS?

Posted: Tue Nov 14, 2023 8:14 pm
by Caramel
libertas wrote: Tue Nov 14, 2023 7:07 pm

When I run the Limine installer, it only detects the Windows system at the first partition of the disk /dev/sda1, not the EasyOS files at /dev/sda5.
It shows a grep command that fails to find the files (I think vmlinuz).
"""

Regarding the limine.cfg, there's this example:
"""
For anyone who might be interested, here is the content of 'limine.cfg':
QUIET=no
TIMEOUT=20
GRAPHICS=no
DEFAULT_ENTRY=1
EDITOR_ENABLED=yes
INTERFACE_BRANDING=EasyOS Limine Boot Manager

:EasyOS Dunfell64 (partition sda2, path easyos)
COMMENT=EasyOS bootup
PROTOCOL=linux
KERNEL_CMDLINE=rw wkg_uuid=41e4e492-f6a0-11ec-9a02-287fcfeb4376 wkg_dir=easyos
KERNEL_PATH=fslabel://easy2/easyos/vmlinuz
MODULE_PATH=fslabel://easy2/easyos/initrd

:Windows 10
COMMENT=Windows bootup
PROTOCOL=chainload
IMAGE_PATH=guid://09ddd6ad-80b0-4265-8d7f-1621eb5a4d9f/EFI/Microsoft/Boot/bootmgfw.efi
...note, the "guid://..." URI hasn't been used for EasyOS, as the SSD has an MBR, not a GPT.
"""

So, regarding the EasyOS configuration, what is the sequence of operations done?
1. Limine checks its config file
2. Runs initrd from MODULE_PATH
3. When initrd is finished, run vmlinuz from KERNEL_PATH
What is the role of KERNEL_CMDLINE?

It's said that the SSD has a MBR, so KERNEL_PATH and MODULE_PATH don't have a UUID.
So, I have two questions:
4. Why does KERNEL_CMDLINE have a wkg_uuid? Is is in another disk?
5. How does limine know in which partition to search for a /easy2/easyos/ path?

@libertas,
if I'm not wrong, each partition has an UUID, even in MBR partioning. In GPT partitioning, there are also PARTUUID (or PART_ENTRY_UUID or GUID) identifiers. (see https://raspberrypi.stackexchange.com/q ... d-partuuid for a liitle help)

blkid provides the UUID (and the PARTUUID if it exits)

I see that limine has found an EasyOS on sda2 (sda2 is identified with its label "easy2"). Maybe sda5 has no label ?

To see the label :

Code: Select all

e2label /dev/sda5

To add or modify the label :

Code: Select all

e2label /dev/sda5 newlabel

Re: How to configure Limine to boot EasyOS?

Posted: Tue Nov 14, 2023 9:08 pm
by libertas

Re: How to configure Limine to boot EasyOS?

Posted: Tue Nov 14, 2023 9:48 pm
by williwaw

I think caramel is suggesting you use the example to create the required stanza, once you create a label for sda5
instead of letting the installer generate the stanza.

I prefer the label syntax, and do not know why the installer is failing for you.

there is an edit function in limine where you hit "e" and try to work out the needed parameters without having to reboot just to make a single edit and reboot again to try it out

if you are still having trouble, post the limine.cfg you have that does not work and the label and path of your frugal install


Re: How to configure Limine to boot EasyOS?

Posted: Wed Nov 15, 2023 12:01 am
by BarryK

It is essential that anyone who wants to understand Limine, read the documentation at the project site:

https://github.com/limine-bootloader/li ... /CONFIG.md

Note, wkg_uuid, wkg_dir, etc., have nothing to do with Limine.
They are kernel parameters for the EasyOS 'initrd' to identify in what partition and folder EasyOS is installed (what we call the "working partition").

wkg_uuid etc are explained in this forum thread:

viewtopic.php?p=62661#p62661


Re: How to configure Limine to boot EasyOS?

Posted: Wed Nov 15, 2023 12:12 am
by libertas

I could already install Limine that was able to discover EasyOS files.
There's nothing different that I remember to have done, though.
So, this is a step further.

But, there's another stone in the way...
Now, EasyOS cannot be booted from Limine.
The boot process says it cannot find /etc/fstab and afterwards, that it cannot load the easy_...sfs file.

What is defined for EasyOS in limine.cfg is:

Code: Select all

:EasyOS KirkStone
    COMMENT=EasyOS bootup
    PROTOCOL=linux
    KERNEL_CMDLINE=rw wkg_uuid=00dabd81-7401-4d64-b530-64de156c55b6 wkg_dir=easyos/kirkstone
    KERNEL_PATH=guid://00dabd81-7401-4d64-b530-64de156c55b6/easyos/kirkstone/vmlinuz
    MODULE_PATH=guid://00dabd81-7401-4d64-b530-64de156c55b6/easyos/kirkstone/initrd

I understand that the KERNEL_PATH is pointing to the location of vmlinuz.
But, what does the KERNEL_CMDLINE really do? It's pointing to the same directory that contains vmlinuz and initrd.
Is there some redundancy?


Re: How to configure Limine to boot EasyOS?

Posted: Wed Nov 15, 2023 12:21 am
by BarryK
libertas wrote: Wed Nov 15, 2023 12:12 am

What is defined for EasyOS in limine.cfg is:

Code: Select all

:EasyOS KirkStone
    COMMENT=EasyOS bootup
    PROTOCOL=linux
    KERNEL_CMDLINE=rw wkg_uuid=00dabd81-7401-4d64-b530-64de156c55b6 wkg_dir=easyos/kirkstone
    KERNEL_PATH=guid://00dabd81-7401-4d64-b530-64de156c55b6/easyos/kirkstone/vmlinuz
    MODULE_PATH=guid://00dabd81-7401-4d64-b530-64de156c55b6/easyos/kirkstone/initrd

I understand that the KERNEL_PATH is pointing to the location of vmlinuz.
But, what does the KERNEL_CMDLINE really do? It's pointing to the same directory that contains vmlinuz and initrd.
Is there some redundancy?

No redundancy, they are two different things.

KERNEL_CMDLINE has parameters for the EasyOS initrd, for Easy to identify what partition and folder it is installed.
...as already stated in my previous post.

KERNEL_PATH and MODULE_PATH are used by Limine to find vmlinuz and initrd.

vmlinuz and initrd do not necessarily have to be in the same place where the Easy working-partition is, but in we usually do put them in the same place.


Re: How to configure Limine to boot EasyOS?

Posted: Thu Nov 16, 2023 12:53 am
by BarryK
libertas wrote: Tue Nov 14, 2023 12:59 pm

When I run the Limine installer, it only detects the Windows system at the first partition of the disk /dev/sda1, not the EasyOS files at /dev/sda5.
It shows a grep command that fails to find the files (I think vmlinuz).

@libertas
Thanks for reporting that.
Yes, there is a bug in the script that causes the grep error.

But I don't know if the grep error is related to your case failing to find Easy in sda5

grep error fixed, see blog post:

https://bkhome.org/news/202311/fixed-pa ... aller.html


Re: How to configure Limine to boot EasyOS?

Posted: Tue Jun 25, 2024 2:53 pm
by bugnaw333

At last I did it--dual booting EasyOS Scarthgap 6.0.2 and Windows 10 on my laptop. :thumbup2:

Mounting the .img then copy easyos folder to sda2 and the EFI folder to sda6 then run the Limine bootloader installer.
;)