blob: 38dbedf4abf5d3df5f8da1ff17aafb1e8c956768 [file] [log] [blame]
mosys - The multifunction open system tool
Introduction
------------
Mosys is designed to aid in obtaining obscure system-specific information
and present it in a uniform, human-friendly manner that is also parseable. It
is intended to complement other systems software and may overlap in some areas.
Examples of information this program is useful for:
- Platform identification
- Snapshot of machine information
- Listing non-enumerable devices
- Retrieving vital product data
Due to the system-specific nature of this program, it is unlikely to work with
most platforms. A generic subset of functionality will be available, though
its usefulness may be extremely limited.
Configuration & Building
------------------------
Mosys uses the Linux kernel configuration and build system. "make help" lists
the available configuration and build targets.
After a fresh checkout, you will need to generate a configuration file before
the sources may be compiled. To do so, run a configuration target (ie "make
menuconfig") followed by a generic target such as "make" or "make all".
Usage
-----
Mosys uses a natural language syntax to navigate thru a command hierarchy for
a given platform. Each supported platform will have a specific set of commands
available.
Typically, top-level commands will reflect classes of hardware components
such as "cpu" or "sensor", available busses such as "pci" or "i2c", or a
type of information such as "smbios" or "vpd".
Mosys returns EXIT_SUCCESS upon successful completion of a command, or
EXIT_FAILURE if a command is not supported on a given platform. These values
are defined in the system's stdlib.h. In case of failure, mosys will also print
a message to stderr to let the user know.
Use "mosys -t" to display the command tree for the host platform.