Limine Bootloader

Moderator: BarryK

Post Reply
scsijon
Posts: 202
Joined: Fri Jul 24, 2020 10:11 am
Has thanked: 6 times
Been thanked: 18 times

Limine Bootloader

Post by scsijon »

https://bkhome.org/news/202206/limine-b ... asyos.html is the referance for those not following Barry's Blog.

Like the tool, from the docs it seems to handle both bops and UEFI types and would make setup and mapping easier.

@BarryK, Seems the limine people are on the ball, your bug is apparently already fixed.

My query is if it handles the vga=?? setting wev'e used in the past and i've found the need to use this on my 4k and 10" 3000x2000 screens(, else the characters are to small to read before X takes over). I can't see anything about this one.

Last edited by scsijon on Sat Dec 31, 2022 3:51 am, edited 1 time in total.
User avatar
puddlemoon
Posts: 189
Joined: Sun Sep 06, 2020 9:26 pm
Location: In between
Has thanked: 89 times
Been thanked: 64 times

Re: Limine Bootloader

Post by puddlemoon »

This is very promising indeed. A nice simple syntax for both boot modes is a big win!
Did some quick test with v3.7 built after #180 was addressed. Deployed on an .img file (fat boot partition and ext4 install partition) then written to usb with dd. UEFI boots fine but the legacy machine I tried failed to boot. After the menu just a blank screen, no error or cursor.
Just an observation, and not using easyos in this case, so apologies if this is not an appropriate place to comment.

User avatar
BarryK
Posts: 2692
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 132 times
Been thanked: 738 times

Re: Limine Bootloader

Post by BarryK »

puddlemoon wrote: Mon Jun 20, 2022 10:46 am

This is very promising indeed. A nice simple syntax for both boot modes is a big win!
Did some quick test with v3.7 built after #180 was addressed. Deployed on an .img file (fat boot partition and ext4 install partition) then written to usb with dd. UEFI boots fine but the legacy machine I tried failed to boot. After the menu just a blank screen, no error or cursor.
Just an observation, and not using easyos in this case, so apologies if this is not an appropriate place to comment.

Yes, I also thought v3.7 was created after #180 was fixed, but I checked the commits and #180 fix is not in v3.7.
If you look at the v3.7 tag, it says "27 commits to trunk since this release" -- including my two fixes. But maybe I am misunderstanding the v3.7 and the commits.

I wasn't able to compile the source from trunk branch, so waiting for the next tag release.

User avatar
puddlemoon
Posts: 189
Joined: Sun Sep 06, 2020 9:26 pm
Location: In between
Has thanked: 89 times
Been thanked: 64 times

Re: Limine Bootloader

Post by puddlemoon »

BarryK wrote: Mon Jun 20, 2022 11:48 am

Yes, I also thought v3.7 was created after #180 was fixed, but I checked the commits and #180 fix is not in v3.7.
If you look at the v3.7 tag, it says "27 commits to trunk since this release" -- including my two fixes. But maybe I am misunderstanding the v3.7 and the commits.

I wasn't able to compile the source from trunk branch, so waiting for the next tag release.

OK, interesting. Thanks for the word.
I was not able to compile when I did 'git clone' but it was rather late so I wasn't sure if I was missing something.
Hope to have another go today and try on another machine as well.

This is a really nice find! cheers.

Edit: I tested the usb on the other legacy machine I have around and got the same blank screen, but had the hunch to wait as perhaps the display config (which I did not alter in the .cfg file) was the culprit and sure enough the display came back at the point in loading the system that the true resolution kicks in.
Both systems boot the same way, both HP (well, one compaq) laptops circa 2012.

User avatar
BarryK
Posts: 2692
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 132 times
Been thanked: 738 times

Re: Limine Bootloader

Post by BarryK »

I was confused about those commits, v3.7 does have the two fixes.

I have tested legacy-BIOS booting on four computers, success. The oldest is a Compaq Presario with core2 CPU.
tested UEFI booting on three computers, success.

This is my limine.cfg:

Code: Select all

TIMEOUT=0
GRAPHICS=no
DEFAULT_ENTRY=1
EDITOR_ENABLED=no

:EasyOS TITLEFIELD
    COMMENT=COMMENTFIELD
    PROTOCOL=linux
    TEXTMODE=yes
    KERNEL_PATH=boot://2/easyos/vmlinuz
    MODULE_PATH=boot://2/easyos/initrd
    KERNEL_CMDLINE=initrd=initrd rw

