ONL(OpenNetwork Linux)是Big Swtich 的商业交换机NOS——Switch Light OS的开源版本。BigSwitch在2014年将ONL贡献给OCP。
微软开源的交换机软件SONiC 最近两年越来越火,它也是基于ONL的。
ONL本质上是一种用于裸机交换机的一种Linux发型版。ONL和其它一些网络相关的开源项目一样,比如Vyatta、ONIE等,都DebianLinux 的分支。Vyatta是一个开源路由器项目。ONIE的用途是给交换机安装ONL、Cumulus之类的NOS。
ONL 在Linux的基础上添加了大量交换机硬件相关的驱动程序:USB、 GPIO、CPLD、Flash、PCI、 serial、 RTC、 EEPROM、DMA……有了ONL之后,各白盒交换机硬件厂商可以共享相同的交换机硬件驱动,在一定程度上减少了开发工作量。
虽然 ONL本身不包含太多的网络功能,但是交换机软件厂商可以基于ONL进行网络功能研发,甚至基于ONL推出新的操作系统。ONL当初定位是用于白盒交换机,而如今也可以用于其它类型的网络设备,比如白盒OLT,未来会有更多基于ONL的白盒网络设备出现。
交换机通常具有两个存储设备:
具体来看看这块大容量存储设备的分区情况,
Partition 1: ONL loader 内核
Partition 2: ONL Loader配置文件 (被mount 到 “/mnt/onl/boot”)
Partition 3: ONL 交换机镜像SWI分区(被mount 到”/mnt/onl/images” )
*注:不同型号的交换机可能存在一定差异
解压镜像可以发现有2个文件:
rootfs-powerpc.sqsh 文件是:运行 ONL的根文件系统。
manifest.json 描述该ONL镜像支持的平台列表和版本信息.