mgarcia01752 / 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.
MIT License
0 stars 1 forks source link
openembedded python python3 router routershell yocto

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

Supported Build OS

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

4. Download and Install Yocto Poky (Codename: Scarthgap)

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

./install-yocto-poky.sh

5. Building Bare Metal Router OS

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

sudo ./build-bmros.sh

6. Run Bare Metal Router OS

Verify the functionality of the BMROS image using QEMU:

sudo ./run-bmros.sh

7. Create Boot Media

Prepare bootable media for BMROS:

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

8. Customize Via MenuConfig

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.