Open Ethernet Networking (OpEN) API Guide and Reference Manual
3.6.0.3
|
Customer applications and other open source software can be installed and maintained on ICOS using the RPM Package Management System. By default, RPM is not installed. In order to use RPM you must first bootstrap the RPM framework so that the rpm binary is available. You must then install the other RPMs using the rpm command.
The RPM system and subsequent packages are installed into /mnt/fastpath/usr. This location is persistent across reboots and across upgrades of the ICOS system. Note that /mnt/fastpath/usr/bin is on the default search path for binaries.
Refer to NFS Client Support for how to install RPMs in an NFS partition.
The Broadcom Linux RPMs are based on the source RPMs from the CentOS 6.2 release. These source RPMs have been cross compiled for use on ICOS and then repackaged. For example, sed-4.2.1-7.el6.src.rpm from CentOS is cross compiled and repackaged as sed-4.2.1-7.1.el6.brl_3.8.e500_v2.rpm. The ".1" portion of "4.2.1-7.1" indicates the Broadcom package revision, "brl_3.8" indicates the Broadcom tool chain version and "e500_v2" indicates the processor family.
This is the process of installing RPM and its dependencies without actually using RPM, but doing so in a way that creates the initial RPM database. The RPMs are delivered as a compressed tar ball in the rpms.<toolchain>.<cpu>-<version>.tar.bz2 file. Uncompress and extract this file on your host Linux machine. It will create a folder named rpms.<toolchain>.<cpu>-<version>. Step into that folder and step into the output directory. Inside will be a bootstrap-rpm.<toolchain>.<cpu>.sh file. This is the file that needs to be copied and installed on the switch, as shown below.
It is recommended that wget is used to fetch the bootstrap-rpm file since the file is large and tftp may time out.
(ICOS Routing) #linuxsh # cd /tmp # wget http://<http-server>/bootstrap-rpm.brl_3.8.e500_v2.1.0.1.7.sh or tftp -g -r bootstrap-rpm.brl_3.8.e500_v2.1.0.1.7.sh <tftp-server> # chmod +x ./bootstrap-rpm.brl_3.8.e500_v2.1.0.1.7.sh # ./bootstrap-rpm.brl_3.8.e500_v2.1.0.1.7.sh Installing RPM bootstrap files (this can take 10-15 minutes): mnt/ mnt/fastpath/ <snip> Sync'ing filesystem: done Creating links: done Creating RPM database: done RPM bootstrap successfully installed # rm ./bootstrap-rpm.brl_3.8.e500_v2.1.0.1.7.sh # rpm -qa brcm-misc-1-4.ppc xz-libs-4.999.9-0.3.beta.20091007git.1.el6.ppc file-5.04-11.1.el6.ppc libacl-2.2.49-6.1.el6.ppc nspr-4.8.4-4.1.el6.ppc nss-softokn-freebl-3.12.6-1.1.1.el6.ppc sed-4.2.1-7.1.el6.ppc nss-sysinit-3.12.6-2.1.el6.ppc db4-4.7.25-16.1.el6.ppc libcap-2.16-5.5.1.el6.ppc rpm-libs-4.8.0-19.1.el6.ppc initial-1-4.ppc zlib-1.2.3-27.1.el6.ppc file-libs-5.04-11.1.el6.ppc libattr-2.4.44-7.1.el6.ppc sqlite-3.6.20-1.1.el6.ppc nss-util-3.12.6-1.1.el6.ppc nss-softokn-3.12.6-1.1.1.el6.ppc nss-3.12.6-2.1.el6.ppc popt-1.13-7.1.el6.ppc db4-utils-4.7.25-16.1.el6.ppc rpm-4.8.0-19.1.el6.ppc # exit (ICOS Routing) #
Once the RPM system has been installed onto ICOS, rpm can then be used as normal to install additional packages. A number of RPMs are provided in the rpms.<toolchain>.<cpu>-<version>.tgz file. Once extracted, see the rpms.<toolchain>.<cpu>-<version>/output/RPMS directory for binaries and rpms.<toolchain>.<cpu>-<version>/output/SRPMS for source code.
For installing further RPMs you can use the rpm-install.sh utility script that is shipped with the RPMs. It is automatically installed as part of the bootstrap RPM tar ball. Use the -h option to display the commands available. For example, you could install all RPMs required for Python, or all RPMS required for the Chef client, or just all available RPMs. The script also takes parameters for the TFTP/HTTP path and TFTP/HTTP server IP address. It is recommended that you run this script from the /mnt/fastpath directory.
For example, to install Puppet from the HTTP server at 10.27.9.99 where the RPMs are installed in /var/www/html/repo/brl/3.8:
(ICOS Routing) #linuxsh # cd /mnt/fastpath # rpm-install.sh -http puppet repo/brl/3.8 10.27.9.99 # ...... # rpm -q puppet puppet-3.1.1-1.1.el6.noarch # which puppet /bin/puppet # exit (ICOS Routing) #
Other packages can be installed in a similar fashion. See rpm-install.sh -h
for further information.
If RPMs are already installed on the switch and a new set of RPMs have to be installed, please follow the steps below:
(ICOS Routing) #linuxsh # rm -rf /mnt/fastpath/usr # # sync # # exit (ICOS Routing) #