...that TEXTMODE parameter is only for legacy-BIOS booting, from the docs I think it is ignored in UEFI booting.
TIMEOUT=0 bypasses the menu, as there is only one entry.

williwaw
Posts: 1948
Joined: Tue Jul 14, 2020 11:24 pm
Has thanked: 172 times
Been thanked: 369 times

Re: Limine Bootloader

Post by williwaw »

booting from a usb with Limine installed by dd'ing easy 4.2

first and second try in a HP Elitedesk 800 G1 TWR where the HP bios was previously configured to UEFI resulted in

finding drives...............mount: can't resd '/etc/fstab' : no suh file or directory

third and fourth boot was with usb selected in bios boot selector as a legacy device. booted fine

fifth and sixth boot was choosing uefi in bios boot selector, in which case, boot up completed ok

Last edited by williwaw on Tue Jun 28, 2022 7:56 pm, edited 1 time in total.
User avatar
BarryK
Posts: 2692
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 132 times
Been thanked: 738 times

Re: Limine Bootloader

Post by BarryK »

williwaw,
That problem is happening in the initrd. The init script in the initrd waits for the partition to become available, like this:

Code: Select all

while [ $CNT -lt 20 ];do #drives may take couple seconds to become available. 180415 increase 8 to 20.
 sleep 1
 echo -n '.'
 CNT=$(($CNT+1))
 #190718 iso written to usb-stick has (ex:) /dev/sdd and dev/sdd1 both LABEL="EASYOSOPTICAL", filter-out former...
 BLKIDS="$(blkid | grep -v '[a-z]: ')"
 #ex line: /dev/sda2: LABEL="intern1p2" UUID="cd5ef69b-883d-4744-bc1d-551154131db2" TYPE="ext4"
 [ ! "$WKG_DEV" ] && WKG_DEV="$(echo "${BLKIDS}" | grep -E "\"${WKG_UUID}\"|\"${WKG_LABEL}\"" | cut -f 1 -d ':' | cut -f 3 -d '/')"
 [ "$WKG_DEV" ] && break
done

The busybox 'blkid' utility prints UUIDs and f.s. of all partitions.

In your case, it is going round the loop 20 times, 20 seconds, and is not finding the $WKG_UUID.

So the problem is with the Linux kernel on your hardware.

williwaw
Posts: 1948
Joined: Tue Jul 14, 2020 11:24 pm
Has thanked: 172 times
Been thanked: 369 times

Re: Limine Bootloader

Post by williwaw »

BarryK wrote: Mon Jun 27, 2022 7:20 am

williwaw,
So the problem is with the Linux kernel on your hardware.

Hard to duplicate as it's one of those things that only happened once. Of no concern really, unless I put that desktop back into service, and the problem crops up again.

Otherwise, I like Limine, easy syntax for boot stanzas, usable on (hopefully) any machine without fiddling with the bios..........and mintsuki gets a + +

User avatar
BarryK
Posts: 2692
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 132 times
Been thanked: 738 times

Re: Limine Bootloader

Post by BarryK »

mintsuki has added "fslabel" to the "URI" choices in the latest version 3.10.

So I found three different ways to add a menu entry for Windows, using "hdd", "guid" and now "fslabel":

https://bkhome.org/news/202207/how-to-a ... -menu.html

williwaw
Posts: 1948
Joined: Tue Jul 14, 2020 11:24 pm
Has thanked: 172 times
Been thanked: 369 times

Re: Limine Bootloader

Post by williwaw »

for those editing boot parameters in liming.cfg for EasyOS, not tested completely,
(taken from refind.conf)

Code: Select all

 
"Normal bootup (remove lockdown)" 
  add_options "qfix=normal"
 
 "Filesystem check" 
  add_options "qfix=fsck"
 
 "Commandline only, do not start X" 
  add_options "qfix=nox"

 "Rollback to last saved session" 
  add_options "qfix=bak"
 
"Rollback to pristine first-boot" 
  add_options "qfix=new"
 
 "Copy session to RAM & unmount partitions" 
  add_options "qfix=lock1"
 
 "Copy session to RAM & disable drives" 
  add_options "qfix=lock2"
 
 "Fix broken video" 
  add_options "qfix=vid nomodeset"
 
 "initrd shell: Nothing yet mounted" 
  add_options "qfix=dropout0"
 
 "initrd shell: Boot & wkg partitions mounted" 
  add_options "qfix=dropout1"
 
 "initrd shell: Before recovery & maintenance operations" 
  add_options "qfix=dropout2"
 
  "initrd shell: Before version control" 
  add_options "qfix=dropout3"
 
 "initrd shell: Before setting up SFS layers" 
  add_options "qfix=dropout4"
 
 "initrd shell: Before moving mount points to wkg f.s." 
  add_options "qfix=dropout5"
 
 "initrd shell: Just before switch_root" 
  add_options "qfix=dropout6"
 
