一、安裝 Bazel
在 Ubuntu 上安裝Bazel有以下幾種方式:
- 通過 npm 安裝
這種方式需要安裝 nodejs ,命令為npm install -g @bazel/bazelisk
sudo apt install nodejs
- 使用 Bazel 的 apt 倉庫
步驟1:將 Bazel 發行版 URI 添加為包源
步驟2:安裝和更新Bazelsudo apt install curl gnupg curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel.gpg sudo mv bazel.gpg /etc/apt/trusted.gpg.d/ echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
sudo apt update && sudo apt install bazel
二、獲取ONOS源碼
確保已安裝git,然后創建源存儲庫的本地克隆:
git clone https://gerrit.onosproject.org/onos
如果下載比較慢,可以通過gitee
git clone https://gitee.com/mirrors/onos.git
三、構建
進入onos文件夾
cd onos
通過git tag
可以查看版本列表,通過git checkout 版本號
可以選擇其中的版本,默認是最新
執行構建
bazel build onos
這一步要下載很多包,需要很久,而且可能會報一些錯誤,例如:
一般是網絡問題,可以多次執行bazel build onos
最后出現這個,表示已經構建成功
四、運行
執行命令
bazel run onos-local
要附加到ONOS CLI控制台,可以運行
./tools/test/bin/onos localhost
連接后,可以運行各種ONOS CLI和Apache Karaf命令。例如,要啟動 OpenFlow 和 ReactiveForwarding 應用程序,可以執行以下操作:
app activate org.onosproject.openflow
app activate org.onosproject.fwd
通過瀏覽器訪問 http://localhost:8181/onos/ui
賬號是onns,密碼是rocks
要啟動由已在開發計算機上運行的ONOS實例控制的Mininet網絡,可以使用以下命令:
sudo mn --switch ovs,protocols=OpenFlow13 --controller remote
在onos gui顯示情況:
測試的時候發現:openflow11和openflow12版本,onos解析不了,不懂什么原因