====== Booting over network using PXE ======
It is possible to boot MINIX 3 over the network. This makes use of the [[https://en.wikipedia.org/wiki/Preboot_Execution_Environment|PXE protocol]] supported in some network cards. The network card loads its boot files over network and boot the PC from these files.
PXE booting involves two machines :
* The **server**, which has a DHCP and TFTP server ;
* The **client**, which is set to boot over PXE.
This document will explain how to populate the TFTP root directory for booting MINIX 3.
** Setting up a PXE server**
Setting up a DHCP/TFTP server is outside the scope of this document. Check your operating system's documentation to learn how to set up a PXE server.
===== MINIX 3 files =====
The boot-to-ramdisk image is suitable for booting over PXE. [[developersguide:crosscompiling|To generate the image]], run ''releasetools/x86_ramimage.sh''. The kernel and modules will be placed into ''../obj.i386/work'', move them to the TFTP root directory.
===== Bootloader =====
As with a hard drive installation, a boot loader is required to bootstrap the system.
==== PXELINUX ====
//Main documentation : [[http://www.syslinux.org/wiki/index.php?title=PXELINUX]]//
Download the latest release of SYSLINUX at [[https://www.kernel.org/pub/linux/utils/boot/syslinux/]]. Extract the following files and put them in the TFTP root directory :
* ''bios/com32/elflink/ldlinux/ldlinux.c32''
* ''bios/com32/lib/libcom32.c32''
* ''bios/com32/libutil/libutil.c32''
* ''bios/com32/mboot/mboot.c32''
* ''bios/com32/menu/menu.c32''
* ''bios/core/pxelinux.0''
Create a directory named ''pxelinux.cfg/'' in the TFTP root directory. Inside it, create a file named ''default'' with the following contents :
DEFAULT menu.c32
TIMEOUT 100
LABEL x86
MENU LABEL MINIX 3
KERNEL mboot.c32
APPEND kernel bootramdisk=1 --- mod01_ds --- mod02_rs --- mod03_pm --- mod04_sched --- mod05_vfs --- mod06_memory --- mod07_tty --- mod08_mib --- mod09_vm --- mod10_pfs --- mod11_mfs --- mod12_init
====== Booting directly with QEMU ======
You can test the TFTP root directory with QEMU without setting up a DHCP/TFTP server first. To boot with QEMU, ''cd'' to the TFTP root directory and use the following command :
qemu-system-i386 --enable-kvm -m 1G -tftp . -bootp pxelinux.0 -boot n