blob: d7a4d094c6d5330fbc0ad1715ebac3889d84a73f [file] [log] [blame]
vpd_encode alpha
License: GPLv2 (See COPYING for details)
Summary:
This is an alpha version of a vital product data (VPD) generator which follows
follows Google's specification. It will generate a binary file containing VPD
which can be copied into a final location. The VPD must be aligned on a 16-byte
boundary in whatever final medium it is stored in.
How to configure:
This version of vpd_encode is part of the Mosys system utility and uses the
Linux kernel build system. To generate a VPD blob, you must first run one of the
configuration targets (e.g. "make menuconfig" or "make xconfig").
Mosys configuration menu
--> Tools
--> Vital Product Data (VPD) Encoder
--> VPD Configuration
From here, you may configure the variables required for Google VPD. Remember to
save the configuration when you exit.
How to build:
Type "make vpd_encode" to generate the vpd_encode executable. Once that is
complete, you may run the executable. If successful, vpd.bin will be placed in
the location specified (default is in the current working directory).
How to run:
vpd_encode will simply generate the binary data blob if run without arguments.
By default, the output filename will be vpd.bin.
What to do with the output file:
The output file should be copied directly into another binary where presence of
VPD is required. The VPD must be aligned to a 16-byte boundary (The lowest order
byte must be 0).
For example, here is how to embed a VPD binary blob into a file using the "dd"
command: dd if=vpd.bin of=output.bin bs=1 seek=$((0xf0000)) conv=notrunc
The file must be large enough to accommodate the VPD binary in addition to any
existing data. Assuming the structure table address (in the Entry Point
Structure configuration menu), you may use dmidecode to test the VPD: