On 11/24/2011 06:55 AM, Thomas Bächler wrote:
Am 24.11.2011 08:24, schrieb Gerardo Exequiel Pozzi:
* In this way we have unified directory scheme between pxelinux and {sys,ext,iso}linux * Also enable IPAPPEND (will show a non-harm warning message under non-pxelinux bootloaders
Signed-off-by: Gerardo Exequiel Pozzi<vmlinuz386@yahoo.com.ar> 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%. We are actually doing this for kernel and initramfs.
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 / 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
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. -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1