Am 24.11.2011 08:26, schrieb Gerardo Exequiel Pozzi:
On 11/23/2011 09:30 PM, Gerardo Exequiel Pozzi 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
On 11/23/2011 07:52 PM, Thomas Bächler wrote: 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,192.168.0.77 --dhcp-range=192.168.0.2,192.168.0.254,8640 --dhcp-option-force=209,/arch/boot/syslinux/syslinux.cfg --dhcp-option-force=210,http://192.168.0.77
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.