Skip to content
Permalink
Browse files

Add Alpha Networks SNH60B0-640F: 64*QSFP28 with Intel Broadwell D-1518

SNH60B0-640F have 64 x 100 Gigabit Ethernet QSFP28 ports with Broadcom
BCM56970 switch ASIC. The CPU is Intel Broadwell DE D-1518 Quad
cores/2.3GHz and the default console device is ttyS0.

Signed-off-by: Curt Brune <curt@cumulusnetworks.com>
  • Loading branch information...
Mingxikao authored and cbrune committed Sep 11, 2017
1 parent ed029b1 commit 34d0edac3a19fb0d5720cbf58da51bd01c0a35f4
@@ -0,0 +1,113 @@
================================================
Installing ONIE on Alpha_Networks SNH60B0-640F
================================================

Cross-Compiling ONIE
====================

Change directories to ``build-config`` to compile ONIE.

To compile ONIE first change directories to ``build-config`` and then
type ``"make MACHINEROOT=../machine/alphanetworks MACHINE=alphanetworks_snh60b0_640f all"``.
For example::

$ cd build-config
$ make -j4 MACHINEROOT=../machine/alphanetworks MACHINE=alphanetworks_snh60b0_640f all

When complete, the ONIE binaries are located in
``build/images``::

-rw-r--r-- 1 5986340 Aug 10 15:28 alphanetworks_snh60b0_640f-r0.initrd
-rw-r--r-- 1 3091952 Aug 10 15:13 alphanetworks_snh60b0_640f-r0.vmlinuz
-rw-r--r-- 1 20774912 Aug 10 15:14 onie-recovery-x86_64-alphanetworks_snh60b0_640f-r0.iso
-rw-r--r-- 1 9135991 Aug 10 15:14 onie-updater-x86_64-alphanetworks_snh60b0_640f-r0

alphanetworks_snh60b0_640f-r0.vmlinuz -- This is the ONIE kernel image

alphanetworks_snh60b0_640f-r0.initrd -- This is the ONIE initramfs (filesystem)

onie-updater-x86_64-alphanetworks_snh60b0_640f-r0 -- This is the ONIE self-update
image. This image is a self-extracting archive used for installing ONIE.

onie-recovery-x86_64-alphanetworks_snh60b0_640f-r0.iso -- This is a recovery ISO
image. This image can be used to create a bootable USB memory stick for
installing/recovery ONIE.

Installing ONIE on a Blank Machine
==================================

To install ONIE on a new machine, you can use the recovery ISO image to
create a bootable USB memory stick.

Creating bootable USB stick
---------------------------

Use ``dd`` to copy the .iso image to a USB stick and boot from that::

dd if=<machine>.iso of=/dev/sdX bs=10M

For example::
dd if=onie-recovery-x86_64-alphanetworks_snh60b0_640f-r0.iso of=/dev/sdb bs=10M

You can find the correct ``/dev/sdX`` by inspecing the ``dmesg``
output after inserting the USB stick into your work station.

Booting from USB stick
----------------------

To enable booting from USB in the BIOS:

1. Insert the USB stick

2. Power on the switch and enter the BIOS configuration

3. Set the hard drive boot order:

In "Boot Option #1" select the device that corresponds to your
device::

Boot-->Boot Option Priorities-->Boot Option #1

If the device name is not listed in "Boot Option #1", please
check the priorities in the hard drive boot order::

Boot-->Hard Drive BBS Priorities-->Boot Option #1

Taking ``JetFlashTranscend 8GB 8.07`` as an example, the boot
order will look like following::

Boot Option Priorities
Boot Option #1 [JetFlashTranscend 8...]
Boot Option #2 [ATP ATP IG eUSB 1100]
Boot Option #3 [IBA GE Slot 00A0 v1543]
Boot Option #4 [UEFI: Built-in EFI ...]

4. Save and Exit the BIOS configuration

5. After several seconds, you should see:

GNU GRUB version 2.02~beta2+e4a1fe391

+----------------------------------------------------------------------------+
|*ONIE: Rescue |
| ONIE: Embed ONIE |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
+----------------------------------------------------------------------------+

Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, `e' to edit the commands
before booting or `c' for a command-line.

- Choose ``ONIE: Embed ONIE`` for creating a fresh partition layout and
installing ONIE automatically. All data on the mass storage will be
erased.
- Choose ``ONIE: Rescue`` for entering ONIE recovery command-line shell.
@@ -0,0 +1,10 @@
CONFIG_SYS_EEPROM=y
CONFIG_SYS_EEPROM_DEVICE_I2C=y
CONFIG_SYS_EEPROM_I2C_DEVICE="/dev/i2c-0"
CONFIG_SYS_EEPROM_I2C_ADDR=0x56
CONFIG_SYS_EEPROM_I2C_MEM_ADDR_BITS=16
CONFIG_SYS_EEPROM_I2C_WRITE_2B_DELAY=5000
CONFIG_SYS_EEPROM_I2C_WRITE_3B_DELAY=5000
CONFIG_SYS_EEPROM_OFFSET=0
CONFIG_SYS_EEPROM_SIZE=2048
CONFIG_SYS_EEPROM_MAX_SIZE=16384
@@ -0,0 +1,2 @@
# SNH60B0-640F specific info

@@ -0,0 +1,14 @@
# Alpha Networks SNH60B0-640F ONIE installer configuration

description="AlphaNetworks, SNH60B0-640F"

# Default ONIE block device
install_device_platform()
{
echo /dev/sda
}

# Local Variables:
# mode: shell-script
# eval: (sh-set-shell "/bin/sh" t nil)
# End:
@@ -0,0 +1,4 @@
CONFIG_IGB=y
CONFIG_I2C_I801=y
# CONFIG_E1000 is not set
# CONFIG_E1000E is not set
@@ -0,0 +1 @@
kernel-3-14-drivers-base-dd.patch
@@ -0,0 +1,44 @@
# Alpha Networks SNH60B0-640F

ONIE_ARCH ?= x86_64
SWITCH_ASIC_VENDOR = bcm

VENDOR_REV ?= 0

# Translate hardware revision to ONIE hardware revision
ifeq ($(VENDOR_REV),0)
MACHINE_REV = 0
else
$(warning Unknown VENDOR_REV '$(VENDOR_REV)' for MACHINE '$(MACHINE)')
$(error Unknown VENDOR_REV)
endif

# The VENDOR_VERSION string is appended to the overal ONIE version
# string. HW vendors can use this to appended their own versioning
# information to the base ONIE version string.
VENDOR_VERSION = .0.1

# Vendor ID -- IANA Private Enterprise Number:
# http://www.iana.org/assignments/enterprise-numbers
# Alpha Networks Inc.
VENDOR_ID = 31874

# Enable the i2ctools and the onie-syseeprom command for this platform
I2CTOOLS_ENABLE = yes

# Console parameters
CONSOLE_DEV = 0

# Set Linux kernel version
LINUX_VERSION = 3.14
LINUX_MINOR_VERSION = 27

# Older GCC required for older 3.14.27 kernel
GCC_VERSION = 4.9.2

#-------------------------------------------------------------------------------
#
# Local Variables:
# mode: makefile-gmake
# End:

@@ -0,0 +1,12 @@

# Use the contents of /sys/class/net/eth0/address

get_ethaddr()
{
[ -r /sys/class/net/eth0/address ] && cat /sys/class/net/eth0/address
}

# Local Variables:
# mode: shell-script
# eval: (sh-set-shell "/bin/sh" t nil)
# End:

0 comments on commit 34d0eda

Please sign in to comment.
You can’t perform that action at this time.