From 872ee5d82123c636a565461d57a80e53fa44cfd4 Mon Sep 17 00:00:00 2001 From: Steven Noble Date: Thu, 17 Dec 2015 00:23:52 +0000 Subject: [PATCH] platform files for Accton Wedge 16x --- .../accton/x86-64-accton-wedge-16x/Makefile | 1 + .../x86-64-accton-wedge-16x/onlp/Makefile | 1 + .../x86-64-accton-wedge-16x/onlp/PKG.yml | 15 +++++++++ .../platform-config/Makefile | 1 + .../platform-config/r0/Makefile | 1 + .../platform-config/r0/PKG.yml | 1 + .../platform-config/r0/src/lib/boot/grub.cfg | 22 +++++++++++++ .../src/lib/boot/x86-64-accton-wedge-16x-r0 | 7 +++++ .../lib/install/x86-64-accton-wedge-16x-r0.sh | 15 +++++++++ .../x86_64_accton_wedge_16x_r0/__init__.py | 31 +++++++++++++++++++ 10 files changed, 95 insertions(+) create mode 100644 packages/platforms/accton/x86-64-accton-wedge-16x/Makefile create mode 100644 packages/platforms/accton/x86-64-accton-wedge-16x/onlp/Makefile create mode 100644 packages/platforms/accton/x86-64-accton-wedge-16x/onlp/PKG.yml create mode 100644 packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/Makefile create mode 100644 packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/Makefile create mode 100644 packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/PKG.yml create mode 100644 packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/boot/grub.cfg create mode 100644 packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/boot/x86-64-accton-wedge-16x-r0 create mode 100644 packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/install/x86-64-accton-wedge-16x-r0.sh create mode 100644 packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/python/x86_64_accton_wedge_16x_r0/__init__.py diff --git a/packages/platforms/accton/x86-64-accton-wedge-16x/Makefile b/packages/platforms/accton/x86-64-accton-wedge-16x/Makefile new file mode 100644 index 00000000..dc1e7b86 --- /dev/null +++ b/packages/platforms/accton/x86-64-accton-wedge-16x/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk diff --git a/packages/platforms/accton/x86-64-accton-wedge-16x/onlp/Makefile b/packages/platforms/accton/x86-64-accton-wedge-16x/onlp/Makefile new file mode 100644 index 00000000..dc1e7b86 --- /dev/null +++ b/packages/platforms/accton/x86-64-accton-wedge-16x/onlp/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk diff --git a/packages/platforms/accton/x86-64-accton-wedge-16x/onlp/PKG.yml b/packages/platforms/accton/x86-64-accton-wedge-16x/onlp/PKG.yml new file mode 100644 index 00000000..421d1a8f --- /dev/null +++ b/packages/platforms/accton/x86-64-accton-wedge-16x/onlp/PKG.yml @@ -0,0 +1,15 @@ +variables: + platform: x86-64-accton-wedge-16x-r0 + install: /lib/platform-config/${platform}/onl + +common: + version: 1.0.0 + arch: amd64 + copyright: Copyright 2013, 2014, 2015 Big Switch Networks + maintainer: support@bigswitch.com + +packages: + - name: onlp-${platform} + summary: ONLP Package for the ${platform} platform. + + changelog: Change changes changes., diff --git a/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/Makefile b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/Makefile new file mode 100644 index 00000000..dc1e7b86 --- /dev/null +++ b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk diff --git a/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/Makefile b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/Makefile new file mode 100644 index 00000000..dc1e7b86 --- /dev/null +++ b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk diff --git a/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/PKG.yml b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/PKG.yml new file mode 100644 index 00000000..92e3414c --- /dev/null +++ b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/PKG.yml @@ -0,0 +1 @@ +!include $ONL_TEMPLATES/platform-config-platform.yml ARCH=amd64 VENDOR=accton PLATFORM=x86-64-accton-wedge-16x-r0 diff --git a/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/boot/grub.cfg b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/boot/grub.cfg new file mode 100644 index 00000000..44a99ece --- /dev/null +++ b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/boot/grub.cfg @@ -0,0 +1,22 @@ +serial --unit=0 --speed=57600 --word=8 --parity=0 --stop=1 +terminal_input serial +terminal_output serial +set timeout=5 + +# boot onl +menuentry OpenNetworkLinux { + search --no-floppy --label --set=root ONL-BOOT + echo 'Loading Open Network Linux ...' + insmod gzio + insmod part_msdos + # grub options copied from Wedge's grub.conf; did not verify which were necessary + linux /kernel-3.2-deb7-x86_64-all nopat console=ttyS1,57600n8 onl_platform=x86-64-accton-wedge-16x-r0 rd_NO_MD rd_NO_LUKS intel_iommu=off + initrd /initrd-amd64 +} + +# Menu entry to chainload ONIE +menuentry ONIE { + search --no-floppy --label --set=root ONIE-BOOT + echo 'Loading ONIE ...' + chainloader +1 +} diff --git a/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/boot/x86-64-accton-wedge-16x-r0 b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/boot/x86-64-accton-wedge-16x-r0 new file mode 100644 index 00000000..92132f72 --- /dev/null +++ b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/boot/x86-64-accton-wedge-16x-r0 @@ -0,0 +1,7 @@ +echo "pci0000:00/0000:00:14.0 ma1" >/etc/onl/net + +cp /dev/null /etc/onl/mounts +echo "LABEL=FLASH * flash" >> /etc/onl/mounts +echo "LABEL=FLASH2 * flash2" >> /etc/onl/mounts + + diff --git a/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/install/x86-64-accton-wedge-16x-r0.sh b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/install/x86-64-accton-wedge-16x-r0.sh new file mode 100644 index 00000000..1c7108fa --- /dev/null +++ b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/lib/install/x86-64-accton-wedge-16x-r0.sh @@ -0,0 +1,15 @@ +############################################################ +# +# +# Copyright 2013, 2014 BigSwitch Networks, Inc. +# +# +# +# +############################################################ +# Platform data goes here. + +platform_installer() { + # Standard isntallation to an available GPT partition + installer_standard_gpt_install /dev/sda +} diff --git a/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/python/x86_64_accton_wedge_16x_r0/__init__.py b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/python/x86_64_accton_wedge_16x_r0/__init__.py new file mode 100644 index 00000000..fa5e1035 --- /dev/null +++ b/packages/platforms/accton/x86-64-accton-wedge-16x/platform-config/r0/src/python/x86_64_accton_wedge_16x_r0/__init__.py @@ -0,0 +1,31 @@ +from onl.platform.base import * +from onl.vendor.accton import * + +class OpenNetworkPlatformImplementation(OpenNetworkPlatformAccton): + + def model(self): + return "Wedge" + + def platform(self): + return "x86-64-accton-wedge-16x-r0" + + def _plat_info_dict(self): + return { + platinfo.LAG_COMPONENT_MAX : 24, + platinfo.PORT_COUNT : 16, + platinfo.ENHANCED_HASHING : True, + platinfo.SYMMETRIC_HASHING : True, + } + + def sys_init(self): + pass + + def sys_oid_platform(self): + # FIXME + return ".16.1" + + def baseconfig(self): + return os.system(os.path.join(self.platform_basedir(), "boot", "x86-64-accton-wedge-r0-devices.sh")) == 0 + +if __name__ == "__main__": + print OpenNetworkPlatformImplementation()