下载最新的centos8安装包,centos8安装时选择工作站类型,选择所有附加安装包.
root用户登录centos。
1.首先安装bazel,执行如下命令:
dnf install dnf-plugins-core
dnf copr
enable vbatts/bazel
dnf
install bazel
2.下载 onos源码 ,执行如下命令:
git clone https://gerrit.onosproject.org/onos
cd onos
bazel build onos
3.安装过程中出现的问题如下:
(1)依赖的安装包出现连接超时的问题connected timed out
解决方法:直接通过连接下载源码.将下载的源码放在缓存文件夹中,我是放在/home/cache_repo下了,然后编译onos使用如下命令
bazel clean --expunge //清除旧的编译文件
Bazel build onos –distdir=/home/cache_repo //指定本地缓存的包路径
(2)出现找不到python2的问题
解决方法:执行如下命令进行安装
dnf install python2*
(3)出现 tar解压 Cannot change ownership to uid 1001, gid 1001: Invalid argument的报错
解决方法:tar解压命令处加上—no-same-owner参数。
tar解压命令在onos/build文件中有两处,搜索一下就找到了。还有1处在onos/toos/package/onos-pre-karaf脚本中。
(4)出现npm安装失败,
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `./node_modules/gulp/bin/gulp.js build`
解决方法:修改onos/web/gui/BUILD
在 NPM NPM_ARGS install 后添加
--registry https://registry.npm.taobao.org
在ROOT/NPM NPM_ARGS run build --no-cache 后添加
--registry https://registry.npm.taobao.org
修改后观察下载速度,如果下载速度不行,换个时间编译,我这是上午速度快一点。
(5)出现ERROR: /home/onos/BUILD:67:1: Executing genrule //:onos-package failed (Exit 127)
/usr/bin/env: 'python': No such file or directory的报错
解决方法:执行如下命令
which python2
/usr/bin/python2
ln -s /usr/bin/python2 /usr/bin/python
4.启动onos
bazel run onos-local -- clean debug
# 'clean' to delete all previous running status
# 'debug' to enable remote debugging
5. 进入onos cli:
tools/test/bin/onos localhost
6.通过 ONOS CLI 激活应用程序 openflow和响应转发:
onos> app activate org.onosproject.openflow
onos> app activate org.onosproject.fwd
7.打开onos web界面:
tools/test/bin/onos-gui localhost,好像不起作用
或者访问 http://localhost:8181/onos/ui
用户名: onos
密码:rocks
8.设置bash环境变量
编辑~/.bash_profile
,添加下面两行
export ONOS_ROOT=~/onos source $ONOS_ROOT/tools/dev/bash_profile
执行. ~/.bash_profile
9.
运行mininet,连接onos
sudo mn --controller remote,ip=