Git Product home page Git Product logo

vpdtools's Introduction

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

Memory VPD
==========
If you are looking to create memory keyword binaries from attribute override files, see this tool in hostboot:
https://github.com/open-power/hostboot/blob/master/src/import/tools/genMemVpd.pl

The output files can then be used as input binary keyword files for createVpd.py

License
=======
See LICENSE

vpdtools's People

Contributors

alvintpwang avatar dnickel avatar thejta avatar youhour avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vpdtools's Issues

Fields of ascii format are written as hex by createVpd.py

Could you please help debug and fix the problem we're having?
Attached please find the tarball with the VPD template file we're using.
Please pay attention to the VS keyword. It is of ascii type in the template.
However if I run ./createVpd.py -m mb-02051900A1.tvpd -o out, and then run
./reverseVpd.py -v out/mb-02051900A1.vpd, I get the mb-02051900A1.broken.tvpd file where the VS keyword and many other to-be-ascii keywords of the original template file are listed as of hex type with kwdata containing the original string converted to hex.
What's wrong? Is it anything in my original template, or is it a flaw in createVpd.py ?

Attachment: mb-02051900A1.tar.gz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.