[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

Re: Defragmenting an ext2 FS, was --> Re: [LI] shoury



On Fri, Nov 26, 1999 at 12:53:59PM +0530, C Hanish Menon wrote:
> The ACTUAL boot loader code as to be very small 

Sure, there are size constraints, but it can be overcome using a 
multilevel bootloader.

http://www.freebsd.org/cgi/man.cgi?boot
http://www.freebsd.org/cgi/man.cgi?loader

> neutral to filesystems to  support loading of Kernel or PreKernel image
> from the different Filesystems used by the different OSes.

I don't see this as a particular advantage. What percentage of 
Linux installs boot from a fs other than ext2fs ? In such cases,
there'll always be an alternate route - things like loadlin.

> Also one as to note that when the boot loader is having control of your system
> there is NO KERNEL or FS DRIVERS loaded in the system.

That's the point. The fs driver can be linked into the bootloader.

> 
> Because of their neutrality they MAY have ONE constraint that the file or
> kernel image to be loaded is NOT FRAGMENTED, (this can be overcome, without
> much code increase, but I don't know exactly how lilo handles this case).

This is not a constraint. LILO doesn't need /boot/vmlinuz to be unfragmented.
When you run /sbin/lilo, it queries the filesystem for a map of /boot/vmlinuz
and stores the actual fragmented map (list of disk blocks that make up
vmlinuz) of /boot/vmlinuz in /boot/map.

Then at boot time, LILO reads /boot/map (not through a ext2fs driver,
but using an absoulte disk address stored in the MBR) and uses that
to get to /boot/vmlinuz.

This requires that the filesystem should implement an interface, that allows
a user program to query the "map" of a file on the disk. A bloat, I don't
want in memory at run time, because no one else uses it. In other words,
LILO can't boot from a filesystem that doesn't implement the above interface.

	-Arun

--------------------------------------------------------------------
The Linux India Mailing List Archives are now available.  Please search
the archive at http://lists.linux-india.org/ before posting your question
to avoid repetition and save bandwidth.