diff --git a/classes/config-in-skeleton.bbclass b/classes/config-in-skeleton.bbclass
new file mode 100644
index 0000000..33266be
--- /dev/null
+++ b/classes/config-in-skeleton.bbclass
@@ -0,0 +1,28 @@
+# In general this class should only be used by board layers
+# that keep their machine-readable-workbook in the skeleton repository.
+
+inherit allarch
+inherit setuptools
+
+SRC_URI += "git://github.com/openbmc/skeleton;subpath=configs"
+S = "${WORKDIR}/configs"
+
+python() {
+	machine = d.getVar('MACHINE', True).capitalize() + '.py'
+	d.setVar('_config_in_skeleton', machine)
+}
+
+do_make_setup() {
+        cp ${S}/${_config_in_skeleton} \
+                ${S}/obmc_system_config.py
+        cat <<EOF > ${S}/setup.py
+from distutils.core import setup
+
+setup(name='${BPN}',
+    version='${PR}',
+    py_modules=['obmc_system_config'],
+    )
+EOF
+}
+
+addtask make_setup after do_patch before do_configure
diff --git a/classes/obmc-phosphor-image.bbclass b/classes/obmc-phosphor-image.bbclass
index ce54777..c715ded 100644
--- a/classes/obmc-phosphor-image.bbclass
+++ b/classes/obmc-phosphor-image.bbclass
@@ -36,15 +36,17 @@
         ssh-server-dropbear \
         "
 
-IMAGE_INSTALL += " \
-        bash \
+CORE_IMAGE_EXTRA_INSTALL_append = " bash \
         packagegroup-obmc-phosphor-apps-extras \
         i2c-tools \
         screen \
         inarp \
         obmc-console \
+        ${OBMC_IMAGE_EXTRA_INSTALL} \
         "
 
+OBMC_IMAGE_EXTRA_INSTALL ?= ""
+
 def build_overlay(d):
         if bb.utils.contains("IMAGE_FSTYPES", "overlay", "overlay", "0", d) != "0":
                 return "image-overlay"
diff --git a/common/recipes-phosphor/skeleton/skeleton.bb b/common/recipes-phosphor/skeleton/skeleton.bb
index 1d45d16..9762792 100644
--- a/common/recipes-phosphor/skeleton/skeleton.bb
+++ b/common/recipes-phosphor/skeleton/skeleton.bb
@@ -11,34 +11,39 @@
 inherit obmc-phosphor-policy-mgmt
 inherit obmc-phosphor-sensor-mgmt
 inherit obmc-phosphor-system-mgmt
+inherit pythonnative
+inherit python-dir
+
+VIRTUAL-RUNTIME_skeleton_workbook ?= ""
 
 DEPENDS += "glib-2.0 systemd"
-RDEPENDS_${PN} += "python-subprocess python-compression libsystemd"
+RDEPENDS_${PN} += "python-subprocess python-compression libsystemd ${VIRTUAL-RUNTIME_skeleton_workbook}"
 SRC_URI += "git://github.com/openbmc/skeleton"
 
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/*"
+
 # RDEPEND on pflash if the openpower-pflash machine feature is set.
 PACKAGECONFIG ??= "${@bb.utils.contains('MACHINE_FEATURES', 'openpower-pflash', 'openpower-pflash', '', d)}"
 PACKAGECONFIG[openpower-pflash] = ",,,pflash"
 
-SRCREV = "b2f3fd7a29ddf16ea6171b4b4649d9a0ea8be58d"
+SRCREV = "40187443840d0e419c13391b2091fda29d63dea4"
 
 S = "${WORKDIR}"
 
-do_compile() {
-        oe_runmake -C git
+# needed to invoke setuptools
+export STAGING_INCDIR
+export STAGING_LIBDIR
+export BUILD_SYS
+export HOST_SYS
+export PYTHON_SITEPACKAGES_DIR
 
-        # Remove deprecated files.
-        rm ${S}/git/bin/pflash
+do_compile() {
+        oe_runmake -C git PYTHON=${PYTHON}
 }
 
 do_install() {
-        source=${S}/git
-
-        install -d ${D}/${sbindir} ${D}${libdir}
-        for i in ${source}/bin/*; do
-                install $i ${D}/${sbindir}
-        done
-        for i in ${source}/lib/*; do
-                install $i ${D}/${libdir}
-        done
+        oe_runmake -C git install \
+                PYTHON=${PYTHON} \
+                DESTDIR=${D} \
+                PREFIX=/usr
 }
diff --git a/common/recipes-phosphor/skeleton/skeleton/skeleton.service b/common/recipes-phosphor/skeleton/skeleton/skeleton.service
index b001abf..35b6e6c 100755
--- a/common/recipes-phosphor/skeleton/skeleton/skeleton.service
+++ b/common/recipes-phosphor/skeleton/skeleton/skeleton.service
@@ -3,7 +3,7 @@
 
 [Service]
 Restart=always
-ExecStart=/usr/sbin/system_manager.py Palmetto
+ExecStart=/usr/sbin/system_manager.py
 
 [Install]
 WantedBy=multi-user.target
diff --git a/conf/machine/include/obmc-bsp-common.inc b/conf/machine/include/obmc-bsp-common.inc
index 260cc90..8d1fd7e 100644
--- a/conf/machine/include/obmc-bsp-common.inc
+++ b/conf/machine/include/obmc-bsp-common.inc
@@ -15,7 +15,7 @@
 
 IMAGE_FSTYPES += "overlay"
 IMAGE_FSTYPES += "cpio.${INITRAMFS_CTYPE}.u-boot"
-IMAGE_INSTALL += "u-boot-fw-utils"
+OBMC_IMAGE_EXTRA_INSTALL_append = " u-boot-fw-utils"
 
 IMAGE_CLASSES += "obmc-phosphor-image_types_uboot"
 
