====== 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