diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch
new file mode 100644
index 0000000..2ad7f01
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch
@@ -0,0 +1,80 @@
+From aa556b2142b8d6c62c457f82f4470430e9fe80e7 Mon Sep 17 00:00:00 2001
+From: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
+Date: Thu, 29 Oct 2020 15:28:06 -0700
+Subject: [PATCH] Replace boost/detail/endian.hpp with
+ boost/predef/other/endian.h
+
+The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Include
+<boost/predef/other/endian.h> and use __BYTE_ORDER and1234
+
+Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
+---
+ runtime_src/core/common/api/xrt_kernel.cpp | 8 ++++----
+ runtime_src/xocl/core/kernel.cpp           | 4 ++--
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/runtime_src/core/common/api/xrt_kernel.cpp b/runtime_src/core/common/api/xrt_kernel.cpp
+index 1025e9d..1fb7caf 100644
+--- a/runtime_src/core/common/api/xrt_kernel.cpp
++++ b/runtime_src/core/common/api/xrt_kernel.cpp
+@@ -48,7 +48,7 @@
+ #include <cstdlib>
+ using namespace std::chrono_literals;
+ 
+-#include <boost/detail/endian.hpp>
++#include <boost/predef/other/endian.h>
+ 
+ #ifdef _WIN32
+ # pragma warning( disable : 4244 4267 4996)
+@@ -464,7 +464,7 @@ class argument
+     virtual std::vector<uint32_t>
+     get_value(std::va_list* args) const
+     {
+-      static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected");
++      static_assert(__BYTE_ORDER==1234,"Big endian detected");
+ 
+       HostType value = va_arg(*args, VaArgType);
+       return value_to_uint32_vector(value);
+@@ -485,7 +485,7 @@ class argument
+     virtual std::vector<uint32_t>
+     get_value(std::va_list* args) const
+     {
+-      static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected");
++      static_assert(__BYTE_ORDER==1234,"Big endian detected");
+ 
+       HostType* value = va_arg(*args, VaArgType*);
+       return value_to_uint32_vector(value, size);
+@@ -507,7 +507,7 @@ class argument
+     virtual std::vector<uint32_t>
+     get_value(std::va_list* args) const
+     {
+-      static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected");
++      static_assert(__BYTE_ORDER==1234,"Big endian detected");
+       if (xrt_core::config::get_xrt_bo()) {
+         auto bo = va_arg(*args, xrtBufferHandle);
+         return value_to_uint32_vector(xrt_core::bo::address(bo));
+diff --git a/runtime_src/xocl/core/kernel.cpp b/runtime_src/xocl/core/kernel.cpp
+index f4f7edf..ec71c7e 100644
+--- a/runtime_src/xocl/core/kernel.cpp
++++ b/runtime_src/xocl/core/kernel.cpp
+@@ -21,7 +21,7 @@
+ #include "compute_unit.h"
+ #include "core/common/xclbin_parser.h"
+ 
+-#include <boost/detail/endian.hpp>
++#include <boost/predef/other/endian.h>
+ 
+ #include <sstream>
+ #include <iostream>
+@@ -130,7 +130,7 @@ void
+ kernel::scalar_argument::
+ set(size_t size, const void* cvalue)
+ {
+-  static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected");
++  static_assert(__BYTE_ORDER==1234,"Big endian detected");
+ 
+   if (size != m_sz)
+     throw error(CL_INVALID_ARG_SIZE,"Invalid scalar argument size, expected "
+-- 
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb
index 71725d0..e814f11 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb
@@ -9,13 +9,15 @@
                     file://runtime_src/core/pcie/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87 \
                     file://runtime_src/core/edge/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87 "
 
-BRANCH ?= "2020.1_PU1"
+BRANCH ?= "2020.2"
 REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https"
 BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
 SRC_URI = "${REPO};${BRANCHARG}"
 
-PV = "202010.2.7.0"
-SRCREV ?= "8a4c6eb5012c57423fba468e1af8df53a293dcd5"
+FILESEXTRAPATHS_prepend := "${THISDIR}/xrt:"
+SRC_URI_append = " file://0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch"
+PV = "202020.2.8.0"
+SRCREV ?= "f19a872233fbfe2eb933f25fa3d9a780ced774e5"
 
 S = "${WORKDIR}/git/src"
 
@@ -38,6 +40,13 @@
 DEPENDS_append_versal-ai-core += " libmetal libxaiengine"
 RDEPENDS_${PN}_append_versal-ai-core += " libxaiengine"
 
+FILES_SOLIBSDEV = ""
+FILES_${PN} += "\
+    ${libdir}/lib*.so \
+    ${libdir}/lib*.so.* \
+    /lib/*.so* "
+INSANE_SKIP_${PN} += "dev-so"
+
 pkg_postinst_ontarget_${PN}() {
   #!/bin/sh
   if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then
