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.
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.
To install Git, execute the following command:
sudo apt install -y git
To clone the BMROS repository, run the following command:
git clone https://github.com/mgarcia01752/BareMetalRouterOS.git
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 ]
Detailed instructions and information are available in the docs directory.
Installation Guide: Step-by-step instructions for setting up BMROS.
Configuration: Configuring BMROS using the RouterShell CLI.
Customization: Customizing BMROS through the Yocto Project.
Contributions to BMROS are welcome! Whether it's bug fixes, new features, or improvements to documentation, your contributions are valuable.
The Bare Metal Router OS project is licensed under the MIT License. See the LICENSE file for more details.