[buildiso] support pxe booting
Created by: Kirek
From https://forum.manjaro.org/index.php?topic=22137.0 by patpat
Hi guys, this post try to explain why Manjaro cannot be net booted from a PXE server. Hopefully Manjaro developers will make the small necessary changes and soon we'll get PXE bootable Manjaro ISOs.
Manjaro (i.e. a 64 bit flavor) initially boots a small Linux executive made of kernel: /manjaro/boot/x86_64/manjaroiso initrd: /manjaro/boot/x86_64/manjaro.img In a regular boot the executive initializes everything and mounts from the CD the squashed file system /manjaro/x86_64/*.sqf next the initial executive "chroots" to the newly mounted filesystem and "voila"
In a net boot scenario (PXE) the initial executive cannot directly mount the squashed files without net retrieving them first. Then it is clear for PXE boot the initial executive must include net support (net drivers) and a few net utilities like ipconfig and wget or curl. Fortunately including this functionality adds only ~5 MB to /manjaro/boot/x86_64/manjaro.img
Comparatively Arch Linux does include net support in its /arch/boot/x86_64/archiso.img and it can be PXE booted as shown here: http://vercot.com/~serva/an/NonWindowsPXE3.html#linux
Unfortunately Manjaro has removed the net drivers/support from its /manjaro/boot/x86_64/manjaro.img
Steps for making Manjaro's ISO PXE bootable
Create a /manjaro/boot/x86_64/manjaro.img with net drivers/support
Add curl/wget (wget is already there)
Recompile ipconig applying the patch described here:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756633
https://bugs.launchpad.net/ubuntu/+source/klibc/+bug/1327412
Put back the hooks miso_pxe_common/miso_pxe_http
to /manjaro/boot/x86_64/manjaro.img (see how Arch does it)
I'm one of Serva developers I have good experience making Linux distributions PXE compatible. Let me know if you guys need help fixing this issue. Best, Patrick