Debian image files generator with test and simulation tools for PXE Booting environments.
_______________________________________________
| Host |
| vnc://localhost:5950 |
| hiface |
| \ |
| \___________________________________ |
| |\ VM | |
| | \ | |
| | giface | |
| | _____________ _____________ | |
| | | DHCP Server | | tftp Server | | |
| | | 10.0.0.0/24 | | (Docker) | | |
| | |_____________| |_____________| | |
| | \ / | |
| | \/ | |
| | tap0 (10.0.0.1) | |
| | ______________|____________ | |
| | | Qemu (pxe-rtl8139.rom) | | |
| | | vnc:5950 (giface) | | |
| | |___________________________| | |
| |___________________________________| |
|_______________________________________________|
-
Host OS: Machine running this project. -
VM: Vagrant Virtual Machine -
hiface: default host virtual interface (the actual name varies on different Host OSs) -
giface: Vagrant's VM default interface (the actual name varies on different Guest OSs)
The 5950 port is forwarded to the Host machine, so that you can attach to the Qemu display by connecting to vnc://localhost:5950.
This environment simulates a PXE server and a network booting i586 computer booting the generated boot images.
-
The boot images need to be generated and present on the
tftpdirectory. If not, to generate those:make build. This Starts a Docker machine to build a customizedDebian Liveimages that are built following the script inscripts/build.sh. -
The
defaultfile must be present intftp/pxelinux.cfg/defaultand set up for those boot images. -
make start, starts a Vagrant machine, provisioned byvagrant/provisioning.sh, and described on the previous topic. This machine contains adhcp server, atftp serverdocker image containing all the neededsyslinux(pxelinux) boot files, aqemunetwork booting machine as asystemdunit and network configurations.
- make
- Docker
- Vagrant and a VM Hypervisor (Virtualbox, Parallels, VMWare)
Build the squashfs root (filesystem.squashfs), linux image (vmlinuz) and initramfs (initrd.img):
make build
Starting the Vagrant machine to test the boot images with qemu:
make start
Now connect to vnc://localhost:5950 with a vnc client.
To Stop the Vagrant machine:
make stop
To Destroy the Vagrant machine:
make destroy