1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253
|
-------------------------------------
INSTALL for ipmiutil source
-------------------------------------
The ipmiutil source package provides IPMI-based utilities and kernel
patches for managing various servers in Linux or Windows.
The same source files can be built in both Linux and Windows as shown
below.
-------------------------------------
Build instructions for Linux
-------------------------------------
To build with some GPL code:
If you are building ipmiutil for open-source, then the MD2 hash
for IPMI LAN and the valinux driver interface (/dev/ipmikcs) can
be supported. If so, you should specify the following during
configure:
"./configure --enable-gpl"
The default is to build with only BSD-licensed code and not to
include the MD2 and valinux features. The md2.h and ipmi_ioctl.h
files with GPL code can be removed if this option is not enabled.
To build a standalone binary without IPMI LAN 2.0 (lanplus plugin),
which may be desirable for use on bootable media (USB/CDROM), to
decrease the size or to avoid using libcrypto, you can specify the
following during configure:
"./configure --disable-lanplus"
or
"./configure --enable-standalone"
builds it without lanplus libs and without GPL code.
To add LanDesk IPMI support:
Support for the LanDesk IPMI driver requires a library supplied by
LanDesk (libipmiapi.a). After obtaining this library, place it in
lib/libipmiapi.a. Then you can link ipmiutil to support it by
specifying the following during configure:
"./configure --enable-landesk=yes"
Steps to build for Linux:
# ./beforeconf.sh
Which automates these functions:
* copying libtool files
* aclocal (may be needed if automake versions are different)
* autoconf (may be needed if automake versions are different)
* automake
# ./configure
--enable-landesk adds landesk library support [default=no]
--disable-lanplus disable lanplus library support
--enable-standalone build standalone, with no GPL or LanPlus libs.
--enable-gpl build with some GPL code [default=no]
# make
To add the ifruset utility, which allows setting any FRU Product fields:
# cd util; make ifruset
# ifruset -?
To build and install an rpm package, use one of the following:
# make install
# make rpm
The make rpm produces a binary rpm, and a source rpm, which can be
installed with "rpm -i *.rpm".
To build and install a Debian package, do this:
# dpkg-buildpackage
then install it with "dpkg -i *.deb".
-------------------------------------
Build instructions for Windows
-------------------------------------
The ipmiutil Windows binaries for each release are pre-built and posted
at http://ipmiutil.sourceforge.net, but here is how to build the ipmiutil
EXEs for Windows from source.
Note that the WIN32 compile flag is used.
The ipmiutil buildwin.cmd shows how to compile and link the lib and exe
files, although many people prefer instead to do builds with the
Microsoft VisualStudio project GUI.
See also ipmiutil UserGuide section 5.2 for more details if needed.
1) Install Visual Studio
The build environment assumes that VisualStudio 6.0 VC98 or
later is installed.
2) Download contrib files
Before running buildwin.cmd, first download the contributed
files for Windows (includes getopt.c and openssl).
A copy of these files is available from
http://ipmiutil.sf.net/FILES/ipmiutil-contrib.zip
3) Copy initial contrib files into ipmiutil
Below are sample directories where ipmiutil*.tar.gz was unpacked,
and where the openssl*.tar.gz was unpacked.
> set ipmiutil_dir=c:\dev\ipmiutil
> set openssl_dir=c:\dev\openssl
First, copy the getopt.c & getopt.h into the util directory.
From the directory where ipmiutil-contrib.zip was unpacked,
> copy getopt.* %ipmiutil_dir%\util
The iphlpapi.lib comes from VS 2003 .Net or Win2003 DDK.
> copy iphlpapi.lib %ipmiutil_dir%\lib
> copy iphlpapi.h %ipmiutil_dir%\util
4) Build the openssl libraries
To build from original source you would then want to build a copy of openssl
for Windows, and copy the built openssl files to lib & inc.
Follow the openssl build instructions from INSTALL.W32 for VC++ to build
these binaries. Note that perl must also be installed first.
5) Copy the resulting LIB and DLL binaries to ipmiutil
> copy %openssl_dir%\out32dll\libeay32.lib %ipmiutil_dir%\lib
> copy %openssl_dir%\out32dll\ssleay32.lib %ipmiutil_dir%\lib
> copy %openssl_dir%\out32dll\libeay32.dll %ipmiutil_dir%\util
> copy %openssl_dir%\out32dll\ssleay32.dll %ipmiutil_dir%\util
> mkdir %ipmiutil_dir%\lib\lanplus\openssl
> copy %openssl_dir%\include\openssl\*.h %ipmiutil_dir%\lib\lanplus\openssl
6) Set the Visual Studio variables with vcvars*.bat
For your installation of Microsoft Visual Studio, it has batch files to
set the Visual C variables. Run the appropriate architecture version of
these batch files to set the VC variables.
Example:
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat
or
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
or
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat
7) Run buildwin.cmd
buildwin.cmd will build all of the Windows EXE and DLL files.
If you are using ipmiutil for a bootable WinPE environment, and do not need
Serial-Over-LAN functionality, the buildwin2.cmd will build the Windows EXE
files without using the openssl libraries, to simplify the process. The
openssl libraries are required for the IPMI LAN 2.0 crypto functions that
Serial-Over-LAN requires.
-------------------------------------
Build instructions for Solaris
-------------------------------------
# iver=2.7.9
# uname -a
SunOS unknown 5.10 Generic_127128-11 i86pc i386 i86pc
# gunzip ipmiutil-${iver}.tar.gz
# tar xvf ipmiutil-${iver}.tar
# cd ipmiutil-${iver}
# PATH=/usr/sbin:/usr/bin:/usr/ucb:/usr/openwin:/usr/ccs/bin:/usr/sfw/bin
# ./configure
# make
# make tarsol
This produces /tmp/ipmiutil-${iver}-solaris.tar with the binaries.
# gzip /tmp/ipmiutil-${iver}-solaris.tar
Solaris Release Notes:
- Built with support for bmc, lan, and lanplus interfaces.
Supports the Solaris 10 /dev/bmc driver via putmsg method.
- Requests to slave addresses other than BMC are not supported by
the Solaris bmc driver (e.g. to HSC at 0xc0), and are sent to
the BMC sa instead.
- Memory mapping logic returns an error (e.g. BIOS version).
- idiscover -a broadcast ioctl works now in ipmiutil-2.3.1
To Install on Solaris:
gunzip /tmp/ipmiutil-${iver}-solaris.tar.gz
tar xvf /tmp/ipmiutil-${iver}-solaris.tar
./install.sh
-------------------------------------
Build instructions for FreeBSD
-------------------------------------
# iver=2.7.9
# gunzip ipmiutil-${iver}.tar.gz
# tar xvf ipmiutil-${iver}.tar
# cd ipmiutil-${iver}
# ./configure
# make
# make tarbsd
This produces /tmp/ipmiutil-${iver}-bsd.tar with the binaries.
# gzip /tmp/ipmiutil-${iver}-bsd.tar
FreeBSD Release Notes:
- ipmiutil-2.3.5 supports FreeBSD with direct driverless KCS
- ipmiutil-2.5.2 adds support for FreeBSD 7.x ipmi driver port
To Install on FreeBSD:
gunzip /tmp/ipmiutil-${iver}-bsd.tar.gz
tar xvf /tmp/ipmiutil-${iver}-bsd.tar
./install.sh
-------------------------------------
Build instructions for MAC OSX
-------------------------------------
# iver=2.9.1
# tar -xvxf ipmiutil-${iver}.tar.gz
# cd ipmiutil-${iver}
# ./beforeconf.sh
There are some warnings shown, but this does the aclocal/autoconf/automake.
# ./configure
# make
# make tarbsd
This produces /tmp/ipmiutil-${iver}-bsd.tar with the binaries.
# mv /tmp/ipmiutil-${iver}-bsd.tar /tmp/ipmiutil-${iver}-macos.tar
# gzip /tmp/ipmiutil-${iver}-macos.tar
To Install on MacOS from a Terminal:
gunzip /tmp/ipmiutil-${iver}-macos.tar.gz
tar xvf /tmp/ipmiutil-${iver}-macos.tar
./install.sh
Release Notes for MAC OSX:
- ipmiutil-2.9.1 supports MacOSX client builds
- Does not yet support AppleBMC.kext, pending documentation
---------------------------------------
Build instructions for ARM (Android)
---------------------------------------
# tar -xzvf ipmiutil-${iver}.tar.gz
# cd ipmiutil-${iver}
# ./configure --enable-standalone --host=arm
# make
|