ipmi linux编译,记一次windows下编译ipmitool

最近工作中用到服务器的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

编译步骤,如下:

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更胜一筹。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值