You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

This is a new category of article that falls under "RARE software architecture" special blog series. As its name implies, it deals with topics related to Operating System is certified RARE/freeRouter software can runs.

Requirement

  • Basic Linux/Unix knowledge
  • Service provider networking knowledge

Overview

"Mion is coming ..." alongside "Winter" as a famous TV show would say. (smile). Mion is an interesting Operating System meant to run on network appliance. It is built on top of Yocto project and inherently share its root with Linux Open Embedded system. In order to learn more about the Operating system I invite you to read Mion project page.

Why consider such an OS you would say ? It actually boils down to:

  1. having a minimalistic Operating system with the smallest software footprint.
  2. predictable Operating System with the minimum software requirement
  3. A supported Operating System powered by a regular release cycle


Note

While trying to reach a minimalistic image in order to run the RARE software, for now we only managed to have a 5Gb image. We are confident that we can still slimmed down the image but times is running against us. (smile)_

Tip

Mion will support multiple network equipments ranging from APS bf2556x-1t, bf6064x, wedge100bf32x and wedge100bf65x and many more (Delta, asgvolt64 etc.)

Article objective

In this article, we will present :

  • how to build Mion from scratch
  • how to install it on our favorites P4 switches (bf2556x-1t and wedge-100bf-32x)

[ #001 ] - Cookbook

Mion docs has an excellent getting started page. In this section we will emphasize how easy it is to build Mion. First, make sure you have a machine compliant to the "Build host" requirements. Install a pristine Debian 10 and you should be go to go ...

Install Yocto software requirement (5 minutes depending on your Internet connection)
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
     build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
     xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa \
     libsdl1.2-dev pylint3 xterm
Get Mion softwares (1 minute)
git clone --recursive git@github.com:NetworkGradeLinux/mion.git
cd mion
# To obtain related mion layers:
git clone git@github.com:NetworkGradeLinux/meta-mion.git
# Obtain the mion hardware layer
git clone git@github.com:NetworkGradeLinux/meta-mion-bsp.git


Note

The above steps require you have a GitHub account and uploaded public key to your account. You'll also have to activate ssh-agent as the build script will fetch software from Git using SSH transport.

Source Yocto Build environment variables (5 seconds)
source openembedded-core/oe-init-build-env
Launch APS bf2556x-1t ONIE build (can be very long if you have a small build host ... It is time to do something else ...)
    time ../mc_build.sh -m stordis-bf2556x-1t -h host-onie:mion-onie-image-onlpv1 

Tip

Even if the build process can be long depending on your build host, build duration can reach 30 minutes with a 32 cores machines. Subsequent builds will take significantly less time as a cache mechanism will avoid to to redo the whole build process.

Believe me, you are done !

Just wait the end of the build process and grab the freshly baked image.

  • Boot bf2556x-1t via ONIE rescue session
  • put you Mion image at the root of a web server 


Kickstart Mion ONIE installation (5 minutes)
onie-nos-install http://<your_web_server>/onie-installer-x86_64-stordis_bf2556x_1t.bin

Tip

And in just 5 minutes you have installed a minimalistic OS on your bf2556x-1. In this post we will stop here. However, in order to finalise the installation you'll to install INTEL P4 Software Development Environment as of course you'll want to run your P4 program on the bf2556x-1t. We will cover this subsequent installation in a subsequent post.


Conclusion

In this short article we saw:

  • how to build Mion 
  • how to install Mion (process is the same on every ONIE based system)


Final words

Mion build is quite straightforward. As it share its root from Yocto, adding specificities related to your project is easy. Most probably a Bitbake recipe already exist and you'll just have to add a reference to the layer of your interest in Bitbake config file. First time build can be long and tedious if you have a small build host machine but subsequent build will be faster thanks to the sstate cache mechanism. 

Last but not least, we covered only the base OS installation, now that you have a minimal OS required to manage your machine, you need to add specific drivers and software needed to run P4 programs on APS or WEDGE platform.






  • No labels