[Top] [All Lists]

Re: syslinux xfs support

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: syslinux xfs support
From: Chris Murphy <lists@xxxxxxxxxxxxxxxxx>
Date: Tue, 15 Oct 2013 23:48:49 -0600
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>, pcacjr@xxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20131015205434.GT4446@dastard>
References: <20131015203319.GA20191@xxxxxxxxxxxxx> <20131015205434.GT4446@dastard>
On Oct 15, 2013, at 2:54 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote:

> On Tue, Oct 15, 2013 at 01:33:19PM -0700, Christoph Hellwig wrote:
>> Hi Paulo,
>> just wondering what the state of the xfs support for syslinux is?  I
>> talked to Peter at Linuxcon and he thought it's merged, but looking at
>> the kernel.org tree I can't find the support.
>> Also when looking over your branches I noticed that you're using a free
>> sector in the first filesystem block to store the bootloader.  If we
>> want to go down that route we need to make sure to reserve this sector,
>> otherwise it might get taken up by newly added metadata.
> It's also worth pointing out that there's no guarantee that there's
> a free sector in the first filesystem block. It's only by luck that
> there's free sectors on the default config (512 byte sector, 4
> sector sized AG headers, 4k filesystem block). If we have <= 2k filesystem
> block there are no free "pad" sectors that can be used, 4k sectors
> mean no free sectors either, etc.
> Much better would be to create a sector sized file and use fiemap to
> get the disk address of the block and feed that into the
> bootloader. That works for all filesystems without needing to know
> anything about the underlying filesystem structures……

I'm curious how that would work.

The minimum bit of code for GRUB or extlinux is a lot bigger than 4KB. A basic 
self-generated GRUB configuration file is 5.6KB; for extlinux a basic one I 
have is 518 bytes. The minimum code needed to find the configuration file is 
~26KB for GRUB's core.img, and ~34KB for extlinux's ldlinux.sys.

So are both of you referring to the < 440 bytes of bootstrap code that goes in 
either the MBR or VBR, whose job is to find core.img or ldlinux.sys and blindly 
load them?

Chris Murphy
<Prev in Thread] Current Thread [Next in Thread>