diff --git a/openpower/configs/hostboot/romulus.config b/openpower/configs/hostboot/romulus.config
new file mode 100755
index 0000000..c145359
--- /dev/null
+++ b/openpower/configs/hostboot/romulus.config
@@ -0,0 +1,68 @@
+# The Serial Flash Controller is the AST2400 BMC.
+set   SFC_IS_AST2500
+unset SFC_IS_AST2400
+unset BMC_DOES_SFC_INIT
+unset SFC_IS_IBM_DPSS
+set   ALLOW_MICRON_PNOR
+set   ALLOW_MACRONIX_PNOR
+
+# VPD options.
+set MVPD_READ_FROM_HW
+set MVPD_WRITE_TO_HW
+set MVPD_READ_FROM_PNOR
+set MVPD_WRITE_TO_PNOR
+set DJVPD_READ_FROM_HW
+unset DJVPD_WRITE_TO_HW
+set DJVPD_READ_FROM_PNOR
+set DJVPD_WRITE_TO_PNOR
+unset MEMVPD_READ_FROM_HW
+unset MEMVPD_WRITE_TO_HW
+set MEMVPD_READ_FROM_PNOR
+set MEMVPD_WRITE_TO_PNOR
+unset PVPD_READ_FROM_HW
+unset PVPD_WRITE_TO_HW
+set PVPD_READ_FROM_PNOR
+set PVPD_WRITE_TO_PNOR
+unset CDIMM_FORMAT_FOR_CVPD
+
+# gpio config
+set GPIODD
+unset PALMETTO_VDDR
+
+# Enable SBE updates
+unset SBE_UPDATE_INDEPENDENT
+unset SBE_UPDATE_SEQUENTIAL
+unset SBE_UPDATE_SIMULTANEOUS
+set NO_SBE_UPDATES
+
+unset PCIE_HOTPLUG_CONTROLLER
+
+# turn on console output
+set CONSOLE
+set BMC_AST2500
+
+set DISABLE_HOSTBOOT_RUNTIME
+
+# Compile in hostboot runtime PRD
+set HBRT_PRD
+unset HTMGT
+unset START_OCC_DURING_BOOT
+
+#PNOR flags
+unset PNOR_TWO_SIDE_SUPPORT
+
+unset BMC_BT_LPC_IPMI
+
+# Enable Checktop Analysis
+unset ENABLE_CHECKSTOP_ANALYSIS
+unset IPLTIME_CHECKSTOP_ANALYSIS
+
+# Hostboot will detect hardware changes
+unset HOST_HCDB_SUPPORT
+
+# set for trace debug to console
+set CONSOLE_OUTPUT_TRACE
+
+unset CONFIG_SECUREBOOT
+unset CONFIG_TPMDD
+unset CONFIG_TPM_NUVOTON
diff --git a/openpower/configs/romulus_defconfig b/openpower/configs/romulus_defconfig
new file mode 100644
index 0000000..d626535
--- /dev/null
+++ b/openpower/configs/romulus_defconfig
@@ -0,0 +1,66 @@
+BR2_powerpc64le=y
+BR2_powerpc_power8=y
+BR2_KERNEL_HEADERS_4_4=y
+BR2_GLIBC_VERSION_2_24=y
+BR2_BINUTILS_VERSION_2_27_X=y
+BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
+BR2_GCC_VERSION_4_9_X=y
+BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-targets=powerpc64-linux"
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_TARGET_GENERIC_HOSTNAME="skiroot"
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_DEVICE_TABLE="../openpower/device_table.txt"
+BR2_TARGET_GENERIC_GETTY_PORT="hvc0"
+BR2_ENABLE_LOCALE_WHITELIST="C de en es fr it ja ko pt_BR ru zh_CN zh_TW"
+BR2_GENERATE_LOCALE="en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 pt_BR.UTF-8 ru_RU.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8"
+BR2_ROOTFS_OVERLAY="../openpower/overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="../openpower/scripts/fixup-target-var ../openpower/scripts/firmware-whitelist"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.10.1"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/linux/skiroot_defconfig"
+BR2_LINUX_KERNEL_ZIMAGE_EPAPR=y
+BR2_LINUX_KERNEL_XZ=y
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_OP_BUILD_PATH)/configs/busybox.fragment"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
+BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4=y
+BR2_PACKAGE_I2C_TOOLS=y
+BR2_PACKAGE_IPMITOOL=y
+BR2_PACKAGE_MDADM=y
+BR2_PACKAGE_NCURSES_WCHAR=y
+BR2_PACKAGE_DROPBEAR=y
+# BR2_PACKAGE_DROPBEAR_SERVER is not set
+BR2_PACKAGE_ETHTOOL=y
+BR2_PACKAGE_NETCAT=y
+BR2_PACKAGE_RSYNC=y
+BR2_TARGET_ROOTFS_CPIO_XZ=y
+BR2_TARGET_ROOTFS_INITRAMFS=y
+BR2_OPENPOWER_PLATFORM=y
+BR2_OPENPOWER_POWER9=y
+BR2_HOSTBOOT_CONFIG_FILE="romulus.config"
+BR2_OPENPOWER_PNOR_XML_LAYOUT_FILENAME="defaultPnorLayout_64.xml"
+BR2_OPENPOWER_CONFIG_NAME="romulus"
+BR2_OPENPOWER_XML_PACKAGE="romulus-xml"
+BR2_OPENPOWER_PNOR_FILENAME="romulus.pnor"
+#BR2_OPENPOWER_PNOR_UPDATE_FILENAME="romulus_update.pnor"
+BR2_HOSTBOOT_BINARY_SBE_FILENAME="nimbus_sbe.img.ecc"
+BR2_HOSTBOOT_BINARY_SBEC_FILENAME="centaur_sbec_pad.img.ecc"
+BR2_HOSTBOOT_BINARY_WINK_FILENAME="p9n.ref_image.hdr.bin.ecc"
+BR2_IMA_CATALOG_FILENAME="ima_catalog.bin"
+BR2_IMA_CATALOG_DTS="POWER9"
+#BR2_IMA_CATALOG_ECC_FILENAME="ima_catalog.bin.ecc"
+BR2_OPENPOWER_TARGETING_BIN_FILENAME="ROMULUS_HB.targeting.bin"
+BR2_OPENPOWER_TARGETING_ECC_FILENAME="ROMULUS_HB.targeting.bin.ecc"
+BR2_PACKAGE_PETITBOOT=y
+BR2_PACKAGE_PETITBOOT_MTD=y
+BR2_OCC_BIN_FILENAME="occ.bin"
+BR2_CAPP_UCODE_BIN_FILENAME="cappucode.bin"
+BR2_SKIBOOT_CUSTOM_VERSION=y
+BR2_SKIBOOT_CUSTOM_VERSION_VALUE="8c51fda780093be69a49a43824b2cb88fbf27623"
+BR2_PACKAGE_LOADKEYS=y
+BR2_ROMULUS_SYSTEM_XML_FILENAME="ROMULUS_hb.system.xml"
+BR2_ROMULUS_MRW_XML_FILENAME="ROMULUS_hb.mrw.xml"
+BR2_ROMULUS_BIOS_XML_FILENAME="ROMULUS_bios.xml"
diff --git a/openpower/package/Config.in b/openpower/package/Config.in
index dc12184..159b9c7 100755
--- a/openpower/package/Config.in
+++ b/openpower/package/Config.in
@@ -17,6 +17,7 @@
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/libflash/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/loadkeys/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/witherspoon-xml/Config.in"
+source "$BR2_EXTERNAL_OP_BUILD_PATH/package/romulus-xml/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-binutils/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/ppe42-gcc/Config.in"
 source "$BR2_EXTERNAL_OP_BUILD_PATH/package/zaius-xml/Config.in"
