BareMetal Node
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

BareMetal Node

Insert summary here

Getting Started


NASM (Assembly compiler) is required to build the loader and kernel, as well as the apps written in Assembly. GCC (C compiler) is required for building the MCP, as well as the C applications. Git is used for pulling the software from GitHub.

In Ubuntu this can be completed with the following command:

sudo apt-get install nasm gcc git

Initial setup

git clone
cd BareMetal-Node

Configuring a PXE boot environment

Notes on configuring a PXE book environment can be found here. Once this is complete run the following script to copy the binary to the tftpboot folder:

sudo ./

Using BareMetal Node

Running the Master Control Program

The MCP (Master Control Program) is responsible for working with the nodes. Elevated access is required for sending/receiving Ethernet packets. Provide the interface name as an argument.

sudo ./mcp INTERFACE

The MCP has several commands that can be run.

  • discover
  • dispatch
  • execute
  • exit

Todo list

  • Rewrite Node Handler in C instead of Assembly (eventually in will need to encrypt/decrypt packets)

// EOF