mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-11-03 11:48:17 +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
|
#> 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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user