diff --git a/openpower/package/openpower-pnor/Config.in b/openpower/package/openpower-pnor/Config.in
index 38e425a..ad7797f 100644
--- a/openpower/package/openpower-pnor/Config.in
+++ b/openpower/package/openpower-pnor/Config.in
@@ -10,6 +10,7 @@
         select BRZ_PACKAGE_IMA_CATALOG
         select BR2_PACKAGE_ZAIUS_XML if (BR2_OPENPOWER_XML_PACKAGE = "zaius-xml")
         select BR2_PACKAGE_WITHERSPOON_XML if (BR2_OPENPOWER_XML_PACKAGE = "witherspoon-xml")
+        select BR2_PACKAGE_ROMULUS_XML if (BR2_OPENPOWER_XML_PACKAGE = "romulus-xml")
         select BR2_PACKAGE_BARRELEYE_XML if (BR2_OPENPOWER_XML_PACKAGE = "barreleye-xml")
         select BR2_PACKAGE_FIRESTONE_XML if (BR2_OPENPOWER_XML_PACKAGE = "firestone-xml")
         select BR2_PACKAGE_GARRISON_XML if (BR2_OPENPOWER_XML_PACKAGE = "garrison-xml")
diff --git a/openpower/package/romulus-xml/Config.in b/openpower/package/romulus-xml/Config.in
new file mode 100755
index 0000000..6cec332
--- /dev/null
+++ b/openpower/package/romulus-xml/Config.in
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_ROMULUS_XML
+        bool "romulus_xml"
+        default y if (BR2_OPENPOWER_CONFIG_NAME = "romulus")
+        help
+            Utilities for building xml and the targeting binary image
+
+config BR2_ROMULUS_SYSTEM_XML_FILENAME
+        string "Romulus targeting system xml filename"
+        default ""
+        help
+            Defines the name of the system XML filename to be used when creating targeting binary image
+
+config BR2_ROMULUS_MRW_XML_FILENAME
+        string "Romulus targeting mrw xml filename"
+        default ""
+        help
+            Defines the name of the mrw XML filename to be used when creating targeting binary image
+
+config BR2_ROMULUS_BIOS_XML_FILENAME
+        string "Romulus BIOS metadata XML filename"
+        default ""
+        help
+            Defines the name of the BIOS XML filename to parse when generating BIOS metadata
diff --git a/openpower/package/romulus-xml/romulus.mk b/openpower/package/romulus-xml/romulus.mk
new file mode 100644
index 0000000..136ea5f
--- /dev/null
+++ b/openpower/package/romulus-xml/romulus.mk
@@ -0,0 +1,87 @@
+################################################################################
+#
+# romulus_xml
+#
+################################################################################
+
+ROMULUS_XML_VERSION ?= 3ae36a611bf874299404c377224915952dbb9b15
+ROMULUS_XML_SITE ?= $(call github,open-power,romulus-xml,$(ROMULUS_XML_VERSION))
+
+ROMULUS_XML_LICENSE = Apache-2.0
+ROMULUS_XML_DEPENDENCIES = hostboot-install-images openpower-mrw-install-images common-p8-xml-install-images
+
+ROMULUS_XML_INSTALL_IMAGES = YES
+ROMULUS_XML_INSTALL_TARGET = YES
+
+MRW_SCRATCH=$(STAGING_DIR)/openpower_mrw_scratch
+MRW_HB_TOOLS=$(STAGING_DIR)/hostboot_build_images
+
+# Defines for BIOS metadata creation
+BIOS_SCHEMA_FILE = $(MRW_HB_TOOLS)/bios.xsd
+ROMULUS_BIOS_XML_CONFIG_FILE = $(MRW_SCRATCH)/$(BR2_ROMULUS_BIOS_XML_FILENAME)
+BIOS_XML_METADATA_FILE = \
+    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata.xml
+PETITBOOT_XSLT_FILE = $(MRW_HB_TOOLS)/bios_metadata_petitboot.xslt
+PETITBOOT_BIOS_XML_METADATA_FILE = \
+    $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_CONFIG_NAME)_bios_metadata_petitboot.xml
+PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE = \
+    $(TARGET_DIR)/usr/share/bios_metadata.xml
+
+define ROMULUS_XML_BUILD_CMDS
+        # copy the romulus xml where the common lives
+        bash -c 'mkdir -p $(MRW_SCRATCH) && cp -r $(@D)/* $(MRW_SCRATCH)'
+
+        # generate the system mrw xml
+        perl -I $(MRW_HB_TOOLS) \
+        $(MRW_HB_TOOLS)/processMrw.pl -x $(MRW_SCRATCH)/romulus.xml
+
+        chmod +x $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl
+
+       $(MRW_HB_TOOLS)/filter_out_unwanted_attributes.pl \
+            --tgt-xml $(MRW_HB_TOOLS)/target_types_merged.xml \
+            --tgt-xml $(MRW_HB_TOOLS)/target_types_hb.xml \
+            --tgt-xml $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
+            --mrw-xml $(MRW_SCRATCH)/ROMULUS_hb.mrw.xml
+
+       cp  $(MRW_SCRATCH)/ROMULUS_hb.mrw.xml.updated  $(MRW_SCRATCH)/ROMULUS_hb.mrw.xml
+
+        # merge in any system specific attributes, hostboot attributes
+        $(MRW_HB_TOOLS)/mergexml.sh $(MRW_SCRATCH)/$(BR2_ROMULUS_SYSTEM_XML_FILENAME) \
+            $(MRW_HB_TOOLS)/attribute_types.xml \
+            $(MRW_HB_TOOLS)/attribute_types_hb.xml \
+            $(MRW_HB_TOOLS)/attribute_types_oppowervm.xml \
+            $(MRW_HB_TOOLS)/target_types_merged.xml \
+            $(MRW_HB_TOOLS)/target_types_hb.xml \
+            $(MRW_HB_TOOLS)/target_types_oppowervm.xml \
+            $(MRW_SCRATCH)/$(BR2_ROMULUS_MRW_XML_FILENAME) > $(MRW_HB_TOOLS)/temporary_hb.hb.xml;
+
+        # creating the targeting binary
+        $(MRW_HB_TOOLS)/xmltohb.pl  \
+            --hb-xml-file=$(MRW_HB_TOOLS)/temporary_hb.hb.xml \
+            --fapi-attributes-xml-file=$(MRW_HB_TOOLS)/fapiattrs.xml \
+            --src-output-dir=none \
+            --img-output-dir=$(MRW_HB_TOOLS)/ \
+            --vmm-consts-file=$(MRW_HB_TOOLS)/vmmconst.h --noshort-enums \
+            --bios-xml-file=$(ROMULUS_BIOS_XML_CONFIG_FILE) \
+            --bios-schema-file=$(BIOS_SCHEMA_FILE) \
+            --bios-output-file=$(BIOS_XML_METADATA_FILE)
+
+        # Transform BIOS XML into Petitboot specific BIOS XML via the schema
+        xsltproc -o \
+            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
+            $(PETITBOOT_XSLT_FILE) \
+            $(BIOS_XML_METADATA_FILE)
+endef
+
+define ROMULUS_XML_INSTALL_IMAGES_CMDS
+        mv $(MRW_HB_TOOLS)/targeting.bin $(MRW_HB_TOOLS)/$(BR2_OPENPOWER_TARGETING_BIN_FILENAME)
+endef
+
+define ROMULUS_XML_INSTALL_TARGET_CMDS
+        # Install Petitboot specific BIOS XML into initramfs's usr/share/ dir
+        $(INSTALL) -D -m 0644 \
+            $(PETITBOOT_BIOS_XML_METADATA_FILE) \
+            $(PETITBOOT_BIOS_XML_METADATA_INITRAMFS_FILE)
+endef
+
+$(eval $(generic-package))
