diff --git a/platform/broadcom/docker-saiserver-brcm.mk b/platform/broadcom/docker-saiserver-brcm.mk
index f4f9cdd42a49..535b677c733e 100644
--- a/platform/broadcom/docker-saiserver-brcm.mk
+++ b/platform/broadcom/docker-saiserver-brcm.mk
@@ -2,7 +2,7 @@
 
 DOCKER_SAISERVER_BRCM = docker-saiserver$(SAITHRIFT_VER)-brcm.gz
 $(DOCKER_SAISERVER_BRCM)_PATH = $(PLATFORM_PATH)/docker-saiserver-brcm
-$(DOCKER_SAISERVER_BRCM)_DEPENDS += $(SAISERVER)
+$(DOCKER_SAISERVER_BRCM)_DEPENDS += $(SAISERVER) $(SAISERVER_DBG)
 $(DOCKER_SAISERVER_BRCM)_FILES += $(DSSERVE) $(BCMCMD)
 $(DOCKER_SAISERVER_BRCM)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
 SONIC_DOCKER_IMAGES += $(DOCKER_SAISERVER_BRCM)
diff --git a/platform/broadcom/docker-syncd-brcm-rpc.mk b/platform/broadcom/docker-syncd-brcm-rpc.mk
index 27a041d95016..0f4c2759cc04 100644
--- a/platform/broadcom/docker-syncd-brcm-rpc.mk
+++ b/platform/broadcom/docker-syncd-brcm-rpc.mk
@@ -1,8 +1,17 @@
 # docker image for brcm syncd with rpc
 
-DOCKER_SYNCD_BRCM_RPC = docker-syncd-brcm-rpc.gz
+DOCKER_SYNCD_BRCM_RPC = docker-syncd-brcm-rpc$(SAITHRIFT_VER).gz
+DOCKER_SYNCD_BRCM_RPC_DBG = docker-syncd-brcm-rpc$(SAITHRIFT_VER)-$(DBG_IMAGE_MARK).gz
 $(DOCKER_SYNCD_BRCM_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-brcm-rpc
+
+
+#Support two different versions of thrift
+ifeq ($(SAITHRIFT_V2),y)
+$(DOCKER_SYNCD_BRCM_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT_0_13_0) $(LIBTHRIFT_DEV_0_13_0) $(PYTHON3_THRIFT_0_13_0) $(THRIFT_COMPILER_0_13_0) $(PTF)
+else
 $(DOCKER_SYNCD_BRCM_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT) $(PTF)
+endif
+
 ifeq ($(INSTALL_DEBUG_TOOLS), y)
 $(DOCKER_SYNCD_BRCM_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
                                     $(LIBSWSSCOMMON_DBG) \
@@ -10,19 +19,32 @@ $(DOCKER_SYNCD_BRCM_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
                                     $(LIBSAIREDIS_DBG)
 endif
 $(DOCKER_SYNCD_BRCM_RPC)_FILES += $(DSSERVE) $(BCMCMD) $(SUPERVISOR_PROC_EXIT_LISTENER_SCRIPT)
+
 $(DOCKER_SYNCD_BRCM_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_BASE)
+$(DOCKER_SYNCD_BRCM_RPC)_DBG_DEPENDS += $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_DEPENDS)
+$(DOCKER_SYNCD_BRCM_RPC)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_IMAGE_PACKAGES)
+
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_BRCM_RPC)
 ifeq ($(ENABLE_SYNCD_RPC),y)
 SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_BRCM_RPC)
 endif
 
+SONIC_DOCKER_DBG_IMAGES += $(DOCKER_SYNCD_BRCM_RPC_DBG)
+ifneq ($(ENABLE_SYNCD_RPC),y)
+SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_SYNCD_BRCM_RPC_DBG)
+endif
+
 $(DOCKER_SYNCD_BRCM_RPC)_CONTAINER_NAME = syncd
+$(DOCKER_SYNCD_BRCM_RPC)_VERSION = 1.0.0+rpc
+$(DOCKER_SYNCD_BRCM_RPC)_PACKAGE_NAME = syncd
 $(DOCKER_SYNCD_BRCM_RPC)_RUN_OPT += --privileged -t
 $(DOCKER_SYNCD_BRCM_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
 $(DOCKER_SYNCD_BRCM_RPC)_RUN_OPT += -v /host/warmboot:/var/warmboot
 $(DOCKER_SYNCD_BRCM_RPC)_RUN_OPT += -v /var/run/docker-syncd:/var/run/sswsyncd
 $(DOCKER_SYNCD_BRCM_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
-
 $(DOCKER_SYNCD_BRCM_RPC)_BASE_IMAGE_FILES += bcmcmd:/usr/bin/bcmcmd
 $(DOCKER_SYNCD_BRCM_RPC)_BASE_IMAGE_FILES += bcmsh:/usr/bin/bcmsh
+$(DOCKER_SYNCD_BRCM_RPC)_MACHINE = broadcom
 
+SONIC_BULLSEYE_DOCKERS += $(DOCKER_SYNCD_BRCM_RPC)
+SONIC_BULLSEYE_DBG_DOCKERS += $(DOCKER_SYNCD_BRCM_RPC_DBG)
diff --git a/platform/broadcom/docker-syncd-brcm-rpc/Dockerfile.j2 b/platform/broadcom/docker-syncd-brcm-rpc/Dockerfile.j2
index b832fd58864f..d6583085e2e7 100644
--- a/platform/broadcom/docker-syncd-brcm-rpc/Dockerfile.j2
+++ b/platform/broadcom/docker-syncd-brcm-rpc/Dockerfile.j2
@@ -1,4 +1,4 @@
-FROM docker-syncd-brcm
+FROM docker-syncd-brcm-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}}
 
 ## Make apt-get non-interactive
 ENV DEBIAN_FRONTEND=noninteractive
@@ -15,7 +15,7 @@ RUN apt-get purge -y syncd
 RUN apt-get update \
  && apt-get -y install  \
     net-tools           \
-    python-pip          \
+    python3-pip          \
     python-setuptools   \
     build-essential     \
     libssl-dev          \
@@ -25,7 +25,8 @@ RUN apt-get update \
     cmake               \
     libqt5core5a        \
     libqt5network5      \
-    libboost-atomic1.71.0
+    gdb                 \
+    libboost-atomic1.74.0
 
 RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
 {% for deb in docker_syncd_brcm_rpc_debs.split(' ') -%}
diff --git a/rules/syncd.mk b/rules/syncd.mk
index 2b7007d84d5b..f65589fb2957 100644
--- a/rules/syncd.mk
+++ b/rules/syncd.mk
@@ -17,7 +17,13 @@ $(SYNCD_RPC)_RDEPENDS += $(LIBSAIREDIS) $(LIBSAIMETADATA)
 $(eval $(call add_derived_package,$(SYNCD),$(SYNCD_RPC)))
 
 # Inject libthrift build dependency for RPC build
-$(SYNCD)_DEPENDS += $(LIBSWSSCOMMON_DEV) $(LIBTHRIFT_DEV)
+# Support two different versions of thrift
+ifeq ($(SAITHRIFT_V2),y)
+$(SYNCD)_DEPENDS += $(LIBTHRIFT_DEV_0_13_0)
+else
+$(SYNCD)_DEPENDS += $(LIBTHRIFT_DEV)
+endif
+$(SYNCD)_DEPENDS += $(LIBSWSSCOMMON_DEV)
 $(SYNCD)_DPKG_TARGET = binary-syncd-rpc
 endif