[linux-lvm] SuSE/LVM boot problem

Jan Niehusmann list039 at gondor.com
Tue May 2 21:22:21 UTC 2000

> On this topic, what is needed to make lvm work for both / and /boot with
> full lilo support? I think it somewhat limits the utility of lvm not to
> be able to make a fully lvm system, and might be tempted to do some of
> the heavy lifting if it is not too gruesome.

As lilo doesn't parse filesystems, it has to know the sector numbers of
the disk blocks that contain the kernel (and the second stage boot loader).

I can imagine two ways to make lilo work with lvm:

1) at install time (when you run /sbin/lilo), lilo maps the logical (lvm)
locations to physical locations and writes these to the boot block. The boot
code doesn't need to be changed.

2) lilo writes logical locations to the boot block (trivial). The boot
code needs to understand lvm. 

Option 2 is probably very difficult to do, as it requires to implement 
lvm handling in 16 bit code. Only read-only access is needed, but still,
it's probably a major project.

Option 1 is way easier to implement, but has one big disadvantage: Whenever
you move physical extents, you have to re-run lilo.

Both ways, you may end up with the kernel (or parts of it) moved to
a drive that's not accessible by lilo.  (while the 1024-cylinder-limit
is gone, there are still drives that are accessible by linux but not by
the bios, for example scsi drives on a controller without bios)

So, while I think it's fairly easy to make booting from lvm possible, there
are problems, and I don't know a solution for some of them.


More information about the linux-lvm mailing list