User avatar
Governor
Posts: 882
Joined: Sat Nov 12, 2022 7:11 pm
Location: https://www.heritage.org/voterfraud/
Has thanked: 224 times
Been thanked: 46 times

Re: Limine Bootloader

Post by Governor »

williwaw wrote: Sun Jul 03, 2022 7:21 pm

for those editing boot parameters in liming.cfg for EasyOS, not tested completely,
(taken from refind.conf)

Code: Select all

 
"Normal bootup (remove lockdown)" 
  add_options "qfix=normal"
 
 "Filesystem check" 
  add_options "qfix=fsck"
 
 "Commandline only, do not start X" 
  add_options "qfix=nox"

 "Rollback to last saved session" 
  add_options "qfix=bak"
 
"Rollback to pristine first-boot" 
  add_options "qfix=new"
 
 "Copy session to RAM & unmount partitions" 
  add_options "qfix=lock1"
 
 "Copy session to RAM & disable drives" 
  add_options "qfix=lock2"
 
 "Fix broken video" 
  add_options "qfix=vid nomodeset"
 
 "initrd shell: Nothing yet mounted" 
  add_options "qfix=dropout0"
 
 "initrd shell: Boot & wkg partitions mounted" 
  add_options "qfix=dropout1"
 
 "initrd shell: Before recovery & maintenance operations" 
  add_options "qfix=dropout2"
 
  "initrd shell: Before version control" 
  add_options "qfix=dropout3"
 
 "initrd shell: Before setting up SFS layers" 
  add_options "qfix=dropout4"
 
 "initrd shell: Before moving mount points to wkg f.s." 
  add_options "qfix=dropout5"
 
 "initrd shell: Just before switch_root" 
  add_options "qfix=dropout6"
 

Here is what I have:

Code: Select all

QUIET=no
TIMEOUT=20
GRAPHICS=no
DEFAULT_ENTRY=1
EDITOR_ENABLED=yes
INTERFACE_BRANDING=EasyOS Limine Boot Manager


:Puppy Linux fossapup64 (partition nvme0n1p1, path fossapup64_9.5)
    PROTOCOL=linux
    KERNEL_CMDLINE=psubdir=fossapup64_9.5 pmedia=ataflash
    KERNEL_PATH=hdd://1:1/fossapup64_9.5/vmlinuz
     MODULE_PATH=hdd://1:1/fossapup64_9.5/initrd.gz

How many of those options can I add?
Why don't I have quotes around my entries?
It is draining me to reconfigure all settings on every boot. How do I get to choose a pupsave on boot?
I have the following in my pupsave folder:

Code: Select all

/mnt/nvme0n1p1/fossapup64_9.5/pupsave/fossapup64initmodules.txt
/mnt/nvme0n1p1/fossapup64_9.5/pupsave/fossapup64save-1-1.4fs
/mnt/nvme0n1p1/fossapup64_9.5/pupsave/fossapup64save-1.4fs
/mnt/nvme0n1p1/fossapup64_9.5/pupsave/fossapup64save-2022_12_15.4fs
/mnt/nvme0n1p1/fossapup64_9.5/pupsave/fossapup64save.4fs

Governor

williwaw
Posts: 1948
Joined: Tue Jul 14, 2020 11:24 pm
Has thanked: 172 times
Been thanked: 369 times

Re: Limine Bootloader

Post by williwaw »

govenor,
How many of those options can I add?
none

Why don't I have quotes around my entries?
the code with the quotes are parameters written for rEFInd by Barry for use in EasyOs. Refind is a bootloader used in earlier versions of EasyOs, and these parameters are mentioned in the post above as a reference for those using EasyOs and upgrading to Limine. The quotes are not needed in a limine.cfg

bootloaders are not distro specific. A good bootloader should be able to boot any distro. Most bootloaders have different syntax or rules for specifying boot parameters, but the parameters themselves are specific to the distro being booted.

Please look at the resources I pointed to in the other thread for fossa parameters. Questions about supplying the correct parameters for your use case in fossa are better asked in the fossapup forum. It may be that once your needed fossa parameters are established, questions about help with the proper syntax may be better addressed here.

for instance,
should you want to boot with a different savefile, perhaps located in a different folder, and your fossapup init is not finding it, there should be a fossapup parameter that could help. It needs to be included in a second stanza which you would add to your limine.cfg resulting in something like...

