diff --git a/.gitignore b/.gitignore
index 3e65050..89d3696 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,6 +44,7 @@
 /phosphor-version-software-manager
 /phosphor-download-manager
 /phosphor-image-updater
+/phosphor-sync-software-manager
 server.hpp
 server.cpp
 error.hpp
diff --git a/Makefile.am b/Makefile.am
index 10c3bf8..b4755c5 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -44,6 +44,14 @@
 phosphor_image_updater_SOURCES += image_verify.cpp
 endif
 
+if WANT_SYNC
+noinst_HEADERS += sync_manager.hpp
+sbin_PROGRAMS += phosphor-sync-software-manager
+phosphor_sync_software_manager_SOURCES = sync_manager_main.cpp
+phosphor_sync_software_manager_CXXFLAGS = $(generic_cxxflags)
+phosphor_sync_software_manager_LDFLAGS = $(generic_ldflags)
+endif
+
 nodist_phosphor_image_updater_SOURCES = \
 	org/openbmc/Associations/server.cpp
 
diff --git a/configure.ac b/configure.ac
index 773071c..65afe9a 100755
--- a/configure.ac
+++ b/configure.ac
@@ -77,6 +77,11 @@
     [DOWNLOAD_BUSNAME="xyz.openbmc_project.Software.Download"])
 AC_DEFINE_UNQUOTED([DOWNLOAD_BUSNAME], ["$DOWNLOAD_BUSNAME"], [The DBus busname to own])
 
+AC_ARG_VAR(SYNC_BUSNAME, [The D-Bus busname to own])
+AS_IF([test "x$SYNC_BUSNAME" == "x"],
+    [SYNC_BUSNAME="xyz.openbmc_project.Software.Sync"])
+AC_DEFINE_UNQUOTED([SYNC_BUSNAME], ["$SYNC_BUSNAME"], [The D-Bus busname to own])
+
 AC_DEFINE([MAPPER_BUSNAME], ["xyz.openbmc_project.ObjectMapper"], [Object mapper bus name])
 AC_DEFINE([MAPPER_INTERFACE], ["xyz.openbmc_project.ObjectMapper"], [Object mapper interface])
 AC_DEFINE([MAPPER_PATH], ["/xyz/openbmc_project/object_mapper"], [Object mapper DBUS path])
@@ -139,6 +144,13 @@
 AC_DEFINE(BUSNAME_UPDATER, "xyz.openbmc_project.Software.BMC.Updater",
     [The item updater DBus busname to own.])
 
+# setup sync of filesystem files
+AC_ARG_ENABLE([sync_bmc_files],
+    AS_HELP_STRING([--enable-sync_bmc_files], [Enable sync of filesystem files.]))
+AS_IF([test "x$enable_sync_bmc_files" == "xyes"], \
+    [AC_DEFINE([WANT_SYNC],[],[Enable sync of filesystem files.])])
+AM_CONDITIONAL([WANT_SYNC], [test "x$enable_sync_bmc_files" == "xyes"])
+
 # Check for header files.
 AC_CHECK_HEADER(systemd/sd-bus.h, ,[AC_MSG_ERROR([Could not find systemd/sd-bus.h...systemd development package required])])
 AC_CHECK_HEADER(sdbusplus/server.hpp, ,[AC_MSG_ERROR([Could not find sdbusplus/server.hpp...openbmc/sdbusplus package required])])
diff --git a/sync_manager.hpp b/sync_manager.hpp
new file mode 100644
index 0000000..a48a806
--- /dev/null
+++ b/sync_manager.hpp
@@ -0,0 +1,28 @@
+#pragma once
+
+namespace phosphor
+{
+namespace software
+{
+namespace manager
+{
+
+/** @class Sync
+ *  @brief Contains filesystem sync functions.
+ *  @details The software manager class that contains functions to perform
+ *           sync operations.
+ */
+class Sync
+{
+  public:
+    Sync() = default;
+    Sync(const Sync&) = delete;
+    Sync& operator=(const Sync&) = delete;
+    Sync(Sync&&) = default;
+    Sync& operator=(Sync&&) = default;
+    ~Sync() = default;
+};
+
+} // namespace manager
+} // namespace software
+} // namespace phosphor
diff --git a/sync_manager_main.cpp b/sync_manager_main.cpp
new file mode 100644
index 0000000..09aea5c
--- /dev/null
+++ b/sync_manager_main.cpp
@@ -0,0 +1,15 @@
+#include <sdbusplus/bus.hpp>
+#include <sdbusplus/server/manager.hpp>
+#include "config.h"
+#include "sync_manager.hpp"
+
+int main(int argc, char* argv[])
+{
+    auto bus = sdbusplus::bus::new_default();
+
+    sdbusplus::server::manager::manager objManager(bus, SOFTWARE_OBJPATH);
+    phosphor::software::manager::Sync syncManager();
+    bus.request_name(SYNC_BUSNAME);
+
+    return 0;
+}
