Skip to content

makise-homura/mcst-fruid

Repository files navigation

== Build flavors

* ARM (OpenBMC) binary: uses `mtd` driver to access SPI flash
* Elbrus (e2k) binary: uses `spidev` driver to access SPI flash

== Build

You should have meson to build this.

* `mkdir build; cd build; meson ..`: create build area and configure project

You may specify SPI backend parameter to meson:

* `-Dspi_backend=mtd`: uses `mtd` driver to access SPI flash
* `-Dspi_backend=spidev`: uses `spidev` driver to access SPI flash
* `-Dspi_backend=auto` (default): automatically detect driver to access SPI flash

In the latest case, elbrus (e2k) uses `spidev`, and all other architectures use `mtd`.

Thewn you can make targets:

* `ninja`: Build `mcst-fruid` executable
* `ninja install`: install binary to /usr/local/sbin (and systemd service, if available)
* `ninja uninstall`: remove binary (and systemd service, if possible)
* `cd ..; rm -rf build`: remove build area

You may specify `--prefix` to meson to override default `/usr/local`.

Build-time dependencies:

* `libi2c` (from `i2c-tools`)

== Run

Binary is to be run without parameters.

No interaction with `stdin` or `stdout` is presumed, except for error messages to `stderr`.

Run-time dependencies:

* All build-time dependencies (shared libraries)
* `dtc` (from kernel sources)
* Kernel driver `i2c-dev` should be loaded before running
* Kernel driver `at24` should be available prior to running
* Kernel driver `spidev` or `mtd` (depending on build flavor) should be loaded before running
* Directory `/var/volatile` must exist
* SPI flash should be connected (in case of BMC, GPIO_SPI_CONNECT should be in 1)

Output files:

* `/var/volatile/motherboard_info.xml`: motherboard FRU information in XML format
* `/var/volatile/motherboard_devtree.dtb`: binary motherboard device tree
* `/var/volatile/motherboard_devtree.dts`: decompiled motherboard device tree

About

A reader for FRU ID data and device tree for MCST motherboards designed to be used in REIMU

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published