Page 1 of 1

Limine Bootloader

Posted: Mon Jun 20, 2022 6:59 am
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.


Re: Limine Bootloader

Posted: Mon Jun 20, 2022 10:46 am
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.


Re: Limine Bootloader

Posted: Mon Jun 20, 2022 11:48 am
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.


Re: Limine Bootloader

Posted: Mon Jun 20, 2022 7:45 pm
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.


Re: Limine Bootloader

Posted: Tue Jun 21, 2022 12:52 am
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.


Re: Limine Bootloader

Posted: Sun Jun 26, 2022 10:58 pm
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


Re: Limine Bootloader

Posted: Mon Jun 27, 2022 7:20 am
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.


Re: Limine Bootloader

Posted: Mon Jun 27, 2022 8:27 am
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 + +


Re: Limine Bootloader

Posted: Sat Jul 02, 2022 1:15 pm
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


Re: Limine Bootloader

Posted: Sun Jul 03, 2022 7:21 pm
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"
 

Re: Limine Bootloader

Posted: Thu Dec 15, 2022 12:27 pm
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


Re: Limine Bootloader

Posted: Thu Dec 15, 2022 9:51 pm
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.


Re: Limine Bootloader

Posted: Thu Dec 15, 2022 10:55 pm
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


Re: Limine Bootloader

Posted: Tue Dec 27, 2022 12:45 am
by williwaw

.


Re: Limine Bootloader

Posted: Fri Dec 15, 2023 9:41 am
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.


Re: Limine Bootloader

Posted: Fri Dec 15, 2023 3:57 pm
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.


Re: Limine Bootloader

Posted: Fri Dec 15, 2023 4:33 pm
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.


Re: Limine Bootloader

Posted: Sat Dec 16, 2023 1:03 am
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


Re: Limine Bootloader

Posted: Sat Dec 16, 2023 9:51 pm
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



Re: Limine Bootloader

Posted: Sun Dec 17, 2023 12:32 am
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.


Re: Limine Bootloader

Posted: Tue Dec 19, 2023 11:13 pm
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



Re: Limine Bootloader

Posted: Wed Dec 20, 2023 2:45 am
by rockedge

I noticed that as well.


Re: Limine Bootloader

Posted: Wed Jan 10, 2024 8:24 am
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.


Re: Limine Bootloader

Posted: Fri Jan 12, 2024 1:11 pm
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 ?


Re: Limine Bootloader

Posted: Fri Jan 12, 2024 6:42 pm
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


Re: Limine Bootloader

Posted: Sun Feb 04, 2024 10:41 pm
by artY

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

Art


Re: Limine Bootloader

Posted: Mon Feb 05, 2024 9:37 am
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?


Re: Limine Bootloader

Posted: Mon Feb 05, 2024 10:02 am
by bugnaw333

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