Download Latest Version E6000_CMTS_R5_0_sha256_hash_core.tgz (34.7 kB)
Email in envelope

Get an email when there's a new version of E6000 Converged Edge Router

Home
Name Modified Size InfoDownloads / Week
E6000_CMTS_R5_0_sha256_hash_core.tgz 2017-07-27 34.7 kB
E6000_CMTS_R4_0_qdes.tgz 2017-06-27 7.8 kB
E6000_CMTS_R4_0.tar.bz2 2017-02-16 12.8 MB
README.Arris 2017-02-16 5.0 kB
Totals: 4 Items   12.8 MB 0
#
# Copyright 2016 Arris Enterprises, LLC. 
#
# SPDX-License-Identifier:	GPL-2.0+
#

Summary:
========

This file contains the instructions for building Arris specific uboot images
to run on E6000 circuit cards. Specifically, the UCAM2/DCAM2/RSM2/EPFM cards.

See the README file for additional details about building uboot.

Install the following and you should have everything necessary to build a uboot
for any of the E6000 cards.  To build Arris specific images, you will need the 
following installed on your Linux distribution:
  - Device Tree Compiler (dtc) : https://git.kernel.org/cgit/utils/dtc/dtc.git
  - MIPS64 GCC crosscompiler (gcc) : http://crosstool-ng.org/  v1.22.0
  - POWERPC GCC crosscompiler (gcc) : http://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SDK_ENABLEMENT
    You will need these files:
      QorIQ Linux SDK v2.0 PPCE6500 IMAGE.iso
      QorIQ Linux SDK v2.0 SOURCE.iso
      QorIQ Linux SDK v2.0 PPCE6500 Yocto Cache.iso This is optional but can be used to speed up the ppc build.
    Mount the SOURCE iso and run the "install" script found in the top level directory.
    You may have to recursively change the owner of QorIQ-SDK-V2.0-20160527-yocto/ to yourself
    before continuing.
    Then follow the instructions from the install script to mount the PPCE6500 iso.
    Set up the environment:
      . ./fsl-setup-env -m t2080qds
    And finally build the PPC cross-compiler toolchain:
      bitbake fsl-toolchain

First build all the PowerPC binaries.
  - set environment to select PowerPC gcc crosscompiler. (See README)
    set your PATH to include the cross-compiler directory 
    .../QorIQ-SDK-V2.0-20160527-yocto/build_t2080qds/tmp/sysroots/x86_64-linux/usr/bin/powerpc-fsl-linux

  - set CROSS_COMPILE to the environment
    export CROSS_COMPILE=powerpc-fsl-linux-

  - untar E6000_CMTS_R4.0.tar.bz2 and change to the uboot_2014_04 directory
    tar xv E6000_CMTS_R4.0.tar.bz2
    cd E6000_CMTS_R4_0/uboot_2014_04/

  - put libgcc in the build directory so that this version will be linked
    ln -s ~/redist-199/QorIQ-SDK-V2.0-20160527-yocto/build_t2080qds/tmp/sysroots/t2080qds/usr/lib/powerpc-fsl-linux/4.9.2/libgcc.a libgcc.a

  - due to binutils/gcc changes, if you get the following link error:
    powerpc-fsl-linux-ld.bfd: _GLOBAL_OFFSET_TABLE_ not defined in linker created .got
    powerpc-fsl-linux-ld.bfd: final link failed: Bad value

    you will need to remove or comment out line 48 of E6000_CMTS_R4_0/uboot_2014_04/arch/powerpc/cpu/mpc85xx/u-boot.lds
    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);

  - configure to build UCAM2 PowerPC:
    make UCAM2_config
  - build:
    make
  - This will build a binary named 'u-boot-mpc85xx_ucam2.bin' in the uboot root directory.
    This image can be programmed into flash on the UCAM2 for the T2080 PowerPC.
  - save this image:
    mv u-boot-mpc85xx_ucam2.bin ../someplacesafe
  - clear setup for new build:
    make mrproper

To build uboot for the RSM2:
  - configure to build RSM2 PowerPC:
    make RSM2_config
  - build:
    make
  - This will build a binary named 'u-boot-mpc85xx_rsm2.bin' in the uboot root directory.
    This image can be programmed into flash on the RSM2 for the T2080 PowerPC.
  - save this image:
    mv u-boot-mpc85xx_rsm2.bin ../someplacesafe
  - clear setup for new build:
    make mrproper

To build uboot for the EPFM:
  - configure to build EPFM PowerPC:
    make PFM_config
  - build:
    make
  - This will build a binary named 'u-boot-mpc85xx_pfm.bin' in the uboot root directory.
    This image can be programmed into flash on the EPFM for the T2080 PowerPC.
  - save this image:
    mv u-boot-mpc85xx_pfm.bin ../someplacesafe

  - set environment to select MIPS64 gcc crosscompiler. 
    Make sure the following are installed for crosstool-ng (1.22.0):
    gperf gawk libtool bison flex help2man automake
  - configure crosstool-ng
    ./configure
    make
    sudo make install
    ct-ng mips-unknown-linux-uclibc
    ct-ng menuconfig
      Update the configuration as follows:
        Target options > Architecture level > "octeon2"
        Target options > bitness > 64-bit
        Target options > ABI > n32
        C compiler - gcc 4.9.3
        turn off all debug options
  - build crosstool-ng
    ct-ng build
  - set build variables and directory:
    export CROSS_COMPILE=mips64-unknown-linux-uclibc-
    put .../x-tools/mips64-unknown-linux-uclibc/bin into your PATH
    cd E6000_CMTS_R4_0/uboot_2014_04

To build uboot for the UCAM2:
  - configure to build UCAM2 MIPS
    make UCAM2_OCTEON_REMOTE_config
  - build:
    make
  - This will build a binary named 'u-boot-octeon_ucam2_octeon.bin' in the uboot root directory.
    This image can be downloaded to the Cavium processor over PCIe.

To build uboot for the DCAM2:
  - configure to build DCAM2 MIPS:
    make DCAM2_config
  - build:
    make
  - This will build a binary named 'u-boot-octeon_dcam2.bin' in the uboot root directory.
    This image can be programmed into flash on the DCAM2 for the Cavium microprocessor.

Source: README.Arris, updated 2017-02-16