.. _versioning: Version Scheme ============== Each firmware component has its own versioning scheme, and `op-build` brings all of these components together in one image with one global version number. Firmware versions are exposed to the user through both the device tree (:ref:`skiboot:device-tree/ibm,firmware-versions`) and the VERSION firmware partition. As such, firmware versioning numbers **MUST** follow the requirements in order for some functionality to be correct. skiboot :ref:`skiboot:versioning` Hostboot Currently just uses the git SHA1 of the commit OCC Currently just uses the git SHA1 of the commit Petitboot Uses a X.Y.Z versioning scheme. Linux We use the upstream Linux kernel version, and always append ``-openpowerN`` where N is a number starting at 1 that increases for each change we make to any additional patches carried in `op-build` for that specific kernel version. We follow the stable tree and have an "upstream *first*" policy in place.