diff --git a/meta-hpe/conf/layer.conf b/meta-hpe/conf/layer.conf
index 2b8f43b..da14cfc 100644
--- a/meta-hpe/conf/layer.conf
+++ b/meta-hpe/conf/layer.conf
@@ -7,7 +7,7 @@
 
 BBFILE_COLLECTIONS += "hpe-layer"
 BBFILE_PATTERN_hpe-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_hpe-layer = "hardknott"
+LAYERSERIES_COMPAT_hpe-layer = "hardknott honister"
 
 # Provide a variable that points the base of the hpe layer.
 HPEBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-hpe/conf/machine/include/hpe.inc b/meta-hpe/conf/machine/include/hpe.inc
index 1e928be..fbd360c 100644
--- a/meta-hpe/conf/machine/include/hpe.inc
+++ b/meta-hpe/conf/machine/include/hpe.inc
@@ -16,4 +16,4 @@
 PREFERRED_PROVIDER_virtual/obmc-host-ctl ?= ""
 #PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-hostfw-config ?= "hostboot-inventory-config-native"
 
-IMAGE_FEATURES_remove = "obmc-fan-control"
+IMAGE_FEATURES:remove = "obmc-fan-control"
diff --git a/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend
index 7c21fb4..721ad10 100644
--- a/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend
+++ b/meta-hpe/meta-common/recipes-phosphor/image/obmc-phosphor-image.bbappend
@@ -47,19 +47,19 @@
         "
 
 
