Table of Contents

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:

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):

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.