Navigation Menu

Skip to content

dhendrix/mosys

Repository files navigation

mosys - The more 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.

Core components of mosys came from an internal project within Google (gsys)
and were opened as part of ChromiumOS, hence "more open."

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 commands are organized in a a hierarchy. Each supported platform will have
a specific set of commands made 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" that is present on the host platform.

Mosys returns EXIT_SUCCESS upon successful completion of a command. If a command
is not implemented for the host platform then it will return ENOSYS. Other
return values correspond to errno if possible to make determining what went
wrong easier, or a generic error code (EXIT_FAILURE) if unknown.

Use "mosys -t" to display the command tree for the host platform.