mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-11-03 03:38:18 +00:00
Updated HCL, Building and Porting Guide
This commit is contained in:
@@ -42,6 +42,7 @@ If you would like to build by hand you can do the following:
|
||||
#> git clone https://github.com/opencomputeproject/OpenNetworkLinux
|
||||
#> cd OpenNetworkLinux
|
||||
#> docker/tools/onlbuilder (-8) # enter the docker workspace
|
||||
#> apt-cacher-ng
|
||||
#> source setup.env # pull in necessary environment variables
|
||||
#> 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
|
||||
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
|
||||
|
||||
|
||||
@@ -5,9 +5,10 @@ Open Network Linux has a number of internal APIs to simplify porting to
|
||||
new hardware.
|
||||
|
||||
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
|
||||
3. Any packet forwarding device specific 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)
|
||||
./$platform/$release/src/lib/install/$platform.sh # Script called from installer.sh to partition
|
||||
# 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
|
||||
------------------------------
|
||||
|
||||
@@ -9,13 +9,12 @@ Quanta
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<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>
|
||||
<tr> <td> QuantaMesh T1048-LB9 <td> 48x1G + 4x10G <td> FreeScale P2020 <td> Broadcom BCM56534 (Firebolt3) <td> Supported and Tested </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> Supported and Tested </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> Supported and run in the lab </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 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-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 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>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -24,18 +23,20 @@ Accton/Edge-Core
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<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>
|
||||
<tr> <td> Accton AS4600-54T <td> 48x1G + 4x10G <td> FreeScale P2020 <td> Broadcom BCM56540 (Apollo2) <td> Supported and Tested </tr>
|
||||
<tr> <td> Accton AS5600-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> Supported and Tested </tr>
|
||||
<tr> <td> Accton AS5710-54X <td> 48x10G + 6x40G <td> FreeScale P2041 <td> Broadcom BCM56854 (Trident2) <td> Supported and Tested </tr>
|
||||
<tr> <td> Accton AS6700-32X <td> 32x40G <td> FreeScale P2041 <td> Broadcom BCM56850 (Trident2) <td> Supported and Tested </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 AS6712-32X <td> 32x40G <td> Intel Rangely C2538 x86 <td> Broadcom BCM56850 (Trident2) <td> Supported and Tested </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-54X <td> 48x10G + 6x40G <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> Supported </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> 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> 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> 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> 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> 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> 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> 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> 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> 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>
|
||||
|
||||
DNI/Agema
|
||||
@@ -43,9 +44,9 @@ DNI/Agema
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
Dell
|
||||
@@ -53,10 +54,35 @@ Dell
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<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>
|
||||
<tr> <td> S4810-ON <td> 48x10G + 4x40G <td> FreeScale P2020 <td> Broadcom BCM56845 (Trident) <td> Supported and Tested </tr>
|
||||
<tr> <td> S4048-ON <td> 48x10G + 6x40G <td> Intel Atom C2338 <td> Broadcom BCM56854 (Trident2) <td> Supported and Tested </tr>
|
||||
<tr> <td> S6000-ON <td> 32x40G <td> Intel Atom S1220 <td> Broadcom BCM56850 (Trident2) <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> 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> 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>
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user