Boot anything, anywhere, anytime
There are several ways to boot into netboot.me, depending on your needs. Click on a heading for specific instructions.
Download and save netbootme.iso, then burn it to CD using your usual CD burning program. In linux, you can use cdrecord, OSX users can use the built-in Disk Utility, and windows users can use tools such as Nero Burning Rom.
Once you have burned netbootme.iso to a CD, make sure your target computer is set up to boot from CD, insert the CD in the drive, and reboot it.
You can also boot from USB. To do so, download and save netbootme.usb, then follow the OS specific instructions below.
Insert the USB key, and establish which device Linux has assigned to the
USB key. Then, enter the following command:
dd if=netbootme.usb of=/dev/sdX
where /dev/sdX is the device assigned to your USB key. Make sure
you enter the right device name - this will erase anything on the device
you choose!
Insert the USB key, and run mount to see what device OSX has
assigned to your USB key. You should see something like this:
/dev/disk0s2 on / (hfs, local, journaled)
The last line is your USB device. Unmount it and write the netboot.me image
to it with:
devfs on /dev (devfs, local)
fdesc on /dev (fdesc, union)
/dev/disk3s1 on /Volumes/UNTITLED (msdos, local, nodev, nosuid, noowners)sudo umount -f /dev/disk3s1
If successful, OSX will pop up an error dialog telling you it doesn't
recognize the disk. Click 'Eject', remove the USB key, and you're done.
dd if=netbootme.usb of=/dev/disk3

If you have a computer that still has a floppy drive, it's possible to boot from that, too. Download and save netbootme.dsk, then follow the same steps as described above for writing the USB disk image.
Most computers are capable of netbooting when configured correclty, without the requirement of a boot disk of any sort. This can be used to bootstrap from 'regular' netbooting to the HTTP-based approach used by netboot.me. There are two major steps required to configure netbooting:
In order for your computer to know where to find the netboot servers,
you need to change your DHCP settings to return some extra information. The
two relevant pieces of information: next-server, which should be
"tftp.netboot.me", and "filename", which should be "netbootme.kpxe". How to
set these settings depends on your DHCP server. For dhcpd, simply add the
following to the relevant 'subnet' section of your configuration:
next-server "tftp.netboot.me"
For dnsmasq, the following line in /etc/dnsmasq.conf will achieve the same
effect:
filename "netbootme.kpxe"dhcp-boot=netbootme.kpxe,tftp.netboot.me
How to configure your computer to netboot varies from computer to computer. Many computers will automatically try to netboot if they don't find any bootable devices. Check your BIOS settings to see if there's a way to explicitly enable network booting, and to set its priority relative to other boot devices. Some bioses also provide the option to netboot if you press a function key while booting - watch your boot screen carefully.
The method described above relies on bootstrapping from your computer's built in PXE (netboot) support by sending a copy of a more sophisticated bootloader (gPXE) over TFTP, the Trivial File Transfer Protocol. Unfortunately, TFTP isn't the most reliable protocol across the internet, and it doesn't always work if the computer you're booting is behind NAT, either.
If you've completed the steps above and your computer can't download the image, you may be running into such problems. Not to worry, though, there's a simple alternative: you can host the bootstrap image yourself. See the section below for instructions.
The option described above for netbooting is simple, but doesn't work for everyone due to the issues inherent in using TFTP across the internet. You can host your own copy of the bootstrap image, however, which will allow you to use netboot.me without boot disks.
If you're using dnsmasq, doing this is really easy. Download
netbootme.kxpe
and save it to the machine running dnsmasq, under /var/lib/tftp. Then, add
the following lines to /etc/dnsmasq.conf:
enable-tftp
tftp-root=/var/lib/tftp
dhcp-boot=netbootme.kpxe
If you're using DHCPd, you'll need to set up your own TFTP server - tftpd-hal is a good choice. Once you've set it up, add the location of your TFTP server to the DHCPd configuration file, as shown above.