https://github.com/returninfinity/baremetal-node
BareMetal Node
https://github.com/returninfinity/baremetal-node
Last synced: 3 months ago
JSON representation
BareMetal Node
- Host: GitHub
- URL: https://github.com/returninfinity/baremetal-node
- Owner: ReturnInfinity
- License: bsd-2-clause
- Created: 2017-07-26T02:20:08.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-03-18T16:36:09.000Z (almost 2 years ago)
- Last Synced: 2025-04-29T14:35:55.576Z (9 months ago)
- Language: Assembly
- Size: 121 KB
- Stars: 7
- Watchers: 6
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# BareMetal Node
This project uses the BareMetal kernel to allow you to create a network of "nodes" for distributed processing tasks.
## Getting Started
### Prerequisites
[NASM](http://www.nasm.us) (Assembly compiler) is required to build the loader and kernel, as well as the apps written in Assembly. [GCC](https://gcc.gnu.org/) (C compiler) is required for building the MCP, as well as the C applications. [Git](https://git-scm.com/) is used for pulling the software from GitHub.
In Debian this can be completed with the following command:
sudo apt install nasm gcc git
### Initial setup
git clone https://github.com/ReturnInfinity/BareMetal-Node.git
cd BareMetal-Node
./setup.sh
### Configuring a PXE boot environment
Notes on configuring a PXE book environment can be found [here](https://github.com/ReturnInfinity/BareMetal-Node/wiki/Configuring-a-PXE-boot-environment). Once this is complete run the following script to copy the binary to the tftpboot folder:
sudo ./install.sh
## Using BareMetal Node
### Running the Master Control Program
The [MCP](http://tron.wikia.com/wiki/Master_Control_Program) (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.
cd bin
sudo ./mcp INTERFACE
The MCP has several commands that can be run.
- discover
- dispatch
- execute
- exit
- list
- parameters
- reboot
- reset
- stop
## Todo list
- Rewrite Node Handler in C instead of Assembly (eventually in will need to encrypt/decrypt packets)
// EOF