快速 Building ONL 网络操作系统 X86 平台image

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 。

ONL 社群目前支持图中4个 debian 版本: 7、8、9、10 。 Ubuntu18.04 基于debian 10 制作,二者同出一门比较接近
ONL 社群目前支持图中4个 debian 版本: 7、8、9、10 。 Ubuntu18.04 基于debian 10 制作,二者同出一门比较接近

docker/tools/onlbuilder --9   // 最后一个数字代表ONL所基于的Debian版本
apt-cacher-ng
source setup.env 
make amd64      //如果不指定CPU 架构,下载的依赖包更多,很容易下载失败报错哦!

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/
# ls
ONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64_INSTALLED_INSTALLER
ONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64_INSTALLED_INSTALLER.md5sum
ONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64.swi
ONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64_SWI_INSTALLER
ONL-master_ONL-OS9_2020-07-26.1226-d91e201_AMD64_SWI_INSTALLER.md5sum
ONL-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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值