summaryrefslogtreecommitdiffstats
path: root/README
blob: 9646e7b24871815430c90db54ceb8dbfd791c66d (plain)
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
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
OpenPOWER on IntegriCloud