Home
Name Modified Size InfoDownloads / Week
NM55-9.1.5h0d34.tar.bz2 2016-07-26 247.7 MB
README-ARRIS.txt 2016-07-26 9.5 kB
Totals: 2 Items   247.7 MB 0
README for building the NM55 images.

This tarball also contains the Broadcom code drop
bcm963xx_4.06L.03_consumer_release.tar.gz, which
was created using Broadcom's source code redistribution process,
and axis.tar.bz2 which is the code that runs on the main SOC.

The NM55 is built on various different flavors of Linux.  The NM55
has been built on Fedora Core 11 and greater and Ubuntu 9.04 and greater.
These instructions have been verified on Ubuntu 12.04.

The following packages needs to be installed to make a NM55 build.

bison and flex
g++
makedepend
xutils-dev
automake
zlib1g-dev
gawk
texinfo
libtool

Unpacking the NVG and axis tarballs. 

1) Untar the tarball, 
   tar -xjf NM55-9.1.5h0d34.tar.bz2

2) Then cd into NM55-9.1.5h0d34.

3) Make the cross compiler
A.  Get the crosstool-ng package from http://crosstool-ng.org.  Get version 1.17.0.

B.  Make sure the following additional tools are installed:

        - gcc
        - gperf
        - patch
        - make
        - ncurses-dev
        - expat


C. Follow the instructions on the home page in building the cross compiler.

This will download the necessary source packages, build all the tools and place them in a directory
under /opt/x-tools/ with a unique name derived from the target, vendor string, C-library, etc.


D. Create a local build directory for creating the toolchains (e.g. ~/crosstool-ng-build)


E. Follow the instructions on the home page in building the cross compiler.  Pick
mips-unknown-linux-uclibc as the sample. 

	-> ct-ng mips-unknown-linux-uclibc 

To configure the details of the build, select the following:

       -> sudo ct-ng menuconfig

        Paths and misc options ---> Do not make Experimental tools 
        Paths and misc options ---> Change prefix directory to /opt/x-tools/${CT_TARGET}
        Toolchain options ---> Tuple's vendor string to gcc4.7.2
        Operating System ---> Linux kernel version should be 3.6.3
        C compiler ---> gcc version:  4.7.2
	C-library ---> Configuration file:  point to a local copy of config.uClibc file found at 
                       .../NM55-9.1.5h0d34/axis/vendors/Motopia/bcm63xx/config.uClibc
        Debug facilities ---> Deselect gdb

	These are the only items set.  Use the defaults for all other settings.

F.  Turn off certificate checking for wget by adding the following to /etc/wgetrc:

        check_certificate = off

G.  With the configuration set up, now run in the local build directory:

	-> sudo ct-ng build 

This will download the necessary source packages, build all the tools and place them in a directory
under /opt/x-tools/ with a unique name derrived from the target, vendor string, C-library, etc.

4) Untar the Broadcom redistribution tarball. 
	% mkdir bcm;cd bcm
	% tar -jxvf ../bcm963xx_4.12L.06_consumer_release.tar.bz2
	% cd ..

6) Run the brcm_cp.sh script to copy the Broadcom code into ARRIS directory strucure. 
        ./brcm_cp.sh -p . -b bcm

N.B.  If using Ubuntu, make sure /bin/sh points to /bin/bash.  (Not /bin/dash)

Finally, to build the respective packages, type the following.

	% make config  # select all the defaults
	% make linux
	% make tools
	% make lib
	% make user
	% make modules
	% make romfs

The last make command will create a directory called romfs in the top level directory. That
directory will contain a linux directory structure with all the compiled objects in their
respective place.  The directory structure is as follows:

romfs:
bin  boot  dev  etc  lib  media  proc  sbin  sys  tftpboot  tmp  usr  var

romfs/bin:
ash        dnsdomainname     fgrep     ip                mkdir      ping6        rm         sh      vconfig
busybox    dnsmasq           getopt    ip6tables         mknod      pppoe        rmdir      sleep   wget
cat        ebtables          grep      iptables          more       pppoe-relay  routef     stat    zcat
chmod      ebtables-restore  gunzip    iptables-restore  mount      printenv     routel     sync
conntrack  ebtables-save     gzip      iptables-save     mv         ps           rtacct     tar
cp         echo              hostname  kill              ntpclient  pwd          rtmon      tc
date       egrep             ifcfg     ln                pidof      radvd        sed        touch
dmesg      ez-ipupdate       inetd     ls                ping       radvdump     setserial  umount

romfs/boot:

romfs/dev:
console  initctl  kmem  mem  null  tty  tty0  tty1  ttyS0

romfs/etc:
config.cfg    fstab  inetd.conf  iproute2       pfslist          protocols    resolv.dnsmasq  udev
dhcpd.leases  group  inetd.d     modprobe.conf  pfslist.default  rc           shells
dnsmasq.conf  hosts  inittab     passwd         ppp              resolv.conf  TZ

romfs/etc/iproute2:
ematch_map  rt_dsfield  rt_protos  rt_realms  rt_scopes  rt_tables

romfs/etc/udev:
udev.conf

