首页 > 编程知识 正文

快速 Building ONL 网络操作系统 X86 平台image,武进教育系统网络教育平台

时间:2023-05-05 19:21:08 阅读:196102 作者:4107

ONL community 提供自动化编译ONL的步骤,但是默认编译所有CPU架构,导致编译时间超级长,最终文件目录有50GB左右。本文提供仅构建 X86 平台的步骤,可以大大缩短编译时间。

ONL详细介绍

ONL 目前最流行的网络设备开源操作系统,并作为其他多个NOS的Base OS .

Building ONL 步骤

有时候,用户并不需要最新的ONL, 而是需要基于某个Commit ID 构建版本。
1. 通过 短commit ID 获取完整的 commit ID

git shortlog --format='%H|%cn|%s' | grep '123456'123456XXXXXXXXXXXXXXXXX

2. 获取代码,并切换到该commit

git clone https://github.com/opencomputeproject/OpenNetworkLinux git reset --hard 123456XXXXXXXXXXXXXXXXX

3. Building

ONL 基于Debian 系统构建,而Debian 有7,8,9等几个大版本。请根据您的需求选择正确版本。本示例选择 9 (即下面命令的 --9 后缀)
make 后面填CPU 架构。X86 CPU 在网络设备中是占有率很高的。比如行业内绝大部分交换机都采用X86(AMD64) 架构的 CPU 。 docker/tools/onlbuilder --9 // 最后一个数字代表ONL所基于的Debian版本apt-cacher-ngsource setup.env make amd64

4. 查看ONL 文件
Build 结束后会给出ONL所在的路径的提示,但这个路径位于docker contailer 内部如:
INFO:onlpm:adding package ‘/home/OpenNetworkLinux/builds/amd64/installer/swi/onl-installer-swi_0.ONL-master-2020-07-26.1226-d91e201_amd64.deb’

执行 exit ,退出用于build 的容器,回到 HOST OS 。HOST OS上的ONL 文件路径位于ONL 源码目录下的 RELEASE/stretch/amd64/ 目录:

# cd RELEASE/stretch/amd64/# lsONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64_INSTALLED_INSTALLERONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64_INSTALLED_INSTALLER.md5sumONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64.swiONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64_SWI_INSTALLERONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64_SWI_INSTALLER.md5sumONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64.swi.md5sum

注意 :

要把文件名带INSTALLED_INSTALLER结尾的NOS安装到交换机才有意义。 比如上面的 ONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64_INSTALLED_INSTALLER 。文件名以swi 结尾的NOS是一个快速启动镜像,其不可持久化配置的修改,机器重启后还原。 小结

Build 时指定CPU 架构可以大大缩短编译时间并减少磁盘占用空间。

此次编译耗时2小时左右(服务器外网网络带宽100Mbps)。
ONL 代码目录大小为19GB,比编译所有CPU 的情况要少了30GB的存储空间占用 :

# du -sh *19G OpenNetworkLinux

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。