Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I attempted to update the master boot sector on an NVMe disk
(Samsung 950 PRO) using Lilo but received the given error message:
Code:
WARNING: SATA partition in the high region (>15):
LILO needs the kernel in one of the first 15 SATA partitions. If
you need support for kernel in SATA partitions of the high region
than try grub2 for this purpose!
Fatal: Sorry, cannot handle device 0x10300
The error is caused by the kernel assigning major number 259 to
the nvme block device:
Code:
$ lsblk
nvme0n1 259:0 0 238.5G 0 disk
├─nvme0n1p1 259:1 0 350M 0 part
└─nvme0n1p2 259:2 0 238.1G 0 part /
Lilo thinks that this is an "high partition" (a partition with number >15). This is
actually documented in kernel's Documentation/devices.txt:
Code:
259 block Block Extended Major
Used dynamically to hold additional partition minor
numbers and allow large numbers of partitions per device
Is this a kernel bug to assign such major number to a block device? If so then
where should I report it. There is no major number reserved for NVMe devices by
this document.
I currently solved it by switching my boot loader to Syslinux. NVMe devices are
likely to become popular in the following years.
LILO is discontinued, I'm not surprised it doesn't work correctly with new drive technologies, and it's just going to get worse. I recommend using an active and supported boot loader instead.
LILO is discontinued, I'm not surprised it doesn't work correctly with new drive technologies, and it's just going to get worse. I recommend using an active and supported boot loader instead.
In fact others may have taken maintentance over (at least for some OS) and I used LILO with NVMe from 2020 to 2021.
In fact others may have taken maintentance over (at least for some OS) and I used LILO with NVMe from 2020 to 2021.
But the key is "for certain OS's". Since OP doesn't state WHAT OS they're using, then the default answer, IMO, should be, "LILO has been discontinued, use Grub". If they're using one of the distro's that is still developing LILO, they should probably mention it, and ask for the thread to be moved to that distro's specific forum, since as a general rule, yes, LILO has been discontinued and it will not function with MOST OS's in existence anymore on an NVMe disk.
This is
actually documented in kernel's Documentation/devices.txt:
Code:
259 block Block Extended Major
Used dynamically to hold additional partition minor
numbers and allow large numbers of partitions per device
Is this a kernel bug to assign such major number to a block device?
Yes.
Using major numbers in a way contrary to the earlier norm (and indeed the kernel documentation) will cause breakages in userspace. And as Linus himself defines breaking userspace as unacceptable kernel behaviour, it is indeed a bug, and a pretty serious one at that.
Ok, I'm not TOTALLY good on the exacts of this, but I seem to recall that eLILO features were integrated into the standard LILO, then eLILO was discontinued, and a few years later LILO was discontinued except for a few OS's that kept it updated.
But again, I'm not ABSOLUTELY certain I remember that correctly.
One who liked LILO (and Elilo), as did I, might look into "limine" bootloader. It is easier than GRUB and handles many cases better than GRUB2 does.
It is also, I understand, not having run it myself) the chosen bootloader for EasyOS, if that interests you.
A slightly more modern and friendly version of a GRUB style loader is BURG: another I have not tried. Yet.
Lilo should continue to work on Legacy/CSM (MBR) systems. It should also work on Legacy GPT drives. Elilo is for UEFI systems. As far as maintaining Lilo, see the statement in the last post on the first page of the thread below by Mr. Volkerding.
I've never used BURG but as you would expect, it is derived from GRUB and has been around since at least 2011 which I wouldn't consider new. Explanation on using it at the site below.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.