英文安装参见:https://wiki.onosproject.org/display/ONOS/Installing+and+Running+ONOS
下载源码:
$ git clone https://gerrit.onosproject.org/onos
$ cd onos
$ git checkout 1.0.0
上述需要从国外下载源码速度有限,可以从ONOS技术群[425319659]共享中心下载1.0.0源码
ONOS技术群[425319659]共享中心:http://pan.baidu.com/s/1i3tHPZJ
tar -xvf onos-1.0.0-src.tar.gz
cd onos
官方推荐配置:
1.Ubuntu Server 14.04 LTS 64-bit
2.2GB or more RAM
3.2 or more processors
依赖软件:
1.Java 8 JDK(推荐Oracle Java, OpenJDK未完全测试) 【开发环境JDK】
2.Apache Maven(3.0+) 【编译打包工具】
3.Apache Karaf(3.0.2+) 【部署运行容器】
4.git(用于获取源码,如果源码已下载可不安装)
参考文档:
1.Ubuntu 14.04 64bits安装JDK8 http://jinlongliu.github.io/linux/2015/01/06/install-jdk8-on-ubuntu14.04lts/
2.Ubuntu 14.04 64bits安装Maven3.2.5 http://jinlongliu.github.io/linux/2015/01/06/install-apache-maven-on-ubuntu14.04lts/
3.Ubuntu 14.04 64bits安装Apache Karaf http://jinlongliu.github.io/linux/2015/01/06/install-apache-karaf-on-ubuntu14.04lts/
验证上述安装
root@king:/# java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
root@king:/# mvn --version
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-15T01:29:23+08:00)
Maven home: /usr/local/apache-maven
Java version: 1.8.0_25, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-24-generic", arch: "amd64", family: "unix"
root@king:/# karaf clean
__ __ ____
/ //_/____ __________ _/ __/
/ ,< / __ `/ ___/ __ `/ /_
/ /| |/ /_/ / / / /_/ / __/
/_/ |_|\__,_/_/ \__,_/_/
Apache Karaf (3.0.2)
Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown Karaf.
karaf@root()>
下载ONOS Maven库文件
ONOS技术群[425319659]共享中心: http://pan.baidu.com/s/1mgwZ6YG
tar -xvf onos-maven-repos.tar.gz 解压生成目录repos
将Maven本地库设置指向,上述解压路径。设置方法参见:http://jinlongliu.github.io/linux/2015/01/06/install-apache-maven-on-ubuntu14.04lts/
编译安装ONOS源码
$cd onos
$export ONOS_ROOT=./
$source $ONOS_ROOT/tools/dev/bash_profile 此处导入各种变量,会导入KARAF_ROOT,如果之前未设置,需要修改此文件默认值
$mvn clean install 此处如果设置了本地仓储,编译安装是很快的。
.......
.......
[INFO] --- maven-bundle-plugin:2.5.3:install (default-install) @ onos-branding ---
[INFO] Installing org/onosproject/onos-branding/1.0.0/onos-branding-1.0.0.jar
[INFO] Writing OBR metadata
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] onos ............................................... SUCCESS [ 2.065 s]
[INFO] onlab-utils ........................................ SUCCESS [ 1.438 s]
[INFO] onlab-junit ........................................ SUCCESS [ 4.572 s]
[INFO] onlab-misc ......................................... SUCCESS [ 7.871 s]
[INFO] onlab-netty ........................................ SUCCESS [ 1.490 s]
[INFO] onlab-nio .......................................... SUCCESS [ 1.906 s]
[INFO] onlab-osgi ......................................... SUCCESS [ 0.548 s]
[INFO] onlab-rest ......................................... SUCCESS [ 0.547 s]
[INFO] onlab-thirdparty ................................... SUCCESS [ 1.101 s]
[INFO] onos-core .......................................... SUCCESS [ 0.296 s]
[INFO] onos-api ........................................... SUCCESS [ 5.976 s]
[INFO] onos-core-store .................................... SUCCESS [ 0.415 s]
[INFO] onos-core-trivial .................................. SUCCESS [ 2.801 s]
[INFO] onos-core-net ...................................... SUCCESS [ 6.533 s]
[INFO] onos-core-serializers .............................. SUCCESS [ 2.443 s]
[INFO] onos-core-dist ..................................... SUCCESS [ 20.423 s]
[INFO] onos-json .......................................... SUCCESS [ 0.428 s]
[INFO] onos-web ........................................... SUCCESS [ 0.281 s]
[INFO] onos-gui ........................................... SUCCESS [ 0.810 s]
[INFO] onos-rest .......................................... SUCCESS [ 1.427 s]
[INFO] onos-cli ........................................... SUCCESS [ 0.986 s]
[INFO] onos-of ............................................ SUCCESS [ 0.456 s]
[INFO] onos-of-api ........................................ SUCCESS [ 6.997 s]
[INFO] onos-providers ..................................... SUCCESS [ 0.295 s]
[INFO] onos-of-providers .................................. SUCCESS [ 0.342 s]
[INFO] onos-of-provider-device ............................ SUCCESS [ 1.814 s]
[INFO] onos-of-provider-link .............................. SUCCESS [ 1.630 s]
[INFO] onos-of-provider-host .............................. SUCCESS [ 1.430 s]
[INFO] onos-of-provider-packet ............................ SUCCESS [ 2.114 s]
[INFO] onos-of-provider-flow .............................. SUCCESS [ 0.960 s]
[INFO] onos-lldp-provider ................................. SUCCESS [ 2.129 s]
[INFO] onos-host-provider ................................. SUCCESS [ 1.324 s]
[INFO] onos-of-drivers .................................... SUCCESS [ 0.599 s]
[INFO] onos-of-ctl ........................................ SUCCESS [ 1.758 s]
[INFO] onos-apps .......................................... SUCCESS [ 0.312 s]
[INFO] onos-app-tvue ...................................... SUCCESS [ 0.489 s]
[INFO] onos-app-fwd ....................................... SUCCESS [ 0.422 s]
[INFO] onos-app-ifwd ...................................... SUCCESS [ 0.376 s]
[INFO] onos-app-mobility .................................. SUCCESS [ 0.384 s]
[INFO] onos-app-proxyarp .................................. SUCCESS [ 0.351 s]
[INFO] onos-app-config .................................... SUCCESS [ 0.388 s]
[INFO] onos-app-sdnip ..................................... SUCCESS [ 5.384 s]
[INFO] onos-app-calendar .................................. SUCCESS [ 0.435 s]
[INFO] onos-app-optical ................................... SUCCESS [ 0.578 s]
[INFO] onos-app-metrics ................................... SUCCESS [ 0.261 s]
[INFO] onos-app-metrics-intent ............................ SUCCESS [ 0.503 s]
[INFO] onos-app-metrics-topology .......................... SUCCESS [ 0.595 s]
[INFO] onos-app-oecfg ..................................... SUCCESS [ 1.315 s]
[INFO] onos-app-demo ...................................... SUCCESS [ 0.535 s]
[INFO] onos-app-election .................................. SUCCESS [ 0.470 s]
[INFO] onos-features ...................................... SUCCESS [ 0.524 s]
[INFO] onos-branding ...................................... SUCCESS [ 0.530 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:41 min
[INFO] Finished at: 2015-01-08T14:58:06+08:00
[INFO] Final Memory: 91M/326M
[INFO] ------------------------------------------------------------------------
如果想跳过测试可以使用如下,速度会更快一点.
$mvn clean install -Dmaven.test.skip=true
修改Karaf配置,以加载ONOS
vim $KARAF_ROOT/etc/org.apache.karaf.features.cfg
在featuresRepositories后添加mvn:org.onosproject/onos-features/1.0.0/xml/features 用逗号隔开
在featuresBoot后添加onos-api,onos-core-trivial,onos-cli,onos-openflow,onos-app-fwd,onos-app-mobility,onos-gui 用逗号隔开
root@king:/# karaf clean
Welcome to Open Network Operating System (ONOS)!
____ _ ______ ____
/ __ \/ |/ / __ \/ __/
/ /_/ / / /_/ /\ \
\____/_/|_/\____/___/
Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown ONOS.
onos>
正确加载后LOGO已经发生变化。
查看WebGui和控制器端口监听是否正常
root@king:/# netstat -lnput |grep 8181
tcp6 0 0 :::8181 :::* LISTEN 21716/java
root@king:/# netstat -lnput |grep 6633
tcp6 0 0 :::6633 :::* LISTEN 21716/java
访问http://[your_ server_ip]:8181/onos/ui/index.html查看WebGui,请使用Chrome查看,笔者测试IE和QQ浏览器浮动窗口效果均有问题。
使用Mininet建立拓扑,此时Mininet安装可以使用apt-get install mininet,不过似乎后面它会安装openvswitch可能会报错,忽略。service openvswitch-controller stop