This program rely on ipmitool to access BMC. install ipmitool: To install the ipmitool software execute the following commands from a root shell: Enterprise Linux 5.x / CentOS 5.x: # yum install OpenIPMI OpenIPMI-tools Enterprise Linux 6.x / CentOS 6.x or Fedora: # yum install OpenIPMI ipmitool Enterprise Linux 7.x / CentOS 7.x or Fedora: # yum install OpenIPMI ipmitool Ubuntu 14.04 LTS: # apt-get install ipmitool To enable IPMI access for non-Ubuntu distributions execute the following commands from a root shell: # /sbin/chkconfig ipmi on # service ipmi start To enable IPMI access for Ubuntu execute the following commands from a root shell: # modprobe ipmi_devintf # modprobe ipmi_si DOS enviroment does not support IPMI option. ----------------------------------------------------------------------------- Usage: FRUTool [ID=id] [options] [info1=Data] [info2=Data] ... Options: FILE ----- Set input file IPMI ----- Set ipmitool command line Chassis Info. CTY ------ Chassis Type (1-17) CPN ------ Chassis Part Number CSN ------ Chassis Serial Number CEX# ----- Chassis Extra data(0 - 7) Board Info. BDT ------ Board Mfg (YYYY/MM/DD) BMF ------ Board Manufacturer BPN ------ Board Product Name BSN ------ Board Serial Number BPA ------ Board Part Number BFI ------ Board FRU File ID BEX# ----- Board Extra data(0 - 7) Product Info. PMF ------ Product Manufacturer PPN ------ Product Product Name PPM ------ Product Part/Model Number PPV ------ Product Product Version PSN ------ Product Serial Number PAT ------ Product Asset Tag PFI ------ Product FRU File ID PEX# ----- Product Extra data(0 - 7) Format: Enclosed with '"' if spaces needed. eg. "PPN=product name" Started w/ hex followed by ',' to set data type, eg. "CEX0=0x00,0x1 0x2 0x3" Option w/o data and '=' to use barcode scanner, w/o data but w/ '=' to erase. Example: FRUTool ID=0 BDT=2018/1/1 BSN=123456 - Set Mfg Date=2018/1/1, SN=123456 FRUTool ID=0 BDT BPN BSN - Mfg Date=system date, auto Product Name, scan SN More examples: FRUTool ID=0 "CEX0=0x00,0xa 0xb 0xc 0xd" - Set chassis extra data0 to 0xa 0xb 0xc 0xd FRUTool ID=0 CEX1= - Delete chassis extra data1 FRUTool ID=0 "PMF=Product Manufacturer" - Set product manufacturer string with space FRUTool ID=0 "ipmi=ipmitool -H 192.168.0.100 -U admin -P admin" - Assign ipmitool path and IP address to do remote access. - Do not use BDT (retrieve system date) on remote access, need to set Mfg date manually. - Do not use BPN (detect product name) on remote access, need to set product name manually. FRUTool fruif=input.bin - Display FRU info from file input.bin. FRUTool fruif=input.bin fruof=output.bin CSN=CSN_123456 - Read FRU data from input.bin, set chassis serial number, write to output.bin. FRUTool fruszie=1024 fruof=output.bin PPV=v1.00 - Generate FRU output file output.bin with product version info. FRUTool id=0 fruof=output.bin - Read FRU data from BMC, write to output.bin. FRUTool file=FRUTool.txt - input from file, check FRUTool.txt (as below) for details //Example input file >>> ID=0 CSN=12345678 CEX0=0x00,0xa 0xb 0xc 0xd CEX1=0x00,0x1,0x2,0x3,0x4,0x05,0x06,0x7,0x8 BDT BMF=ASRockRack BPN BSN=123-456-789 BEX0=0x00,0x01 0x02 0x03 0x04 PMF=Product Manufacturer PPN=Product Name PPM= //Example input file <<<