该阶段主要记录烧写ONIE设备 6. ONIE基本知识 ONIE官网 简言之就是类似玩儿linux内核时的BootLoader,不同之处在于ONIE也是一个微型的linux内核,ONIE的目的是为了发现SONiC安装地址,从而进行安装。 7. 烧写ONIE,准备好U盘,准备好烧写工具Win32DiskImager ----[a]网络上下载ONIE源码,公司有备份可以从备份中check一份代码,编译烧写至U盘 ----[b]BIOS下选择冲U盘启动,然后进行烧写 问题二:烧写ONIE不成功,出现字样如下:Installing ONIE in /dev/sda …can‘t write data to /dev/sda等字样 原因:目前设备使用的是nvme驱动的磁盘(添加nvme驱动),命名方式是nvme0n1开头,所以找不到/dev/sda设备 解决方案:修改machine/xxx/xxx/installer.conf,文件中通过寻找/sys/block/*/device,判定设备设备pci地址是否为pci0000:00/0000:00:1f.2,从而返回设备名字,这里调试采用直接返回nvme0n1,从而让程序知道磁盘名字 这里注意:为了更好查看程序执行,在shell脚本中加上set -x,可以看到每一步程序执行从而更清晰的了解程序
—[c]再次编译烧写 问题三:谁写ONIE不成功,出现字样如下:ERROR: Problems accessing sys_eeprom 原因:设备目前还出于探测不到IIC器件,也就是说根本没有eeprom设备,从而导致出错。 解决方案:找到代码installer/install.sh,将代码返回值改变,因为目前无法探测,所以暂时将代码返回值默认为正确的
—[d]再次编译烧写,烧写成功
至此,设备硬件验证完毕,之后会持续更新该博客,更新关于IIC设备树结构方式,目前验证出连接到总线上的设备,第二层iic设备还没有探测出。