[arch-releng] [RFC] [PATCH] [configs/releng] Converts relative to absolute paths inside syslinux*.cfg

Thomas Bächler thomas at archlinux.org
Thu Nov 24 09:38:00 EST 2011


Am 24.11.2011 15:24, schrieb Gerardo Exequiel Pozzi:
> On 11/24/2011 06:55 AM, Thomas Bächler wrote:
>> As mentioned in the other email, this will force everyone to use /arch/
>> as the archiso folder. When putting this on USB, you might want to use a
>> different path - this would force you to edit tons of config files.
> When "repacking" yes, not when build since this is controlled by
> %INSTALL_DIR%.

I am interested in repackaging, and it should be as smooth as possible.

> We are actually doing this for kernel and initramfs.

Which is bad (see your latest patch though).

>> I am more and more convinced we should do this for PXE
>>
>> 1) Use a separate configuration for pxelinux, specify /arch as option
>> 210 and "boot/syslinux/pxelinux.cfg" as 209.
>> 2) Use a loadconfig trick, including a chdir (as for isolinux) to switch
>> directory. I guess ".." in addresses works the same as with syslinux
>> then.
> 
> OK, but as prefix we can have /

I like /arch as prefix. Then we have a self-contained /arch folder which
can be moved anywhere and renamed at the user's will. The only thing
that needs to remain intact is the tree structure INSIDE /arch.

> This is what I done now:
> 
> * All paths in *.cfg like now I just changed absolute path thats
> reference kernel and initramfs to relative ../%ARCH%/vmlinuz
> * enabled IPAPPEND 3 (I can not see the warning message)
> 
> put a file
> %INSTALL_DIR%/boot/syslinux/pxelinux.cfg with the same contents as doing
> in /isolinux/isolinux.cfg
> 
> # dnsmasq --port=0 --enable-tftp --tftp-root=/tmp/pxeboot
> --dhcp-boot=/arch/boot/syslinux/gpxelinux.0,192.168.0.77
> --dhcp-range=192.168.0.2,192.168.0.254,8640
> --dhcp-option-force=210,http://192.168.0.77
> --dhcp-option-force=209,/arch/boot/syslinux/pxelinux.cfg
> # darkhttpd /tmp/pxeboot

I like this much more than your proposed approach with absolute paths.
But as mentioned, I would run
--dhcp-option-force=210,http://192.168.0.77/arch/
--dhcp-option-force=209,boot/syslinux/pxelinux.cfg

The chdir/config trick in isolinux.cfg/pxelinux.cfg is a bit ugly, but
it allows to use relative paths everywhere, which is a win for me.

>> Absolute paths are very ugly. Uglier than a stupid loadconfig trick.
>> Even uglier than providing two completely different sets of config files
>> (one for PXE, one for the rest).
> haha, yes they are really ugly.

:)

>>
>> On another note: Don't you have to modify the config files for PXE
>> anyway? You need to add the nbd/curl/nfs options to the command line,
>> right?
>>
> Yes for curl and nfs, since nbd is the default when ip= is present and
> nothing more.

Okay. If we could solve that - that would be even greater.


However, for the "boot.archlinux.org" service which I drafted in another
mail, I was going to use the ISO without the syslinux files anyway: I am
planning to make a script that generates syslinux menus to select
several versions of the releng ISO, as well as official ISOs with mirror
selection. That would require the syslinux files to be separate from the
extracted .iso anyway.

-------------- 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/20111124/25db1945/attachment.asc>


More information about the arch-releng mailing list