[arch-releng] [PATCH] [configs/releng] Make kernel and initramfs patch relative for syslinux

Thomas Bächler thomas at archlinux.org
Fri Nov 25 04:22:33 EST 2011


Am 24.11.2011 23:32, schrieb Gerardo Exequiel Pozzi:
> On 11/24/2011 01:20 PM, Thomas Bächler wrote:
>> Holy shit! This needs to be fixed, otherwise we cannot unify the
>> configuration files without ugliness. See my previous mail about ".." in
>> TFTP paths.
>>
> Yes I read it. So as you can see we have these choices we want to unify
> dir struct for all bootloaders: (in resume)
> 
> 1) Change directory scheme, put kernel/initramfs inside syslinux/%ARCH%,
> keep _all_ files references *relative* (also we can change current
> absolute paths to make it relative)

My problem here is: I like to keep bootloader and archiso files
separate. There were several occasions when I wanted to just take the
archiso files and didn't need the bootloader files. I don't like mixing
them.

> 2) Keep directory scheme as now, but change _all_ files references to
> make it *absolute*. Plus adding a pxelinux.cfg with "loadconfig".

I don't like it either, absolute paths will complicate things.

> 3) Wait some time for feature ".." in pxelinux/isolinux.

I would love that. I'll send a mail to the syslinux mailing list later,
inquiring about this possibility.

> I think we can use (2) until we get (3).

I disagree. If we use (2), I will have to edit config files in some use
cases, too. To summarize:

1) With isolinux (and hybrid), we can access everything, but only via
absolute paths, or below the "current directory". If we want relative
paths, we need a prefix at / or /arch.

2) With pxelinux, we can only access files below the prefix, no matter
if relative or absolute.

3) With syslinux, we can access everything. However, the prefix will
always equal the directory where ldlinux.sys and syslinux.cfg are.

My new suggestion - keep the old directory scheme, use only relative
paths with /arch as prefix:

1) isolinux - loadconfig trick in /isolinux/isolinux.cfg, set prefix to
/arch/, config to /arch/boot/syslinux/archiso.cfg
2) pxelinux - set (via DHCP options) prefix to /arch/ and config to
boot/syslinux/archiso.cfg
3) syslinux - have a loadconfig trick in
/arch/boot/syslinux/syslinux.cfg - there, set the prefix to /arch/ and
the config to /arch/boot/syslinux/archiso.cfg (same as for isolinux)

If I didn't miss things, this should work. We can now have all paths
relative to /arch, we don't need .. and we can remaster easily with all
bootloaders. Thoughts?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 900 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.archlinux.org/pipermail/arch-releng/attachments/20111125/5698df80/attachment.asc>


More information about the arch-releng mailing list