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.
- Ubuntu 20.04
- Ubuntu 22.04
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
4. Download and Install Yocto Poky (Codename: Scarthgap)
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.
- Fork the Repository: Create your fork of the project on GitHub.
- Make Changes: Implement your changes or additions locally.
- Submit a Pull Request: Send your changes to the main repository.
- Code Review: Your pull request will be reviewed by project maintainers.
- GitHub Repository: Bare Metal Router Repository
- RouterShell GitHub: RouterShell Repository
- Yocto Project: Official Site
- Poky: Scarthgap Release
The Bare Metal Router OS project is licensed under the MIT License. See the LICENSE file for more details.