美文网首页
记一次windows下编译ipmitool

记一次windows下编译ipmitool

作者: MrSunday_8955 | 来源:发表于2019-01-31 11:21 被阅读0次

    最近工作中用到服务器的ipmi功能,linux上使用的大多是ipmitool这个命令,为了平台之间的统一,windows也计划使用ipmitool这个工具。但是google之后,发现windows版的ipmitool鲜有发布的工具包,所以就自己动手体验了一下ipmitool的编译。

    我的编译环境清单如下

    1、操作系统 Win7 SP1操作系统

    2、cygwin版本 CYGWIN_NT-6.1

    3、ipmitool源码包 ipmitool-IPMITOOL_1_8_18

        下载地址: https://github.com/ipmitool/ipmitool

    编译步骤,如下

    1、打开cygwin terminal,cd到源码目录

        $ cd /cygdrive/c/ipmitool-IPMITOOL_1_8_18/

    2、运行bootstrap脚本,生成configure

        $ ./bootstrap

        + aclocal

        + libtoolize --automake --copy

        + autoheader

        + automake --foreign --add-missing --copy

        configure.ac:6: installing './config.guess'

        configure.ac:6: installing './config.sub'

        configure.ac:7: installing './install-sh'

        configure.ac:7: installing './missing'

        lib/Makefile.am: installing './depcomp'

        + aclocal

        + autoconf

        + automake --foreign

    3、使用configure -h可以查看编译时可以指定参数,主要是接口参数

        $ ./configure -h

    4、配置编译项,主要是指定编译的接口。这里只指定lan、lanplus接口(不同平台支持不同的接口,--enable-intf-open为linux专用接口,windows不支持)

        $ ./configure --enable-intf-lan --enable-intf-lanplus 

    配置完成后,可以看到你指定的接口已经标记为yes。一般显示如下:

        ipmitool 1.8.18-csv

        Interfaces

          lan    : yes

          lanplus : yes

          open    : no

          free    : no

          imb    : no

          bmc    : no

          usb    : no

          lipmi  : no

          serial  : yes

          dummy  : no

        Extra tools

          ipmievd  : yes

          ipmishell : no

    5、使用make进行编译

        $ make

        ......

        make[2]: 对“all”无需做任何事。

        make[2]: 离开目录“/cygdrive/c/ipmitool-IPMITOOL_1_8_18/control”

        make[2]: 进入目录“/cygdrive/c/ipmitool-IPMITOOL_1_8_18”

        make[2]: 离开目录“/cygdrive/c/ipmitool-IPMITOOL_1_8_18”

        make[1]: 离开目录“/cygdrive/c/ipmitool-IPMITOOL_1_8_18”

        表示编译成功。

    编译成功后在ipmitool-IPMITOOL_1_8_18/src/.libs下存放的是真实的ipmitool.exe可执行文件,src目录下的只是一个wrapper script。

        C:\ipmitool-IPMITOOL_1_8_18\src\.libs>ls

        ipmievd.exe          ipmitool.exe          lt-ipmievd.c

        ipmievd_ltshwrapper  ipmitool_ltshwrapper  lt-ipmitool.c

    6、制作独立副本ipmitool

    将编译好的ipmitool和cygwin静态库(我安装的cygwin在C:\cygwin64目录)提取出来存放在一起,就可以在没有安装cygwin的环境使用了。

        1、C:\ipmitool-IPMITOOL_1_8_18\src\.libs\ipmitool.exe

        2、C:\cygwin64\bin\cygcrypto-1.0.0.dll

        3、C:\cygwin64\bin\cygwin1.dll

        4、C:\cygwin64\bin\cygz.dll

        5、C:\cygwin64\bin\cyggcc_s-seh-1.dll (有的环境是cyggcc_s-1.dll)

    总结:完成工作之余,我对所有可以使用的ipmi工具做了对比。我觉得ipmitool和ipmiutil都是可以选择的好工具。由于windows没有和linux类似的通用openipmi驱动,所以使用ipmitool不能像linux一样通过内核级API访问ipmi(即不支持本地操作)。如果对使用工具没有要求,windows环境可以试试ipmiutil这个工具,它是支持本地访问ipmi的。在既要支持本地使用ipmi,又要支持网络访问ipmi的需求下,我认为在linux系统上使用ipmitool具有通用性;在windows上使用ipmiutil更胜一筹。

    相关文章

      网友评论

          本文标题:记一次windows下编译ipmitool

          本文链接:https://www.haomeiwen.com/subject/rdeqyftx.html