从零开始安装ubuntu18+P4+ONOS

2023-05-16

1.安装VMware Tools(前面VM虚拟机安装Ubuntu的教程太多,就不写了)

先从虚拟机下载好,然后将压缩包里的文件夹移动出来(可以用解压或者直接点开压缩包,移动出vmware-tools-distrib文件夹),进入文件夹,执行

sudo ./vmware-install.pl

2.更换下载源(可以自己搜一下国内比较好用的源)

从应用里找到Software&Updates,选择Other,更换下载源。

3.安装P4

这一步主要参考码云上poohdang的教程,利用shell脚本自动下载、编译及安装各个实验模块,避免自己安装模块时可能会出现的版本问题。
链接如下:在Ubuntu中搭建P4实验环境

a.安装Git

sudo apt install git

b.设置工作目录并克隆仓库

mkdir -p ~/P4 && echo "export P4_HOME=~/P4" >> ~/.bashrc  # 根据自己情况设置
source ~/.bashrc
cd $P4_HOME # 该环境变量必须生效,后续脚本需要
git clone https://gitee.com/poohdang/p4-env.git -b master# 从码云上clone下来代码
cd p4-env

c.安装必要的依赖和编译工具

sudo chmod 755 p4*.sh
./p4-deps.sh

d.下载源代码

方法一:直接从Github上下载

./p4-git.sh

方法二:对部分URL替换(使用https://hub.fastgit.org加速的仓库)
由于下载到grpc部分需要构建子模块,所以有时候还是需要开启代理。(如果不开代理很容易卡在这一步)

./p4-git-china.sh

e.编译并安装

./p4-install.sh

f.开始P4实验

运行
cd tutorials/exercises/basic
make
mininet> ...
若Python报出 No module named protobuf.internal 的错误,执行以下指令
cd /usr/local/lib/python2.7/dist-packages
sudo cp -rf `ls | grep protobuf`/google/* google/
退出
mininet> exit
sudo make stop
sudo make clean

4.安装ONOS

主要参考官网教程:https://wiki.onosproject.org/display/ONOS/Developer+Quick+Start

a.安装 Bazelisk 和其他依赖项

官网教程:https://docs.bazel.build/versions/main/install-ubuntu.html

步骤 1:将 Bazel 分发 URI 添加为包源

sudo apt install apt-transport-https curl gnupg
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

步骤 2:安装和更新 Bazel

sudo apt update && sudo apt install bazel
 #安装后,您可以升级到较新版本的 Bazel 作为正常系统更新的一部分:
sudo apt update && sudo apt full-upgrade

除了最新版本之外,还可以安装特定版本的旧版 Bazel,例如:

sudo apt install bazel-3.0.0

步骤 3:安装 JDK(可选)

# Ubuntu 16.04 (LTS) uses OpenJDK 8 by default:
sudo apt install openjdk-8-jdk

# Ubuntu 18.04 (LTS) uses OpenJDK 11 by default:
sudo apt install openjdk-11-jdk

还需要一些其他依赖项。

sudo apt-get install git zip curl unzip python python3 bzip2

b.下载ONOS(如果下载速度过慢可以试试开启代理)

git clone https://gerrit.onosproject.org/onos
cd onos
git checkout onos-2.4 #切换onos为2.4版本,如果要最新版就不用更改。
git branch #查看onos版本

c.编译ONOS(开代理)

这一步绝大部分问题都是没有开代理。

bazel build onos

成功编译图成功编译图

d.启动ONOS

运行ONOS
bazel run onos-local -- -- clean debug
# 'clean' to delete all previous running status
# 'debug' to enable remote debugging

上述命令将从onos.tar.gz文件创建本地安装(如有必要,请重新构建它),并将在后台启动 ONOS 服务器。在前景中,它将显示 ONOS (Apache Karaf) 日志文件的连续视图。双破折号(–)后面的选项将传递到ONOS Apache Karaf,并且可以省略。在这里,clean选项强制全新安装 ONOS,debug选项意味着默认调试端口 5005 将可用于附加远程 Java 调试器。

登录到ONOS CLI(另起一个终端)
tools/test/bin/onos localhost

在这里插入图片描述

在 ONOS GUI页面上打开默认浏览器

输入:

tools/test/bin/onos-gui localhost

或者,访问 http://localhost:8181/onos/ui

运行由 ONOS 控制的迷你网
sudo mn --controller remote,ip=<ONOS IP address> --topo torus,3,3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从零开始安装ubuntu18+P4+ONOS 的相关文章

随机推荐