Code: Select all

QUIET=no
TIMEOUT=20
GRAPHICS=no
DEFAULT_ENTRY=1
EDITOR_ENABLED=yes
INTERFACE_BRANDING=EasyOS Limine Boot Manager


:Puppy Linux fossapup64 (partition nvme0n1p1, path fossapup64_9.5)
    PROTOCOL=linux
    KERNEL_CMDLINE=psubdir=fossapup64_9.5 pmedia=ataflash
    KERNEL_PATH=hdd://1:1/fossapup64_9.5/vmlinuz
     MODULE_PATH=hdd://1:1/fossapup64_9.5/initrd.gz

:Puppy Linux fossapup64 (partition nvme0n1p1, path fossapup64_9.5) savefile2
    PROTOCOL=linux
    KERNEL_CMDLINE=psubdir=fossapup64_9.5  psave=nvme0n1p1/fossapup64_9.5/pupsave/fossapup64save-1-1.4fs   pmedia=ataflash
    KERNEL_PATH=hdd://1:1/fossapup64_9.5/vmlinuz
     MODULE_PATH=hdd://1:1/fossapup64_9.5/initrd.gz

I am not sure about the validity of the psave =parameter I added in the KERNEL_CMDLINE in second stanza, , as I use Easy mostly. But try this edit for starters. If when booting and it doesn't work the first time, you can press E while in the bootloader and temporarily edit the parameter until you find what works. once booted, you can open up limine.cfg in a text editor to make the temp parameter permanent.

I realize this seems complicated jumping back and forth between limine advice and fossa advice. Perhaps limine will be added to a mainline puppy and documentation can someday be consolidated.

User avatar
BarryK
Posts: 2692
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 132 times
Been thanked: 738 times

Re: Limine Bootloader

Post by BarryK »

Yes, that's right, in Easy, all of those boot options are no longer needed.
There are now menu choices in the initrd, and via the shutdown menu.

Easy kernel commandline now requires wkg_uuid|wkg_label|wkg_dev and wkg_dir parameters. Example here for Limine:

https://easyos.org/install/how-to-insta ... drive.html

examples boot Easy for other boot-loaders:

https://easyos.org/install/easy-frugal- ... ation.html

Examples boot other linux distros with Limine:

https://bkhome.org/news/202207/install- ... stros.html

williwaw
Posts: 1948
Joined: Tue Jul 14, 2020 11:24 pm
Has thanked: 172 times
Been thanked: 369 times

Re: Limine Bootloader

Post by williwaw »

.

luvr
Posts: 1
Joined: Thu Feb 23, 2023 1:07 pm

Re: Limine Bootloader

Post by luvr »

Just a quick note: Limine 6 was released a few days ago and removes support for the ext2(/3/4) file system. Thus, anyone who is used to loading the kernel and initrd from a Linux file system, will have to copy them to a FAT partition (such as the ESP, in the case of UEFI) in order to upgrade to the new Limine version.

User avatar
BarryK
Posts: 2692
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 132 times
Been thanked: 738 times

Re: Limine Bootloader

Post by BarryK »

luvr wrote: Fri Dec 15, 2023 9:41 am

Just a quick note: Limine 6 was released a few days ago and removes support for the ext2(/3/4) file system. Thus, anyone who is used to loading the kernel and initrd from a Linux file system, will have to copy them to a FAT partition (such as the ESP, in the case of UEFI) in order to upgrade to the new Limine version.

EasyOS needs ext2/3/4 support, so will be stuck on v5. If mintsuki stops supporting v5, then might have to consider moving to grub.

Though, the v5 release currently in EasyOS works fine, haven't received any complaints. So it seems to be pretty mature. So, maybe no need for further updates.

User avatar
rockedge
Site Admin
Posts: 6546
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2749 times
Been thanked: 2626 times
Contact:

Re: Limine Bootloader

Post by rockedge »

So, maybe no need for further updates.

Yes this might be the case and best plan. This is a boot loader I will avoid for now though.

User avatar
BarryK
Posts: 2692
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 132 times
Been thanked: 738 times

Re: Limine Bootloader

Post by BarryK »

I have raised this as an issue on the Limine github site:

https://github.com/limine-bootloader/limine/issues/320

Note, there is another thread about Limine in this forum, that mintsuki has posted to:

viewtopic.php?t=8634

don570
Posts: 688
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 117 times

Re: Limine Bootloader

Post by don570 »