romfs/lib:
ld-linux.so.2          libebt_among.so     libebt_redirect.so      libresolv-0.9.30.3.so
ld.so.1                libebt_arpreply.so  libebt_standard.so      libresolv.so.0
ld-uClibc-0.9.30.3.so  libebt_arp.so       libebt_stp.so           librt-0.9.30.3.so
ld-uClibc.so.0         libebtc.so          libebt_ulog.so          librt.so.0
libcrypt-0.9.30.3.so   libebt_ip6.so       libebt_vlan.so          libthread_db-0.9.30.3.so
libcrypt.so.0          libebt_ip.so        libgcc_s.so             libthread_db.so.1
libc.so.0              libebt_limit.so     libgcc_s.so.1           libuClibc-0.9.30.3.so
libdl-0.9.30.3.so      libebt_log.so       libm-0.9.30.3.so        libutil-0.9.30.3.so
libdl.so.0             libebt_mark_m.so    libm.so.0               libutil.so.0
libebt_802_3.so        libebt_mark.so      libnsl-0.9.30.3.so      modules
libebtable_broute.so   libebt_nat.so       libnsl.so.0             pppd
libebtable_filter.so   libebt_nflog.so     libpthread-0.9.30.3.so
libebtable_nat.so      libebt_pkttype.so   libpthread.so.0

romfs/lib/modules:
2.6.30.10-motopia

romfs/lib/modules/2.6.30.10-motopia:
kernel  modules  modules.dep  modules.order

romfs/lib/modules/2.6.30.10-motopia/kernel:
drivers  fs  lib  net

romfs/lib/modules/2.6.30.10-motopia/kernel/drivers:
net  scsi  usb

romfs/lib/modules/2.6.30.10-motopia/kernel/drivers/net:
bsd_comp.ko  ppp_async.ko  ppp_deflate.ko  ppp_generic.ko  pppoe.ko  pppox.ko  slhc.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/drivers/scsi:
scsi_wait_scan.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/drivers/usb:
storage

romfs/lib/modules/2.6.30.10-motopia/kernel/drivers/usb/storage:
usb-storage.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/fs:
cifs  ext3  fat  jbd  lockd  mbcache.ko  nfs  ntfs

romfs/lib/modules/2.6.30.10-motopia/kernel/fs/cifs:
cifs.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/fs/ext3:
ext3.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/fs/fat:
fat.ko  msdos.ko  vfat.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/fs/jbd:
jbd.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/fs/lockd:
lockd.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/fs/nfs:
nfs.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/fs/ntfs:
ntfs.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/lib:
crc-ccitt.ko  zlib_deflate

romfs/lib/modules/2.6.30.10-motopia/kernel/lib/zlib_deflate:
zlib_deflate.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/net:
atm  bridge  ipv4  ipv6  netfilter  sunrpc

romfs/lib/modules/2.6.30.10-motopia/kernel/net/atm:
atm.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/net/bridge:
netfilter

romfs/lib/modules/2.6.30.10-motopia/kernel/net/bridge/netfilter:
ebtable_broute.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/net/ipv4:
netfilter

romfs/lib/modules/2.6.30.10-motopia/kernel/net/ipv4/netfilter:
arptable_filter.ko  arpt_mangle.ko  nf_nat_ftp.ko   nf_nat_pptp.ko       nf_nat_sip.ko
arp_tables.ko       arpt_reply.ko   nf_nat_h323.ko  nf_nat_proto_gre.ko  nf_nat_tftp.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/net/ipv6:
netfilter

romfs/lib/modules/2.6.30.10-motopia/kernel/net/ipv6/netfilter:
ip6table_filter.ko  ip6table_raw.ko  ip6t_ipv6header.ko  ip6t_REJECT.ko  nf_conntrack_ipv6.ko
ip6table_mangle.ko  ip6_tables.ko    ip6t_LOG.ko         ip6t_rt.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/net/netfilter:
nf_conntrack_ftp.ko      nf_conntrack_proto_esp.ko  xt_conncap.ko   xt_SKIPLOG.ko  xt_vlan.ko
nf_conntrack_h323.ko     nf_conntrack_proto_gre.ko  xt_ethproto.ko  xt_TCPMSS.ko   xt_VLAN.ko
nf_conntrack_netlink.ko  nf_conntrack_sip.ko        xt_length.ko    xt_time.ko
nf_conntrack_pptp.ko     nf_conntrack_tftp.ko       xt_recent.ko    xt_TIMEOUT.ko

romfs/lib/modules/2.6.30.10-motopia/kernel/net/sunrpc:
sunrpc.ko

romfs/lib/modules/2.6.30.10-motopia/modules:
motopia  portmirror  prioritytag

romfs/lib/modules/2.6.30.10-motopia/modules/motopia:
motopia.ko

romfs/lib/modules/2.6.30.10-motopia/modules/portmirror:
portmirror.ko

romfs/lib/modules/2.6.30.10-motopia/modules/prioritytag:
prioritytag.ko

romfs/lib/pppd:
2.4.4

romfs/lib/pppd/2.4.4:
pppoa.so  pppoe.so

romfs/media:

romfs/proc:

romfs/sbin:
arp        depmod       insmod  makedevs  modprobe    rmmod    udevd
arptables  freeramdisk  lsmod   modinfo   pivot_root  udevadm

romfs/sys:

romfs/tftpboot:

romfs/usr:
bin  sbin

romfs/usr/bin:
[         cut      expr    head     lsof      pwdx      sha3sum  telnet  top         traceroute6  wc
[[        dirname  free    killall  nslookup  realpath  sort     test    tr          uptime       whois
basename  env      groups  logger   pstree    seq       tail     tftp    traceroute  users

romfs/usr/sbin:
arping  chroot  pppd  telnetd  ubimkvol  ubirmvol  ubirsvol  ubiupdatevol

romfs/var:
Source: README-ARRIS.txt, updated 2016-07-26