Updated HCL, Building and Porting Guide

This commit is contained in:
Steven Noble
2016-02-19 15:33:35 -08:00
parent 10e0c56935
commit a1abf8c36c
3 changed files with 138 additions and 27 deletions

View File

@@ -42,6 +42,7 @@ If you would like to build by hand you can do the following:
#> git clone https://github.com/opencomputeproject/OpenNetworkLinux #> git clone https://github.com/opencomputeproject/OpenNetworkLinux
#> cd OpenNetworkLinux #> cd OpenNetworkLinux
#> docker/tools/onlbuilder (-8) # enter the docker workspace #> docker/tools/onlbuilder (-8) # enter the docker workspace
#> apt-cacher-ng
#> source setup.env # pull in necessary environment variables #> source setup.env # pull in necessary environment variables
#> make amd64 ppc # make onl for $platform (currently amd64 or powerpc) #> make amd64 ppc # make onl for $platform (currently amd64 or powerpc)
@@ -127,3 +128,86 @@ This installer image can be served to ONIE on Quanta or Accton platforms:
#> ls *INSTALLER #> ls *INSTALLER
ONL-2.0.0_ONL-OS_2015-12-12.0252-ffce159_PPC_INSTALLER ONL-2.0.0_ONL-OS_2015-12-12.0252-ffce159_PPC_INSTALLER
#> #>
Example setup on new Debian 8.2 installation
------------------------------------------------------------
Install sudo and add yourself to the sudoers:
As root:
apt-get install sudo
vi /etc/sudoers.d/username
Add the line:
username ALL=(ALL:ALL) ALL
Add the docker key:
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
gpg: key 2C52609D: public key "Docker Release Tool (releasedocker) <docker@docker.com>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
Install necessary items, make, binfmt-support and apt-transport-https (for docker):
sudo apt-get install apt-transport-https make binfmt-support
Add the docker repository to your system:
sudo vi /etc/apt/sources.list.d/docker.list
Add the following line to the file:
deb https://apt.dockerproject.org/repo debian-jessie main
Install Docker:
sudo apt-get update
sudo apt-get install docker-engine
Test Docker:
sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b901d36b6f2f: Pull complete
0a6ba66e537a: Pull complete
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest
Hello from Docker.
This message shows that your installation appears to be working correctly.
Add yourself to the docker group:
sudo gpasswd -a snoble docker
Adding user snoble to group docker
logout and log back in for the group to take effect:
Clone the OpenNetworkLinux repository:
git clone https://github.com/opencomputeproject/OpenNetworkLinux.git
Cloning into 'OpenNetworkLinux'...
Checking connectivity... done.
Build OpenNetworkLinux:
#> cd OpenNetworkLinux/
#> make docker
#> Pulling opennetworklinux/builder7:1.0…
Or:
#> docker/tools/onlbuilder
#> source setup.env
#> apt-cacher-ng
#> make onl-x86 onl-ppc

View File

@@ -5,9 +5,10 @@ Open Network Linux has a number of internal APIs to simplify porting to
new hardware. new hardware.
To support a new switch/device, there are three large software components To support a new switch/device, there are three large software components
that need device-specific drivers: that need device-specific drivers (information only known by the manufacturer
of the switch/device):
1. The ONL/ONIE installer -- how to actually install and boot ONL using ONIE 1. The ONL/ONIE installer -- how to install and boot ONL using ONIE
2. The ONLP platform drivers -- how to manage hardware once ONL is running 2. The ONLP platform drivers -- how to manage hardware once ONL is running
3. Any packet forwarding device specific settings 3. Any packet forwarding device specific settings
(e.g., front panel port mappings, pre-emphesis settings) (e.g., front panel port mappings, pre-emphesis settings)
@@ -69,7 +70,7 @@ directory structure for the installer driver is as follows:
# specific ONL OS abstractions (see below) # specific ONL OS abstractions (see below)
./$platform/$release/src/lib/install/$platform.sh # Script called from installer.sh to partition ./$platform/$release/src/lib/install/$platform.sh # Script called from installer.sh to partition
# and install ONL and setup boot params (see below) # and install ONL and setup boot params (see below)
./$platform/src/python/$plaform/__init__.py # Platform specific python library (see below) ./$platform/src/python/$platform/__init__.py # Platform specific python library (see below)
ONL Installer src/boot drivers ONL Installer src/boot drivers
------------------------------ ------------------------------

