/BareMetalRouterOS

BareMetalRouterOS (BMROS) is a pure Linux router designed for x86-64 architecture built in YOCTO, offering a robust networking solution. Utilizing the power of the Yocto Project and the RouterShell CLI, BMR provides a customizable and efficient routing platform.

Primary LanguageShellMIT LicenseMIT

BareMetalRouterOS (WORK IN PROGRESS)

The Bare Metal Router OS (BMROS) is a pure Linux router designed for x86-64 architecture, offering a robust networking solution. Utilizing the power of the Yocto Project and the RouterShell command-line interface (CLI), BMROS provides a customizable and efficient routing platform.

Features

  • Linux Router: BMROS is optimized for x86 architecture, harnessing Linux's reliability and flexibility for networking tasks.

  • RouterShell CLI: An interactive command-line interface inspired by IOS, RouterShell provides an intuitive and familiar configuration experience for network administrators.

  • Customizable: Leveraging the Yocto Project, users can customize BMROS extensively to meet specific networking requirements.

Supported Build OS

  • Ubuntu 20.04
  • Ubuntu 22.04

Getting Started

1. Install Git

To install Git, execute the following command:

sudo apt install -y git

2. Clone BMROS Repository

To clone the BMROS repository, run the following command:

git clone https://github.com/mgarcia01752/BareMetalRouterOS.git

3. Setup Yocto Build Environment

Before building BMROS, ensure you have the Ubuntu Yocto build environment set up:

./setup-yocto-env.sh

To download and install Yocto Poky (Scarthgap) for BMROS:

./install-yocto-poky.sh

Use the build script to create the initial Production BMROS image:

sudo ./build-bmros.sh

Verify the functionality of the BMROS image using QEMU:

sudo ./run-bmros.sh

Prepare bootable media for BMROS:

./create-bmros-media.sh -d /dev/[ sdX | mmcblkX ]

After installing BMROS to your target device, you may need to configure the kernel, busybox, or u-boot.

./menuconfig.sh [--kernel | --busybox | --u-boot ]

Documentation

Detailed instructions and information are available in the docs directory.

Contents:

Contributing

Contributions to BMROS are welcome! Whether it's bug fixes, new features, or improvements to documentation, your contributions are valuable.

How to Contribute

  1. Fork the Repository: Create your fork of the project on GitHub.
  2. Make Changes: Implement your changes or additions locally.
  3. Submit a Pull Request: Send your changes to the main repository.
  4. Code Review: Your pull request will be reviewed by project maintainers.

Resources

License

The Bare Metal Router OS project is licensed under the MIT License. See the LICENSE file for more details.