[arch-releng] [PATCH 2/3] [archiso] Add archiso_pxe_curl hook

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

Am 24.11.2011 08:26, schrieb Gerardo Exequiel Pozzi:
> On 11/23/2011 09:30 PM, Gerardo Exequiel Pozzi wrote:
>> On 11/23/2011 07:52 PM, Thomas Bächler wrote:
>>> Am 23.11.2011 23:36, schrieb Gerardo Exequiel Pozzi:
>> I tried with change the tftp-prefix with dhcp-option 210
>> (pxelinux.pathprefix) "dnsmasq --dhcp-option-force=210,/" then having
>> this scheme (by default will take syslinux/ as prefix, the directory
>> where pxelinux.0 is found)

If you change option 210 to the /arch folder and set the filename to
"boot/syslinux/pxelinux.0", everything should work fine. You also need
to set option 209 to "boot/syslinux/syslinux.cfg".

Then, you should be able to access everything under /arch via paths
relative to /arch.

>> Another alternative directory scheme is
>> /arch/boot/{i686,x86_64}/{vmlinuz,archiso.img,...}
>> /arch/boot/syslinux/*.{cfg,c32,...}
>> /arch/boot/pxelinux.cfg/default <- this is a copy of syslinux.cfg (not
>> a "loadconfig" hack) So in the case of dual-iso, we need *.cfg files
>> here.
>> /arch/boot/{g,p}xelinux.0

We can do the same with the old scheme, when we do as I outlined above.

> What do you think about keep scheme like now but...
> * Set the dhcp to send that pxeconfig is syslinux/syslinux.cfg (same
> path for all *.cfg)

"boot/syslinux/syslinux.cfg" (as outlined above)

> * Convert all relative path in syslinux.cfg to absolute paths

This will give problems with isolinux and syslinux, because / is the
root of the file system, not /arch. I'm a bit confused.

Paths relative to /arch would work, except when you put it on USB and
put ldlinux.sys into /arch/boot/syslinux, all paths will be considered
relative to that, not to /arch. This is indeed a problem.

It would be better if all paths were interpreted relative to the config
file, rather than the PXE prefix / current directory.

> * Enable IPAPPEND even for non-pxelinux (you only see a non-harm warning
> mesage if you look quickly at screen (I can not see now, maybe newer
> syslinux versions...)). In this way avoid two same files that differs on
> in this directive.
> (anyway we can have a nice menu for differents boot options)

Well, okay.

> In that way we have unified the same directory scheme / config files for
> all syslinux bootloaders.
> # mount -o ro /tmp/out/archlinux-2011.11.24-netinstall-i686.iso /mnt/iso
> # dnsmasq --port=0 --enable-tftp --tftp-root=/mnt/iso
> --dhcp-boot=/arch/boot/syslinux/gpxelinux.0,
> --dhcp-range=,,8640
> --dhcp-option-force=209,/arch/boot/syslinux/syslinux.cfg
> --dhcp-option-force=210,

I don't like that: I want the possibility to copy /arch from any ISO to
an arbitrary path on a USB drive, install syslinux, and make it boot. If
you have absolute paths, this will force people to use the /arch folder
everywhere. That's why absolute paths are evil.

-------------- 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/d4c688ff/attachment.asc>

More information about the arch-releng mailing list