-make_image_links_append() {
+make_image_links:append() {
     ln -sf ${DEPLOY_DIR_IMAGE}/hpe-section image-section
 }
 
-do_mk_static_symlinks_append() {
+do_mk_static_symlinks:append() {
     ln -sf hpe-section image-section
 }
 
-do_generate_static_prepend() {
+do_generate_static:prepend() {
     bb.build.exec_func("do_generate_hpe_image", d)
 }
 
-do_generate_static_append() {
+do_generate_static:append() {
     _append_image(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True),
                                'hpe-section'),
                   int(d.getVar('FLASH_SECTION_OFFSET', True)),
diff --git a/meta-hpe/meta-common/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend b/meta-hpe/meta-common/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend
index cdf163c..ab76653 100644
--- a/meta-hpe/meta-common/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend
+++ b/meta-hpe/meta-common/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend
@@ -1,11 +1,11 @@
-FILESEXTRAPATHS_prepend :="${THISDIR}/files:"
+FILESEXTRAPATHS:prepend :="${THISDIR}/files:"
 
 SRC_URI += "file://gxp-obmc-init.sh \
            "
 
-do_install_append() {
+do_install:append() {
         install -m 0755 ${WORKDIR}/gxp-obmc-init.sh ${D}/init
 }
 
-FILES_${PN} += " /init /shutdown /update /whitelist /dev "
-FILES_${PN} += " /init-options /init-download-url "
+FILES:${PN} += " /init /shutdown /update /whitelist /dev "
+FILES:${PN} += " /init-options /init-download-url "
diff --git a/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-hpe-apps.bb b/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-hpe-apps.bb
index 82a748b..3f16d41 100644
--- a/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-hpe-apps.bb
+++ b/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-hpe-apps.bb
@@ -16,31 +16,31 @@
 PROVIDES += "virtual/obmc-flash-mgmt"
 PROVIDES += "virtual/obmc-system-mgmt"
 
-RPROVIDES_${PN}-chassis += "virtual-obmc-chassis-mgmt"
-RPROVIDES_${PN}-fans += "virtual-obmc-fan-mgmt"
-RPROVIDES_${PN}-flash += "virtual-obmc-flash-mgmt"
-RPROVIDES_${PN}-system += "virtual-obmc-system-mgmt"
+RPROVIDES:${PN}-chassis += "virtual-obmc-chassis-mgmt"
+RPROVIDES:${PN}-fans += "virtual-obmc-fan-mgmt"
+RPROVIDES:${PN}-flash += "virtual-obmc-flash-mgmt"
+RPROVIDES:${PN}-system += "virtual-obmc-system-mgmt"
 
-SUMMARY_${PN}-chassis = "HPE Chassis"
-RDEPENDS_${PN}-chassis = " \
+SUMMARY:${PN}-chassis = "HPE Chassis"
+RDEPENDS:${PN}-chassis = " \
         obmc-phosphor-buttons-signals \
         obmc-phosphor-buttons-handler \
         obmc-op-control-power \
         obmc-host-failure-reboots \
         "
 
-SUMMARY_${PN}-fans = "HPE Fans"
-RDEPENDS_${PN}-fans = " \
+SUMMARY:${PN}-fans = "HPE Fans"
+RDEPENDS:${PN}-fans = " \
         phosphor-pid-control \
         "
 
-SUMMARY_${PN}-flash = "HPE Flash"
-RDEPENDS_${PN}-flash = " \
+SUMMARY:${PN}-flash = "HPE Flash"
+RDEPENDS:${PN}-flash = " \
         obmc-control-bmc \
         "
 
-SUMMARY_${PN}-system = "HPE System"
-RDEPENDS_${PN}-system = " \
+SUMMARY:${PN}-system = "HPE System"
+RDEPENDS:${PN}-system = " \
         bmcweb \
         phosphor-webui \
         phosphor-ipmi-ipmb \
diff --git a/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index fc6a055..101e9c1 100644
--- a/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-hpe/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -1,10 +1,10 @@
-RDEPENDS_${PN}-logging += "phosphor-logging"
-RDEPENDS_${PN}-extras += " bmcweb \
+RDEPENDS:${PN}-logging += "phosphor-logging"
+RDEPENDS:${PN}-extras += " bmcweb \
                            phosphor-webui \
                            phosphor-image-signing \
                            phosphor-pid-control \
 "
 
-RDEPENDS_${PN}-fan-control = " \
+RDEPENDS:${PN}-fan-control = " \
          ${VIRTUAL-RUNTIME_obmc-fan-control} \
          "
diff --git a/meta-hpe/meta-dl360poc/conf/layer.conf b/meta-hpe/meta-dl360poc/conf/layer.conf
index 6e3d5c4..999ad04 100644
--- a/meta-hpe/meta-dl360poc/conf/layer.conf
+++ b/meta-hpe/meta-dl360poc/conf/layer.conf
@@ -7,4 +7,4 @@
 
 BBFILE_COLLECTIONS += "dl360poc-layer"
 BBFILE_PATTERN_dl360poc-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_dl360poc-layer = "hardknott"
+LAYERSERIES_COMPAT_dl360poc-layer = "hardknott honister"
diff --git a/meta-hpe/meta-dl360poc/conf/local.conf.sample b/meta-hpe/meta-dl360poc/conf/local.conf.sample
index 586cbd7..4169866 100644
--- a/meta-hpe/meta-dl360poc/conf/local.conf.sample
+++ b/meta-hpe/meta-dl360poc/conf/local.conf.sample
@@ -2,11 +2,11 @@
 # This file is your local configuration file and is where all local user settings
 # are placed. The comments in this file give some guide to the options a new user
 # to the system might want to change but pretty much any configuration option can
-# be set in this file. More adventurous users can look at local.conf.extended 
+# be set in this file. More adventurous users can look at local.conf.extended
 # which contains other examples of configuration which can be placed in this file
 # but new users likely won't need any of them initially.
 #
-# Lines starting with the '#' character are commented out and in some cases the 
+# Lines starting with the '#' character are commented out and in some cases the
 # default values are provided as comments to show people example syntax. Enabling
 # the option is a question of removing the # character and making any change to the
 # variable as required.
@@ -14,26 +14,6 @@
 #
 # Machine Selection
 #
-# You need to select a specific machine to target the build with. There are a selection
-# of emulated machines available which can boot and run in the QEMU emulator:
-#
-#MACHINE ?= "qemuarm"
-#MACHINE ?= "qemuarm64"
-#MACHINE ?= "qemumips"
-#MACHINE ?= "qemuppc"
-#MACHINE ?= "qemux86"
-#MACHINE ?= "qemux86-64"
-#
-# There are also the following hardware board target machines included for 
-# demonstration purposes:
-#
-#MACHINE ?= "beaglebone"
-#MACHINE ?= "genericx86"
-#MACHINE ?= "genericx86-64"
-#MACHINE ?= "mpc8315e-rdb"
-#MACHINE ?= "edgerouter"
-#
-# This sets the default machine to be qemux86 if no other machine is selected:
 MACHINE ??= "dl360poc"
 
 #
@@ -82,12 +62,12 @@
 #
 # The distribution setting controls which policy settings are used as defaults.
 # The default value is fine for general Yocto project use, at least initially.
-# Ultimately when creating custom policy, people will likely end up subclassing 
+# Ultimately when creating custom policy, people will likely end up subclassing
 # these defaults.
 #
 DISTRO ?= "openbmc-phosphor"
 # As an example of a subclass there is a "bleeding" edge policy configuration
-# where many versions are set to the absolute latest code from the upstream 
+# where many versions are set to the absolute latest code from the upstream
 # source control systems. This is just mentioned here as an example, its not
 # useful to most new users.
 # DISTRO ?= "poky-bleeding"
@@ -95,8 +75,8 @@
 #
 # Package Management configuration
 #
-# This variable lists which packaging formats to enable. Multiple package backends 
-# can be enabled at once and the first item listed in the variable will be used 
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
 # to generate the root filesystems.
 # Options are:
 #  - 'package_deb' for debian style deb files
@@ -107,24 +87,26 @@
 PACKAGE_CLASSES ?= "package_rpm"
 
 #
-# SDK/ADT target architecture
+# SDK target architecture
 #
-# This variable specifies the architecture to build SDK/ADT items for and means
-# you can build the SDK packages for architectures other than the machine you are 
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
 # running the build on (i.e. building i686 packages on an x86_64 host).
-# Supported values are i686 and x86_64
+# Supported values are i686, x86_64, aarch64
 #SDKMACHINE ?= "i686"
 
-SANITY_TESTED_DISTROS_append ?= " RedHatEnterpriseWorkstation-6.*"
+SANITY_TESTED_DISTROS:append ?= " *"
 
 #
 # Extra image configuration defaults
 #
-# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated 
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
 # images. Some of these options are added to certain image types automatically. The
 # variable can contain the following options:
 #  "dbg-pkgs"       - add -dbg packages for all installed packages
 #                     (adds symbol information for debugging/profiling)
+#  "src-pkgs"       - add -src packages for all installed packages
+#                     (adds source code for debugging)
 #  "dev-pkgs"       - add -dev packages for all installed packages
 #                     (useful if you want to develop against libs in the image)
 #  "ptest-pkgs"     - add -ptest packages for all ptest-enabled packages
@@ -132,41 +114,39 @@
 #  "tools-sdk"      - add development tools (gcc, make, pkgconfig etc.)
 #  "tools-debug"    - add debugging tools (gdb, strace)
 #  "eclipse-debug"  - add Eclipse remote debugging support
-#  "tools-profile"  - add profiling tools (oprofile, exmap, lttng, valgrind)
+#  "tools-profile"  - add profiling tools (oprofile, lttng, valgrind)
 #  "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
 #  "debug-tweaks"   - make an image suitable for development
 #                     e.g. ssh root access has a blank password
 # There are other application targets that can be used here too, see
 # meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
 # We default to enabling the debugging tweaks.
-EXTRA_IMAGE_FEATURES = "debug-tweaks"
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
 
 #
 # Additional image features
 #
 # The following is a list of additional classes to use when building images which
-# enable extra features. Some available options which can be included in this variable 
+# enable extra features. Some available options which can be included in this variable
 # are:
 #   - 'buildstats' collect build statistics
-#   - 'image-prelink' in order to prelink the filesystem image
-#   - 'image-swab' to perform host system intrusion detection
-# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
-# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
-USER_CLASSES ?= "buildstats image-prelink"
+USER_CLASSES ?= "buildstats"
 
 #
 # Runtime testing of images
 #
 # The build system can test booting virtual machine images under qemu (an emulator)
-# after any root filesystems are created and run tests against those images. To
-# enable this uncomment this line. See classes/testimage(-auto).bbclass for
-# further details.
-#TEST_IMAGE = "1"
+# after any root filesystems are created and run tests against those images. It can also
+# run tests against any SDK that are built. To enable this uncomment these lines.
+# See classes/test{image,sdk}.bbclass for further details.
+#IMAGE_CLASSES += "testimage testsdk"
+#TESTIMAGE_AUTO:qemuall = "1"
+
 #
 # Interactive shell configuration
 #
-# Under certain circumstances the system may need input from you and to do this it 
-# can launch an interactive shell. It needs to do this since the build is 
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
 # multithreaded and needs to be able to handle the case where more than one parallel
 # process may require the user's attention. The default is iterate over the available
 # terminal types to find one that works.
@@ -186,12 +166,12 @@
 #
 # Monitor the disk space during the build. If there is less that 1GB of space or less
 # than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
-# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort
 # of the build. The reason for this is that running completely out of space can corrupt
 # files and damages the build in ways which may not be easily recoverable.
 # It's necessary to monitor /tmp, if there is no space left the build will fail
 # with very exotic errors.
-BB_DISKMON_DIRS = "\
+BB_DISKMON_DIRS ??= "\
     STOPTASKS,${TMPDIR},1G,100K \
     STOPTASKS,${DL_DIR},1G,100K \
     STOPTASKS,${SSTATE_DIR},1G,100K \
@@ -204,13 +184,13 @@
 #
 # Shared-state files from other locations
 #
-# As mentioned above, shared state files are prebuilt cache data objects which can 
+# As mentioned above, shared state files are prebuilt cache data objects which can be
 # used to accelerate build time. This variable can be used to configure the system
 # to search other mirror locations for these objects before it builds the data itself.
 #
 # This can be a filesystem directory, or a remote url such as http or ftp. These
-# would contain the sstate-cache results from previous builds (possibly from other 
-# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the 
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
 # cache locations to check for the shared objects.
 # NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
 # at the end as shown in the examples below. This will be substituted with the
@@ -219,22 +199,57 @@
 #file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
 #file://.* file:///some/local/dir/sstate/PATH"
 
+#
+# Yocto Project SState Mirror
+#
+# The Yocto Project has prebuilt artefacts available for its releases, you can enable
+# use of these by uncommenting the following line. This will mean the build uses
+# the network to check for artefacts at the start of builds, which does slow it down
+# equally, it will also speed up the builds by not having to build things if they are
+# present in the cache. It assumes you can download something faster than you can build it
+# which will depend on your network.
+#
+#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/2.5/PATH;downloadfilename=PATH"
 
 #
 # Qemu configuration
 #
-# By default qemu will build with a builtin VNC server where graphical output can be
-# seen. The two lines below enable the SDL backend too. This assumes there is a
-# libsdl library available on your build system.
-PACKAGECONFIG_append_pn-qemu-native = " sdl"
-PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
-#ASSUME_PROVIDED += "libsdl-native"
+# By default native qemu will build with a builtin VNC server where graphical output can be
+# seen. The line below enables the SDL UI frontend too.
+#PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
+# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
+# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
+#ASSUME_PROVIDED += "libsdl2-native"
 
+# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds
+# a handy set of menus for controlling the emulator.
+#PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"
+
+#
+# Hash Equivalence
+#
+# Enable support for automatically running a local hash equivalence server and
+# instruct bitbake to use a hash equivalence aware signature generator. Hash
+# equivalence improves reuse of sstate by detecting when a given sstate
+# artifact can be reused as equivalent, even if the current task hash doesn't
+# match the one that generated the artifact.
+#
+# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format
+#
+#BB_HASHSERVE = "auto"
+#BB_SIGNATURE_HANDLER = "OEEquivHash"
+
+#
+# Memory Resident Bitbake
+#
+# Bitbake's server component can stay in memory after the UI for the current command
+# has completed. This means subsequent commands can run faster since there is no need
+# for bitbake to reload cache files and so on. Number is in seconds, after which the
+# server will shut down.
+#
+#BB_SERVER_TIMEOUT = "60"
 
 # CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
 # track the version of this file when it was generated. This can safely be ignored if
 # this doesn't mean anything to you.
-CONF_VERSION = "1"
-
-# Set the root password to '0penBmc'
-# Defaults from meta-phosphor/conf/distro/include/phosphor-defaults.inc
+CONF_VERSION = "2"
diff --git a/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc_%.bbappend b/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc_%.bbappend
index 57be249..4a6250e 100644
--- a/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc_%.bbappend
+++ b/meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc_%.bbappend
@@ -1,8 +1,8 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-obmc:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/linux-obmc:"
 SRC_URI += "file://gxp.dts \
             "
 
-do_patch_append() {
+do_patch:append() {
   for DTB in "${KERNEL_DEVICETREE}"; do
       DT=`basename ${DTB} .dtb`
       if [ -r "${WORKDIR}/${DT}.dts" ]; then
diff --git a/meta-hpe/meta-gxp/conf/layer.conf b/meta-hpe/meta-gxp/conf/layer.conf
index 4612c22..7a9a110 100644
--- a/meta-hpe/meta-gxp/conf/layer.conf
+++ b/meta-hpe/meta-gxp/conf/layer.conf
@@ -7,6 +7,6 @@
 BBFILE_COLLECTIONS += "gxp-layer"
 BBFILE_PATTERN_gxp-layer = "^${LAYERDIR}/"
 LAYERVERSION_gxp-layer = "1"
-LAYERSERIES_COMPAT_gxp-layer = "hardknott"
+LAYERSERIES_COMPAT_gxp-layer = "hardknott honister"
 
 GXPBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-hpe/meta-gxp/recipes-core/udev/udev-gxp-mtd-partitions.bb b/meta-hpe/meta-gxp/recipes-core/udev/udev-gxp-mtd-partitions.bb
index 9954b63..4321a39 100644
--- a/meta-hpe/meta-gxp/recipes-core/udev/udev-gxp-mtd-partitions.bb
+++ b/meta-hpe/meta-gxp/recipes-core/udev/udev-gxp-mtd-partitions.bb
@@ -7,7 +7,7 @@
 S = "${WORKDIR}"
 SRC_URI += "file://76-gxp-mtd-partitions.rules"
 
-RDEPENDS_${PN} += "udev"
+RDEPENDS:${PN} += "udev"
 
 do_install() {
     install -d ${D}/${nonarch_base_libdir}/udev/rules.d
diff --git a/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc.inc b/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc.inc
index 40de352..5c172b1 100644
--- a/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc.inc
+++ b/meta-hpe/meta-gxp/recipes-kernel/linux/linux-obmc.inc
@@ -10,7 +10,7 @@
 SRC_URI = "${KSRC}"
 SRC_URI += " file://defconfig"
 
-FILESEXTRAPATHS_prepend_linux-obmc := "${THISDIR}/linux-obmc:"
+FILESEXTRAPATHS:prepend_linux-obmc := "${THISDIR}/linux-obmc:"
 
 LINUX_VERSION_EXTENSION ?= "-${SRCREV}"
 
