diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass
index a4a05cf..6612bd6 100644
--- a/meta-phosphor/classes/image_types_phosphor.bbclass
+++ b/meta-phosphor/classes/image_types_phosphor.bbclass
@@ -2,6 +2,10 @@
 
 inherit image_version
 
+FIT_IMAGE_INHERIT=""
+FIT_IMAGE_INHERIT:df-obmc-static-norootfs = "fit-image"
+inherit ${FIT_IMAGE_INHERIT}
+
 # Phosphor image types
 #
 # Phosphor OpenBMC supports a fixed partition mtd layout,
@@ -13,21 +17,32 @@
 FLASH_KERNEL_IMAGE:df-obmc-ubi-fs ?= "fitImage-${MACHINE}.bin"
 
 IMAGE_BASETYPE ?= "squashfs-xz"
+IMAGE_BASETYPE:df-obmc-static-norootfs ?= "cpio"
 OVERLAY_BASETYPE ?= "jffs2"
 FLASH_UBI_BASETYPE ?= "${IMAGE_BASETYPE}"
 FLASH_UBI_OVERLAY_BASETYPE ?= "ubifs"
 FLASH_EXT4_BASETYPE ?= "ext4"
 FLASH_EXT4_OVERLAY_BASETYPE ?= "ext4"
 
-IMAGE_TYPES += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-ext4-tar"
+PHOSPHOR_IMAGE_TYPES += " \
+    mtd-static \
+    mtd-static-alltar \
+    mtd-static-tar \
+    mtd-static-norootfs \
+    mtd-ubi \
+    mtd-ubi-tar \
+    mmc-ext4-tar \
+"
+IMAGE_TYPES += "${PHOSPHOR_IMAGE_TYPES}"
+IMAGE_TYPES_MASKED += "${PHOSPHOR_IMAGE_TYPES}"
 
 IMAGE_TYPEDEP:mtd-static = "${IMAGE_BASETYPE}"
 IMAGE_TYPEDEP:mtd-static-tar = "${IMAGE_BASETYPE}"
 IMAGE_TYPEDEP:mtd-static-alltar = "mtd-static"
+IMAGE_TYPEDEP:mtd-static-norootfs = "${IMAGE_BASETYPE}"
 IMAGE_TYPEDEP:mtd-ubi = "${FLASH_UBI_BASETYPE}"
 IMAGE_TYPEDEP:mtd-ubi-tar = "${FLASH_UBI_BASETYPE}"
 IMAGE_TYPEDEP:mmc-ext4-tar = "${FLASH_EXT4_BASETYPE}"
-IMAGE_TYPES_MASKED += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-ext4-tar"
 
 # Flash characteristics in KB unless otherwise noted
 DISTROOVERRIDES .= ":flash-${FLASH_SIZE}"
@@ -421,6 +436,59 @@
         "
 do_generate_static_tar[vardepsexclude] = "DATETIME"
 