I've installed fatdog64 a couple of times with LICK on a Windows computer and it worked well.
The fatdog people have it included with their ISO
https://oldforum.puppylinux.com/viewtop ... &start=510


User avatar
BarryK
Posts: 2692
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 132 times
Been thanked: 738 times

Re: Limine Bootloader

Post by BarryK »

mintsuki replied to the issue I raised; she may backport some fixes to the 5.x series for awhile, but not indefinitely.
So, ultimately it will only be 6.x or later, and ext2/3/4 support will be gone.

There is another bootloader that looks real good, Easyboot:

https://gitlab.com/bztsrc/easyboot

...attempted to use it last night, but no go. The boot menu didn't display, and it couldn't find the kernel.

Easyboot is a very young project, only started on October 28, 2023.

With Limine, there were lots of issues, getting it to work on all kinds of quirky hardware. That takes a lot of time and testing.

I am intrigued though, will play with Easyboot a bit more.

don570
Posts: 688
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 117 times

Re: Limine Bootloader

Post by don570 »

I noticed this on limine Github page

### But I don't want to have a separate FAT boot partition! I don't want it!!!

Well tough luck. It is $year_following_2012 now and most PCs are equipped with UEFI and simply won't boot without a FAT EFI system partition


Source
https://github.com/limine-bootloader/li ... 4d93420ba1


User avatar
rockedge
Site Admin
Posts: 6546
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2749 times
Been thanked: 2626 times
Contact:

Re: Limine Bootloader

Post by rockedge »

I noticed that as well.

User avatar
Governor
Posts: 882
Joined: Sat Nov 12, 2022 7:11 pm
Location: https://www.heritage.org/voterfraud/
Has thanked: 224 times
Been thanked: 46 times

Re: Limine Bootloader

Post by Governor »

rockedge wrote: Wed Dec 20, 2023 2:45 am

I noticed that as well.

I am no longer using Limine because it stopped working.
I was also unable to install grub or boot by any other means, except CD.
I run Puppy from a closed CD, and unfortunately, the CD does not have any saved settings on it. So I must redo most of my settings on each boot. I leave my laptop on all the time so I can avoid having to redo my configuration settings. After some time, though, the OS gets much slower and I must re-boot anyway. I suspect a memory saturation issue. I choose to load the OS into 'memory only' on boot to avoid slow CD access speeds. Even on a fresh boot, the USB access speeds are painfully slow. I sometimes have to wait 10 seconds before an entire folder is loaded in the ROX-filer.

Governor

artY
Posts: 9
Joined: Sat Nov 12, 2022 2:57 am
Has thanked: 9 times

Re: Limine Bootloader

Post by artY »

Why would @mintsuki choose to abandon UEFI boot ?
Is it too complicated to keep up with - or are there any security risks when compared to legacy boot ?

williwaw
Posts: 1948
Joined: Tue Jul 14, 2020 11:24 pm
Has thanked: 172 times
Been thanked: 369 times

Re: Limine Bootloader

Post by williwaw »

artY wrote: Fri Jan 12, 2024 1:11 pm

Why would @mintsuki choose to abandon UEFI boot ?
Is it too complicated to keep up with - or are there any security risks when compared to legacy boot ?

no new security risk with uefi, its about finding the initrd in a linux partition
https://github.com/limine-bootloader/limine/issues/320

artY
Posts: 9
Joined: Sat Nov 12, 2022 2:57 am
Has thanked: 9 times

Re: Limine Bootloader

Post by artY »

@williwaw: THANKS for the link - it took me on a greater round-trip through the net, and to a better understanding ...

Art

User avatar
trawglodyte
Posts: 257
Joined: Mon Dec 11, 2023 11:32 am
Location: my cave
Has thanked: 234 times
Been thanked: 77 times

Re: Limine Bootloader

Post by trawglodyte »

Limine didn't work on my UEFI-only machine, which is too bad because it did find the OS's I had installed, except for KLV-Airedale. Being as there is 6 or 7 different settings in my BIOS related to secure boot I don't know if it's worth saying whether it's "enabled" or "disabled". This seems to be one of the struggles folks designing boot-loaders face, how do you account for every unique mobo, chipset, BIOS version, settings, and so forth?

low-bar learner

User avatar
bugnaw333
Posts: 342
Joined: Wed Jul 20, 2022 11:04 pm
Location: Cebu, Philippines
Has thanked: 531 times
Been thanked: 68 times

Re: Limine Bootloader

Post by bugnaw333 »

I never had a luck to find more Os`s on my machine using Limine since I use EasyOS. :roll:

Post Reply

Return to “EasyOS”