====== Introduction ======
It is possible to boot the minix 3 usb image over network using pxelinux and memdisk. This makes use of the PXE protocol supported in some network cards. The network card loads its boot files over network and boot the PC from these files.
====== Setup ======
===== Host system =====
As a host, use for example Ubuntu 10.04.1. And install the following packages:
* dhcp3-server
* tftpd-hpa
* syslinux
===== DHCP server =====
Setup the network interface of the host to a static IP. For example:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
It is important that eth0 has an IP in the dhcpd IP subnet, otherwise the dhcpd does not work.
Edit the configuration file of the DHCP server **/etc/dhcp3/dhcpd.conf**:
...
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.20;
filename "pxelinux.0";
}
...
===== TFTP =====
Now copy the following files to **/var/lib/tftpboot** (the dir tftpd reads its files from):
* /usr/lib/syslinux/memdisk (memdisk can emulate a disk drive from an image using bios int 13h)
* /usr/lib/syslinux/pxelinux.0 (the first file)
* /usr/lib/syslinux/menu.c32 (for the menu)
* the minix 3 usb image from the [[http://www.minix3.org/download|download page]], call it mnxusb.img
Now create the directory /var/lib/tftpboot/pxelinux.cfg and create the file **/var/lib/tftpboot/pxelinux.cfg/default**:
default menu.c32
timeout 100
label X
menu label Minix3
kernel memdisk
append initrd=mnxusb.img
====== Boot ======
Now start another machine with network card. On this machine choose LAN boot or PXE boot as boot option. If everything goes well, the menu should popup. Press enter, and the USB image is transferred via network (this can take a while (~40 s), the image is over 100MB :P). When this is done, the system is loading boot sector and minix 3 is started from a ramdrive.
====== Troubleshooting ======
====== VirtualBox ======
This method has been reported **not to work** on VirtualBox version 3.2.8 and 3.1.4.
====== ArchLinux ======
To allow incoming tftp connections, extend **/etc/hosts.allow**
...
tftpd: ALL
in.tftpd: ALL
...
===== DHCPD =====
If your DHCP does not work, make sure the network address of your network card is in the subnet specified in the dhcpd configuration.