+python do_generate_static_norootfs() {
+    import subprocess
+
+    nor_image_basename = '%s.static.mtd' % d.getVar('IMAGE_NAME', True)
+    nor_image = os.path.join(d.getVar('IMGDEPLOYDIR', True), nor_image_basename)
+
+    def _append_image(imgpath, start_kb, finish_kb):
+        imgsize = os.path.getsize(imgpath)
+        maxsize = (finish_kb - start_kb) * 1024
+        bb.debug(1, 'Considering file size=' + str(imgsize) + ' name=' + imgpath)
+        bb.debug(1, 'Spanning start=' + str(start_kb) + 'K end=' + str(finish_kb) + 'K')
+        bb.debug(1, 'Compare needed=' + str(imgsize) + ' available=' + str(maxsize) + ' margin=' + str(maxsize - imgsize))
+        if imgsize > maxsize:
+            bb.fatal("Image '%s' is too large!" % imgpath)
+
+        subprocess.check_call(['dd', 'bs=1k', 'conv=notrunc',
+                               'seek=%d' % start_kb,
+                               'if=%s' % imgpath,
+                               'of=%s' % nor_image])
+    uboot_offset = int(d.getVar('FLASH_UBOOT_OFFSET', True))
+
+    spl_binary = d.getVar('SPL_BINARY', True)
+    if spl_binary:
+        _append_image(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True),
+                                   'u-boot-spl.%s' % d.getVar('UBOOT_SUFFIX',True)),
+                      int(d.getVar('FLASH_UBOOT_OFFSET', True)),
+                      int(d.getVar('FLASH_UBOOT_SPL_SIZE', True)))
+        uboot_offset += int(d.getVar('FLASH_UBOOT_SPL_SIZE', True))
+
+    _append_image(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True),
+                               'u-boot.%s' % d.getVar('UBOOT_SUFFIX',True)),
+                  uboot_offset,
+                  int(d.getVar('FLASH_KERNEL_OFFSET', True)))
+
+    _append_image(os.path.join(d.getVar('IMGDEPLOYDIR', True),
+                               '%s.cpio.%s.fitImage' % (
+                                    d.getVar('IMAGE_LINK_NAME', True),
+                                    d.getVar('INITRAMFS_CTYPE', True))),
+                  int(d.getVar('FLASH_KERNEL_OFFSET', True)),
+                  int(d.getVar('FLASH_RWFS_OFFSET', True)))
+
+    flash_symlink = os.path.join(
+                        d.getVar('IMGDEPLOYDIR', True),
+                        'flash-%s' % d.getVar('MACHINE', True))
+    if os.path.exists(flash_symlink):
+        os.remove(flash_symlink)
+    os.symlink(nor_image_basename, flash_symlink)
+}
+do_generate_static_norootfs[depends] += " \
+        ${PN}:do_image_${@d.getVar('IMAGE_BASETYPE', True).replace('-', '_')} \
+        u-boot:do_deploy \
+        "
+
 do_generate_ubi_tar() {
 	ln -sf ${S}/MANIFEST MANIFEST
 	ln -sf ${S}/publickey publickey
@@ -561,6 +629,12 @@
                 'do_image_complete',
                 'do_generate_rwfs_static do_generate_phosphor_manifest', d)
 
+    if 'mtd-static-norootfs' in types:
+        bb.build.addtask(
+                'do_generate_static_norootfs',
+                'do_image_complete',
+                'do_image_cpio', d)
+
     if 'mtd-ubi' in types:
         bb.build.addtask(
                 'do_generate_ubi',
diff --git a/meta-phosphor/conf/distro/include/phosphor-static-norootfs.inc b/meta-phosphor/conf/distro/include/phosphor-static-norootfs.inc
new file mode 100644
index 0000000..f7908ee
--- /dev/null
+++ b/meta-phosphor/conf/distro/include/phosphor-static-norootfs.inc
@@ -0,0 +1,2 @@
+DISTRO_FEATURES += "obmc-static-norootfs"
+DISTROOVERRIDES .= ":df-obmc-static-norootfs"
diff --git a/meta-phosphor/conf/machine/include/image-type/static-norootfs.inc b/meta-phosphor/conf/machine/include/image-type/static-norootfs.inc
new file mode 100644
index 0000000..02574da
--- /dev/null
+++ b/meta-phosphor/conf/machine/include/image-type/static-norootfs.inc
@@ -0,0 +1,10 @@
+INITRAMFS_CTYPE="zst"
+
+IMAGE_FSTYPES += "cpio.${INITRAMFS_CTYPE}.fitImage mtd-static-norootfs"
+
+# We don't want to build an initial kernel-based FIT image because the
+# initramfs is going to be the eventual rootfs from this image and not
+# a smaller initramfs.
+INITRAMFS_IMAGE = ""
+KERNEL_IMAGETYPE = "${ARCH_DEFAULT_KERNELIMAGETYPE}"
+KERNEL_IMAGETYPES = "${ARCH_DEFAULT_KERNELIMAGETYPE}"
diff --git a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
index 8a38343..e57bc64 100644
--- a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
+++ b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
@@ -6,6 +6,7 @@
 KERNEL_IMAGETYPES ?= "fitImage vmlinux"
 
 OBMC_IMAGE_INCLUDE = "static"
+OBMC_IMAGE_INCLUDE:df-obmc-static-norootfs = "static-norootfs"
 OBMC_IMAGE_INCLUDE:df-obmc-ubi-fs = "ubi-fs"
 OBMC_IMAGE_INCLUDE:df-phosphor-mmc = "mmc"
 
