This is a reworks of my previous RFC but with changes proposed by Thomas (plus other changes). Boot as: * (isolinux) cdrom and cdrom-hibrid-disk: OK * (pxelinux) TFTP and HTTP: OK * (extlinux) /arch and /pepe: OK * (syslinux) /arch and /coco: OK, but see note (@) (@) Due bug in mmove (from mtools), ldlinux.sys install fails: (install also fails with real devices like /dev/sdX, unrelated to loop) # syslinux -i -d /mnt/loop/arch/boot/syslinux /dev/loop1p1 s:/mnt/loop/arch/boot/syslinux/ldlinux.sys: no match for target syslinux: warning: unable to move ldlinux.sys * Workaround (always want to read syslinux.cfg on /syslinux even if moving ld-linux.sys to /arch/boot/syslinux) # mkdir /mnt/loop/syslinux # mv /mnt/loop/ldlinux.sys /mnt/loop/syslinux # cp /mnt/loop/isolinux/isolinux.cfg /mnt/loop/syslinux/syslinux.cfg * Mount ISO # mount -o ro /tmp/out/archlinux-2011.11.25-netinstall-i686.iso /mnt/iso * DHCP/HTTP method # dnsmasq --port=0 \ --dhcp-range=192.168.0.2,192.168.0.254,8640 \ --dhcp-boot=boot/syslinux/gpxelinux.0,192.168.0.77 \ --dhcp-option-force=209,boot/syslinux/archiso.cfg \ --dhcp-option-force=210,http://192.168.0.77/arch/ * DHCP/TFTP method # dnsmasq --port=0 \ --enable-tftp \ --tftp-root=/mnt/iso \ --dhcp-range=192.168.0.2,192.168.0.254,8640 \ --dhcp-boot=/arch/boot/syslinux/gpxelinux.0,192.168.0.77 \ --dhcp-option-force=209,boot/syslinux/archiso.cfg \ --dhcp-option-force=210,/arch/ * HTTP server # darkhttpd /mnt/isolinux