View File

@@ -9,13 +9,12 @@ Quanta
<table class="table table-striped table-hover"> <table class="table table-striped table-hover">
<thead> <thead>
<tr class="info"> <tr class="info">
<th> Device <th> Ports <th> CPU <th> Forwarding <th> Support Status </tr> <th> Device <th> Ports <th> CPU <th> Forwarding <th> ONL Certified <th> In Lab <th> ORC <th> OF-DPA <th> OpenNSL <th> SAI </tr>
</thead> </thead>
<tr> <td> QuantaMesh T1048-LB9 <td> 48x1G + 4x10G <td> FreeScale P2020 <td> Broadcom BCM56534 (Firebolt3) <td> Supported and Tested </tr> <tr> <td> QuantaMesh T1048-LB9 <td> 48x1G + 4x10G <td> FreeScale P2020 <td> Broadcom BCM56534 (Firebolt3) <td> Yes <td> Yes <td> Yes <td> Yes <td> No <td> No </tr>
<tr> <td> QuantaMesh T1048-LB9A <td> 48x1G + 4x10G <td> FreeScale P2020 <td> Broadcom BCM56534 (Firebolt3) <td> Supported, no ONIE, not regularly tested </tr> <tr> <td> QuantaMesh T3048-LY2 <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56846 (Trident+) <td> Yes <td> Yes <td> Yes <td> Yes <td> No <td> No </tr>
<tr> <td> QuantaMesh T3048-LY2 <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56846 (Trident+) <td> Supported and Tested </tr> <tr> <td> QuantaMesh T3048-LY8 <td> 48x10G + 6x40G <td> Intel Rangely C2758 x86 <td> Broadcom BCM56854 (Trident2) <td> Yes* <td> No <td> No <td> No <td> No <td> No </tr>
<tr> <td> QuantaMesh T3048-LY8 <td> 48x10G + 6x40G <td> Intel Rangely C2758 x86 <td> Broadcom BCM56854 (Trident2) <td> Supported and run in the lab </tr> <tr> <td> QuantaMesh T5032-LY6 <td> 32x40G <td> Intel Rangely C2758 x86 <td> Broadcom BCM56850 (Trident2) <td> Yes* <td> No <td> No <td> No <td> No <td> No </tr>
<tr> <td> QuantaMesh T5032-LY6 <td> 32x40G <td> Intel Rangely C2758 x86 <td> Broadcom BCM56850 (Trident2) <td> Supported and run in the lab </tr>
</table> </table>
@@ -24,18 +23,20 @@ Accton/Edge-Core
<table class="table table-striped table-hover"> <table class="table table-striped table-hover">
<thead> <thead>
<tr class="info"> <tr class="info">
<th> Device <th> Ports <th> CPU <th> Forwarding <th> Support Status </tr> <th> Device <th> Ports <th> CPU <th> Forwarding <th> ONL Certified <th> In Lab <th> ORC <th> OF-DPA <th> OpenNSL <th> SAI </tr>
</thead> </thead>
<tr> <td> Accton AS4600-54T <td> 48x1G + 4x10G <td> FreeScale P2020 <td> Broadcom BCM56540 (Apollo2) <td> Supported and Tested </tr> <tr> <td> Accton AS4600-54T <td> 48x1G + 4x10G <td> FreeScale P2020 <td> Broadcom BCM56540 (Apollo2) <td> Yes <td> Yes <td> Yes <td> Yes <td> No <td> No </tr>
<tr> <td> Accton AS5600-52X <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56846 (Trident+) <td> Supported and Tested </tr> <tr> <td> Accton AS5600-52X <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56846 (Trident+) <td> Yes <td> Yes <td> Yes <td> Yes <td> No <td> No </tr>
<tr> <td> Accton AS5610-52X <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56846 (Trident+) <td> Supported and Tested </tr> <tr> <td> Accton AS5610-52X <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56846 (Trident+) <td> Yes <td> Yes <td> Yes <td> Yes <td> No <td> No </tr>
<tr> <td> Accton AS5710-54X <td> 48x10G + 6x40G <td> FreeScale P2041 <td> Broadcom BCM56854 (Trident2) <td> Supported and Tested </tr> <tr> <td> Accton AS5710-54X <td> 48x10G + 6x40G <td> FreeScale P2041 <td> Broadcom BCM56854 (Trident2) <td> Yes <td> Yes <td> Yes <td> Yes <td> No <td> No </tr>
<tr> <td> Accton AS6700-32X <td> 32x40G <td> FreeScale P2041 <td> Broadcom BCM56850 (Trident2) <td> Supported and Tested </tr> <tr> <td> Accton AS6700-32X <td> 32x40G <td> FreeScale P2041 <td> Broadcom BCM56850 (Trident2) <td> Yes <td> Yes <td> Yes <td> Yes <td> No <td> No </tr>
<tr> <td> Accton AS5712-54X <td> 48x10G + 6x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56854 (Trident2) <td> Supported and Tested </tr> <tr> <td> Accton AS5712-54X <td> 48x10G + 6x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56854 (Trident2) <td> Yes <td> Yes <td> Yes <td> No <td> No <td> No </tr>
<tr> <td> Accton AS6712-32X <td> 32x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56850 (Trident2) <td> Supported and Tested </tr> <tr> <td> Accton AS6712-32X <td> 32x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56850 (Trident2) <td> Yes <td> Yes <td> Yes <td> No <td> No <td> No </tr>
<tr> <td> Accton AS5812-54T <td> 48x10G + 6x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56864 (Trident2+) <td> Supported </tr> <tr> <td> Accton AS5812-54T <td> 48x10G + 6x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56864 (Trident2+) <td> Yes <td> Yes <td> No <td> No <td> No <td> No </tr>
<tr> <td> Accton AS5812-54X <td> 48x10G + 6x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56864 (Trident2+) <td> Supported </tr> <tr> <td> Accton AS5812-54X <td> 48x10G + 6x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56864 (Trident2+) <td> Yes <td> Yes <td> No <td> No <td> No <td> No </tr>
<tr> <td> Accton AS6812-32X <td> 32x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56864 (Trident2+) <td> Supported </tr> <tr> <td> Accton AS6812-32X <td> 32x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56864 (Trident2+) <td> Yes <td> Yes <td> No <td> No <td> No <td> No </tr>
<tr> <td> Accton AS7712-32X <td> 32x100G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56960 (Tomahawk) <td> Yes <td> Yes <td> Yes <td> No <td> No <td> No </tr>
<tr> <td> Accton Wedge-16X <td> 16x40G <td> Intel Rangely C2550 x86 <td> Broadcom BCM56864 (Trident2+) <td> Work In Progress** <td> Yes <td> No <td> No <td> Yes <td> No </tr>
</table> </table>
DNI/Agema DNI/Agema
@@ -43,9 +44,9 @@ DNI/Agema
<table class="table table-striped table-hover"> <table class="table table-striped table-hover">
<thead> <thead>
<tr class="info"> <tr class="info">
<th> Device <th> Ports <th> CPU <th> Forwarding <th> Support Status </tr> <th> Device <th> Ports <th> CPU <th> Forwarding <th> ONL Certified <th> In Lab <th> ORC <th> OF-DPA <th> OpenNSL <th> SAI </tr>
</thead> </thead>
<tr> <td> AG-7448CU <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56845 (Trident) <td> Supported and Tested </tr> <tr> <td> AG-7448CU <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56845 (Trident) <td> Yes <td> Yes <td> Yes <td> No <td> No <td> No </tr>
</table> </table>
Dell Dell
@@ -53,10 +54,35 @@ Dell
<table class="table table-striped table-hover"> <table class="table table-striped table-hover">
<thead> <thead>
<tr class="info"> <tr class="info">
<th> Device <th> Ports <th> CPU <th> Forwarding <th> Support Status </tr> <th> Device <th> Ports <th> CPU <th> Forwarding <th> ONL Certified <th> In Lab <th> ORC <th> OF-DPA <th> OpenNSL <th> SAI </tr>
</thead> </thead>
<tr> <td> S4810-ON <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56845 (Trident) <td> Supported and Tested </tr> <tr> <td> S4810-ON <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56845 (Trident) <td> Yes <td> Yes <td> Yes <td> No <td> No <td> No </tr>
<tr> <td> S4048-ON <td> 48x10G + 6x40G <td> Intel Atom C2338 <td> Broadcom BCM56854 (Trident2) <td> Supported and Tested </tr> <tr> <td> S4048-ON <td> 48x10G + 6x40G <td> Intel Atom C2338 <td> Broadcom BCM56854 (Trident2) <td> Yes <td> Yes <td> Yes <td> No <td> No <td> No </tr>
<tr> <td> S6000-ON <td> 32x40G <td> Intel Atom S1220 <td> Broadcom BCM56850 (Trident2) <td> Supported and Tested </tr> <tr> <td> S6000-ON <td> 32x40G <td> Intel Atom S1220 <td> Broadcom BCM56850 (Trident2) <td> Yes <td> Yes <td> Yes <td> No <td> No <td> No </tr>
<tr> <td> z9100-ON <td> 32x100G <td> Intel <td> Broadcom BCM56960 (Tomahawk) <td> Yes <td> Yes <td> No <td> No <td> No <td> No </tr>
</table> </table>
Interface Masters Technologies, Inc.
---
<table class="table table-striped table-hover">
<thead>
<tr class="info">
<th> Device <th> Ports <th> CPU <th> Forwarding <th> ONL Certified <th> In Lab <th> ORC <th> OF-DPA <th> OpenNSL <th> SAI </tr>
</thead>
<tr> <td> Niagara 2948X12XLm <td> 48x10G + 12x40G <td> Intel/AMD x86 <td> Broadcom BCM56850 (Trident2) <td> Work In Progress** <td> No <td> No <td> Yes*** <td> No <td> No </tr>
<tr> <td> Niagara 2960X6XLm <td> 60x10G + 6x40G <td> Intel/AMD x86 <td> Broadcom BCM56850 (Trident2) <td> Work In Progress** <td> No <td> No <td> Yes*** <td> No <td> No </tr>
<tr> <td> Niagara 2972Xm <td> 72x10G <td> Intel/AMD x86 <td> Broadcom BCM56850 (Trident2) <td> Work In Progress** <td> Yes <td> No <td> Yes*** <td> No <td> No </tr>
<tr> <td> Niagara 2932XL <td> 32x40G <td> Intel/AMD x86 <td> Broadcom BCM56850 (Trident2) <td> Work In Progress** <td> No <td> No <td> Yes*** <td> No <td> No </tr>
<tr> <td> Niagara 2948X6XL <td> 48x10G + 6x40G <td> Intel/AMD x86 <td> Broadcom BCM56850 (Trident2) <td> Work In Progress** <td> No <td> No <td> Yes*** <td> No <td> No </tr>
</table>
Notes:
---
ONL Certified means that the system runs ONIE, is able to install a generic version of ONL and has the ONL Platform drivers necessary to manage the system.
\* Systems no longer in the lab cannot be certified post removal
\** Developing ONL Platform Drivers
\*** Vendor provided