概述
Flex驱动器开发套件
驾驶员开发概述。
关于这个任务
Nutanix提供了Flex驱动器开发套件(DDK),以帮助开发人员构建,注入,资格和分发新驱动程序。
使用DDK构建具有一个或多个可加载内核模块的Linux内核。DDK构建一个Linux内核焦油文件,您可以将其用作METIS的输入。
通常,驱动程序开发程序如下:
程序
准备编译环境。
准备源代码进行编译。源可以是更新的内核源树,也可以是一个或多个树外内核模块。
编译内核和模块以使用驱动程序创建内核焦油文件。
使用新的内核焦油文件作为METIS的输入。
使用METIS限定新的内核和驱动程序。
提交驱动程序源代码(源RPM),资格结果,构建驾驶员的过程以及在高架门户上的资格票证发布。
Flex DDK要求
驾驶员开发要求。
要使用Flex DDK,请确保您有以下元素:
一个超过10 GB磁盘空间和Internet访问的Linux系统。
无需用户空间工具的GNU通用公共许可证的可分发驱动程序。
访问具有Docker环境和非Root用户访问的Linux系统。您可以从http://docker.com。
内核源代码的副本。您可以通过高架门户从Nutanix获取副本。
METIS和其他Flex工具的最新构建来自高架门户。
构建内核和驾驶员
准备构建环境
在编译内核和模块之前准备并测试环境。
程序
从中下载最新版本的Linux Dockerhttp://docker.com并将其安装在您的Linux环境中。
安装Docker并创建构建用户。
yum安装-y docker
GroupAdd Docker
UserAdd builduser -G docker
SystemCtl Start Docker
将DDK复制到/家庭/建筑商文件夹并将文件所有者更改为“ builduser”。
切换到建筑商并运行制作在Docker中的命令。
su-建筑商
tar xvfz ddk-v1.0.tar.gz
CD DDK
./start-docker.sh make
该命令创建名为kernel-phoenix-xxx.tar,kernel-ahv-nutanix-xxx.tar,andkernel-cvm-nutanix-xxx.tar。笔记:这些文件只是测试文件。如前所述,创建METIS资格的实际文件编译内核和树外模块部分。
编译内核和树外模块
编译并安装AHV,Phoenix,CVM或这些组合的内核和模块。
程序
确定您要使用的内核。
在您下载DDK的目录中,找到并修改了thenutanix-build.sh文件,为其中构建了包含AHV的驱动程序。
在文本编辑器中打开nutanix-build.sh并搜索字符串external_driver_dirs。在该部分末尾添加驱动程序的名称并保存更改。
对于AHV,编辑nutanix-build.sh,并运行制作在Docker中的命令。
$ start-docker.sh kernel-ahv
该命令创建一个名为的焦油文件内核-AHV-XXX.TAR。使用焦油文件进行METIS资格。笔记:
要仅创建一个文件,请将文件的名称用作参数:对于凤凰,请使用start-docker.sh制作内核 - phoenix。此命令导致thekernel-phoenix-xxx.tar文件。
对于CVM,请使用start-docker.sh make kernel-cvm。此命令会导致内核cvm-xxx.tar文件。
要创建所有三个文件,请使用制作没有任何参数的命令:
对于AHV,Phoenix和CVM;使用start-docker.sh make。此命令导致创建所有三个.tar文件。
rpm和内核捆绑包
您可以使用以下选项之一将RPM和内核捆绑包添加到METIS项目中:
通过硬件资格在METIS主页上的标签。此选项是Nutanix推荐的。
通过设置在METIS主页中的选项。
使用硬件资格选项添加RPM和内核捆绑包
关于这个任务
将RPM和内核捆绑包添加到METIS项目:
程序
在Metis工具栏中,单击硬件资格按钮。
点击放大
这新资格项目对话框出现。配置项目页。
点击放大
点击下一个配置目标页。
点击放大
点击下一个去RPM和内核页。
点击放大
如果您正在执行包括裸金属Linux测试的资格,则Centos RPM,要么上传RPM文件,要么输入到托管RPM的URL的路径。
如果您使用自定义驱动程序并且需要将其注入我们的标准Centos Linux,则需要RPMS,该驱动程序用于裸机测试。确保您获得或创建包含用于RPM注入的驱动程序或驱动程序的RPM。RPM必须适合高架门户网站上可用的CentOS版本。如果您使用的是自定义内核,则自定义内核, 点击+添加内核捆按钮,指定内核的类型和内核焦油文件的名称。
如果需要两个自定义内核,则必须提供两个驱动程序。数字。添加内核捆绑包
点击放大
如果您不执行裸机资格或使用自定义内核,请将所有字段留空。
点击救。
有关配置其他选项卡的更多信息,请参见METIS指南。
使用设置选项添加RPM和内核捆绑包
关于这个任务
将RPM和内核捆绑包添加到METIS项目:
程序
在METIS主页中,选择要使用的项目(或创建新的项目),然后单击设置在梅蒂斯侧边栏中。
数字。设置
点击放大
请执行下列操作:
数字。CentOS RPM和自定义内核
点击放大
如果您正在执行包括裸金属Linux测试的资格,则Centos RPM,要么上传RPM文件,要么输入到托管RPM的URL的路径。
如果您使用自定义驱动程序并且需要将其注入我们的标准Centos Linux,则需要RPMS,该驱动程序用于裸机测试。确保您获得或创建包含用于RPM注入的驱动程序或驱动程序的RPM。RPM必须适合高架门户网站上可用的CentOS版本。如果您使用的是自定义内核,则自定义内核, 点击+添加内核捆按钮,指定内核的类型和内核焦油文件的名称。
如果需要两个自定义内核,则必须提供两个驱动程序。数字。添加内核捆绑包
点击放大
点击救保存捆绑包并返回到METIS主页。
如《 METIS指南》中所述,将此项目用于METIS资格。
例子
示例:编译内核和i40e驱动程序
在AHV,Phoenix,CVM或这些组合中编译并安装I40E的内核和驱动程序。
程序
去高架门户网站http://elevate.nutanix.com并从下载部分。
去SourceForge并下载i40e驱动程序.tar文件。
将i40e驱动程序.TAR文件放入您下载DDK的目录中。
在您下载DDK的目录中,打开thekernel-ahv-nutanix文件夹,然后找到thenutanix-build.sh文件。
在文本编辑器中打开nutanix-build.sh并搜索字符串external_driver_dirs。在该部分末尾添加驱动程序的名称并保存更改。
external_driver_dirs =(
$(cd ../hpsa-3.4.18/drivers/scsi; pwd)
$(CD ../mpt3sas-27.00.00.00; PWD)
$(CD ../smc_sum_driver-1.6.0; PWD)
$(CD ../smartpqi-1.1.2-125; PWD)
$(CD ../i40e-2.9.21/src; PWD)
)
笔记:/src文件夹是i40e make文件所在的位置。对于AHV,编辑nutanix-build.sh,并运行制作在Docker中的命令。
$ start-docker.sh kernel-ahv
该命令创建一个名为Kernel-ahv-xxx.tar的TAR文件。使用.tar文件进行METIS资格。笔记:
要仅创建一个文件,请将文件的名称用作参数:对于凤凰,请使用start-docker.sh制作内核 - phoenix。此命令导致thekernel-phoenix-xxx.tar文件。
对于CVM,请使用start-docker.sh make kernel-cvm。此命令会导致内核cvm-xxx.tar文件。
要创建所有三个文件,请使用制作没有任何参数的命令:
对于AHV,Phoenix和CVM,请使用start-docker.sh make。此命令导致创建所有三个焦油文件。
焦油文件包含./boot/kernel,,,,./lib/modules/version-ddk/extra/i40e.ko和其他内核模块;如果选择。
词汇表
词汇表
AHV
天然的nutanix管理程序。
AOS
Nutanix操作系统。
BMC
底板管理控制器,管理主板的微控制器。
BMC IP地址
为BMC提供远程管理访问的网络地址。
CVM
控制器虚拟机,每个nutanix节点上都存在的领导者VM。
CVM IP地址
为CVM提供远程管理访问的网络地址。
基金会VM
管理基础成像工具的虚拟机。
管理程序IP地址
提供对托管虚拟机的访问权限的网络地址(AHV,ESXI,Hyper-V)。
IPMI
智能平台管理接口,一种直接管理系统硬件的手段,而无需浏览操作系统或CPU。
METIS VM
管理METIS硬件验证工具的虚拟机。
节点IP地址
CVM,管理程序和IPMI IP地址的集体术语。
非BMC IP地址
CVM和管理程序IP地址的集体术语。