Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

MicroTCA-Tech-Lab/frugy

Repository files navigation

frugy - FRU Generator YAML

This is a tool which generates EEPROM images according to the IPMI FRU standard from YAML configuration files. It can also parse a FRU EEPROM image and write its contents to a YAML file, or dump them to stdout.

Installation

From PyPI:

pip3 install frugy

From GitHub:

pip3 install git+https://github.com/MicroTCA-Tech-Lab/frugy

Usage

$ frugy --help
usage: frugy [-h] [--version] [-o OUTPUT] [-w] [-r] [-d]
 [-e EEPROM_SIZE] [-s SET] [-t] [-b] [-c] [-l [LIST]]
 [-v VERBOSITY] [--internal-area-size SIZE]
 [srcfile]
FRU Generator YAML
positional arguments:
 srcfile Source file for reading
optional arguments:
 -h, --help show this help message and exit
 --version show program's version number and exit
 -o OUTPUT, --output OUTPUT
 output file (derived from input file if not set)
 -w, --write FRU write mode (convert YAML to FRU image), default
 -r, --read FRU read mode (convert FRU image to YAML)
 -d, --dump dump FRU information to stdout (same as -r -o -)
 -e EEPROM_SIZE, --eeprom-size EEPROM_SIZE
 pad FRU image to match EEPROM size in bytes (only
 valid in write mode)
 -s SET, --set SET set FRU record field to a value (only valid in write
 mode)
 -t, --timestamp set BoardInfo.mfg_date_time timestamp to current UTC
 time (only valid in write mode)
 -b, --broken enable workaround to parse Opal Kelly EEPROMs
 -c, --ignore-checksum-errors
 ignore checksum errors when parsing a FRU image
 -l [LIST], --list [LIST]
 list supported FRU records or schema of specified
 record
 -v VERBOSITY, --verbosity VERBOSITY
 set verbosity (0=quiet, 1=info, 2=debug)

Examples

frugy damc-fmc2zup.yml

Read damc-fmc2zup.yml configuration, generate FRU image damc-fmc2zup.bin.

frugy damc-fmc2zup.yml -o fmc2zup_fru_eeprom.bin -e 2048

Read damc-fmc2zup.yml configuration, generate fmc2zup_fru_eeprom.bin, make it 2048 bytes (pad with 0xff).

frugy damc-fmc2zup.bin -r

Read and parse FRU image damc-fmc2zup.bin, generate YAML file damc-fmc2zup.yml.

frugy dmmc-stamp.yml -s BoardInfo.serial_number=1234 -s ProductInfo.version=1.0 -t

Read dmmc-stamp.yml, generate FRU with BoardInfo.serial_number set to 1234, ProductInfo.version to 1.0 and BoardInfo.mfg_date_time to current UTC time.

frugy dmmc-stamp.yml -s serial_number=1234 -t

Read dmmc-stamp.yml, generate FRU with BoardInfo.serial_number and ProductInfo.serial_number set to 1234 and BoardInfo.mfg_date_time to current UTC time.

frugy -l

Show list of all supported FRU records.

frugy -l PointToPointConnectivity

Show layout of the FRU record called 'PointToPointConnectivity'.

Supported FRU records

YAML keywords for supported FRU records

Example configuration file

BoardInfo:
 manufacturer: DESY
 product_name: DMMC-STAMP Rev.A
 serial_number: '0000'
 part_number: '0000'
 fru_file_id: none
ProductInfo:
 manufacturer: DESY
 product_name: DMMC-STAMP Rev.A
 part_number: '0000'
 version: '0000'
 serial_number: '0000'
 asset_tag: none
 fru_file_id: none
MultirecordArea:
- type: ModuleCurrentRequirements
 current_draw: 6.5

More example configurations are stored in the examples folder.

AltStyle によって変換されたページ (->オリジナル) /