diff --git a/meta-phosphor/classes/image_version.bbclass b/meta-phosphor/classes/image_version.bbclass
new file mode 100644
index 0000000..f9abb5f
--- /dev/null
+++ b/meta-phosphor/classes/image_version.bbclass
@@ -0,0 +1,26 @@
+# Base image version class extension
+
+def do_get_version(d):
+    import configparser
+    import io
+    path = d.getVar('STAGING_DIR_HOST', True) + d.getVar('sysconfdir', True)
+    path = os.path.join(path, 'os-release')
+    parser = configparser.SafeConfigParser(strict=False)
+    parser.optionxform = str
+    version = ''
+    try:
+        with open(path, 'r') as fd:
+            buf = '[root]\n' + fd.read()
+            fd = io.StringIO(buf)
+            parser.readfp(fd)
+            version = parser['root']['VERSION_ID']
+    except:
+        pass
+    return version
+
+def do_get_versionID(d):
+    import hashlib
+    version = do_get_version(d)
+    version = version.strip('"')
+    version_id = (hashlib.sha512(version.encode('utf-8')).hexdigest())[:8]
+    return version_id
