vpdtools ======== Tools to create VPD for OpenPOWER systems Source: https://github.com/open-power/vpdtools VPD Format Spec: https://www-355.ibm.com/systems/power/openpower/posting.xhtml?postingId=1D060729AC96891885257E1B0053BC95 Overview ======== The VPD tools are for use in creation of binary VPD images for OpenPOWER systems createVpd.py Desc: Creates a binary VPD image from one or more input XML files Input: VPD template XML files that describe the contents of VPD Output: Binary VPD image and single XMl file that matches image reverseVpd.py Desc: Takes a binary VPD image and creates template XML files from it Input: Binary VPD image Output: Template XML files that can be modified and used to create a new image Note: Since data format (ascii vs hex) is not stored in VPD, the tool simply makes a best guess by examining the data within the keyword Dependencies ============ Python 2.7 is required. NOTE: RHEL6 is python 2.6 and this tool will not run there xmllint, if installed, is used to cleanup the formatting of the output xml On Ubuntu/Debian: 'apt-get install libxml2-utils' On Redhat/Fedora: 'yum install libxml2' Examples ======== The tool comes with a set of example input files A number of the files describe specific syntax features of the tool Also included are examples of complete memcard and sysplanar templates sysplanar creation example -------------------------- $ ./createVpd.py -m examples/p8/sysplanar/sysplanar.tvpd -i examples/p8/sysplanar -o /tmp/vpdout ==== Stage 1: Parsing tvpd XML Parsing tvpd examples/p8/sysplanar/sysplanar.tvpd Parsing tvpd examples/p8/sysplanar/openPower_vini_sample.xml Parsing tvpd examples/p8/sysplanar/openPower_osys_sample.xml Parsing tvpd examples/p8/sysplanar/openPower_opfr_sample.xml Parsing tvpd examples/p8/sysplanar/openPower_vndr_sample.xml Parsing tvpd examples/p8/sysplanar/openPower_veir_sample.xml Parsing tvpd examples/p8/sysplanar/openPower_ver0_sample.xml Parsing tvpd examples/p8/sysplanar/openPower_mer0_sample.xml Parsing tvpd examples/p8/sysplanar/openPower_vmsc_sample.xml Parsing tvpd examples/p8/sysplanar/openPower_vrtn_sample.xml ==== Stage 2: Verifying tvpd syntax Checking record VINI Checking record OSYS Checking record OPFR Checking record VNDR Checking record VEIR Checking record VER0 Checking record MER0 Checking record VMSC Checking record VRTN ==== Stage 3: Creating VPD output files Wrote tvpd file: /tmp/vpdout/sysplanar.tvpd Wrote vpd file: /tmp/vpdout/sysplanar.vpd single record example --------------------- $ ./createVpd.py -c -m examples/p9/sysplanar32_ddr4/openPower_vini_sample.xml -o /tmp ==== Stage 1: Parsing VPD XML files Parsing file examples/p9/sysplanar32_ddr4/openPower_vini_sample.xml ==== Stage 2: Verifying tvpd syntax Verifying record VINI ==== Stage 3: Creating VPD output files Wrote tvpd file: /tmp/openPower_vini_sample.xml License ======= See LICENSE