diff --git a/phalerror/phal_error.cpp b/phalerror/phal_error.cpp
index 45aa3de..cecd399 100644
--- a/phalerror/phal_error.cpp
+++ b/phalerror/phal_error.cpp
@@ -1,6 +1,9 @@
-#include "phal_error.hpp"
+extern "C" {
+#include <libpdbg.h>
+}
 
 #include "create_pel.hpp"
+#include "phal_error.hpp"
 
 #include <libekb.H>
 #include <libipl.H>
@@ -84,14 +87,23 @@
     traceLog.clear();
     counter = 0;
 }
+
+void pDBGLogTraceCallbackHelper(int log_level, const char* fmt, va_list ap)
+{
+    processLogTraceCallback(NULL, fmt, ap);
+}
 } // namespace detail
 
 void addBootErrorCallbacks()
 {
     // set log level to info
+    pdbg_set_loglevel(PDBG_INFO);
+    libekb_set_loglevel(LIBEKB_LOG_INF);
     ipl_set_loglevel(IPL_INFO);
 
     // add callback for debug traces
+    pdbg_set_logfunc(detail::pDBGLogTraceCallbackHelper);
+    libekb_set_logfunc(detail::processLogTraceCallback, NULL);
     ipl_set_logfunc(detail::processLogTraceCallback, NULL);
 
     // add callback for ipl failures
diff --git a/procedures/phal/start_host.cpp b/procedures/phal/start_host.cpp
index a5e7bea..3899924 100644
--- a/procedures/phal/start_host.cpp
+++ b/procedures/phal/start_host.cpp
@@ -1,5 +1,10 @@
+extern "C" {
+#include <libpdbg.h>
+}
+
 #include "phalerror/phal_error.hpp"
 
+#include <libekb.H>
 #include <libipl.H>
 
 #include <phosphor-logging/log.hpp>
@@ -21,12 +26,32 @@
     // add callback methods for debug traces and for boot failures
     openpower::pel::addBootErrorCallbacks();
 
-    // callback method will be called upon failure which will create the PEL
-    if (ipl_init() != 0)
+    if (!pdbg_targets_init(NULL))
+    {
+        log<level::ERR>("pdbg_targets_init failed");
+        openpower::pel::detail::processBootErrorCallback(false);
+        throw std::runtime_error("pdbg target initialization failed");
+    }
+    // To clear trace if success
+    openpower::pel::detail::processBootErrorCallback(true);
+
+    if (libekb_init())
+    {
+        log<level::ERR>("libekb_init failed");
+        openpower::pel::detail::processBootErrorCallback(false);
+        throw std::runtime_error("libekb initialization failed");
+    }
+    // To clear trace if success
+    openpower::pel::detail::processBootErrorCallback(true);
+
+    if (ipl_init(IPL_AUTOBOOT) != 0)
     {
         log<level::ERR>("ipl_init failed");
+        openpower::pel::detail::processBootErrorCallback(false);
         throw std::runtime_error("Boot initialization failed");
     }
+    // To clear trace if success
+    openpower::pel::detail::processBootErrorCallback(true);
 
     // callback method will be called upon failure which will create the PEL
     int rc = ipl_run_major(0);
