diff --git a/dump/tools/common/include/gendumpinfo b/dump/tools/common/include/gendumpinfo
new file mode 100644
index 0000000..5067ccf
--- /dev/null
+++ b/dump/tools/common/include/gendumpinfo
@@ -0,0 +1,73 @@
+#!/bin/bash
+# shellcheck disable=SC2154
+
+# Constants
+declare -rx DUMP_MANAGER='xyz.openbmc_project.Dump.Manager'
+declare -rx DUMP_PATH='/xyz/openbmc_project/dump/opdump/entry'
+declare -rx DUMP_PROP='xyz.openbmc_project.Common.Progress'
+
+# Variables
+declare -x DRIVER=""
+declare -x YAML_FILE=""
+declare -x ADDL_DATA_PATH=""
+declare -x START_TIME=0
+declare -x END_TIME=0
+
+# Initialize variables
+function initialize_variables() {
+    DRIVER=$(awk -F '[=()]' '/VERSION_ID/ {print $2}' /etc/os-release)
+    YAML_FILE="$content_path/info.yaml"
+    ADDL_DATA_PATH="$content_path/plat_dump/additional_data/"
+}
+
+# Function to get the dump start and completed time
+function dump_time_details() {
+    START_TIME=$(busctl get-property "$DUMP_MANAGER" "$DUMP_PATH/$dump_id" \
+        "$DUMP_PROP" StartTime | awk '{print $2}')
+    END_TIME=$(busctl get-property "$DUMP_MANAGER" "$DUMP_PATH/$dump_id" \
+        "$DUMP_PROP" CompletedTime | awk '{print $2}')
+
+    if [ -z "$START_TIME" ] || [ "$START_TIME" -eq 0 ]; then
+        echo "Could not fetch start time for $dump_id. Setting manually"
+        START_TIME=$(date +%s)
+    fi
+
+    start=$(date -d @"$START_TIME" +'%Y-%m-%d %H:%M:%S')
+    if [ -z "$END_TIME" ] || [ "$END_TIME" -eq 0 ]; then
+        echo "Could not fetch end time for $dump_id. Setting manually"
+        END_TIME=$(date +%s)
+    fi
+    end=$(date -d @"$END_TIME" +'%Y-%m-%d %H:%M:%S')
+
+    printf "dump-start-time: %s\n" "$start" >> "$YAML_FILE"
+    printf "dump-end-time: %s\n" "$end" >> "$YAML_FILE"
+}
+
+# Function to fetch additional details
+function get_addl_data() {
+    if [ -d "$ADDL_DATA_PATH" ]; then
+        for entry in "$ADDL_DATA_PATH"/*; do
+            while IFS= read -r line; do
+                echo "$line" >> "$YAML_FILE"
+            done < "$entry"
+        done
+    fi
+}
+
+# Function to write data to info.yaml file
+function write_to_info_file() {
+    {
+        printf "%s\n" "# SPDX-License-Identifier: GPL-2.0"
+        printf "%s\n" "%YAML 1.2"
+        printf "%s\n\n" "---"
+        printf "generation: p10\n"
+        printf "driver: %s\n" "$DRIVER"
+    } >> "$YAML_FILE"
+    dump_time_details
+    get_addl_data
+}
+
+# Run main
+initialize_variables
+write_to_info_file
+
diff --git a/dump/tools/common/include/meson.build b/dump/tools/common/include/meson.build
index 449a172..baac424 100644
--- a/dump/tools/common/include/meson.build
+++ b/dump/tools/common/include/meson.build
@@ -1 +1,2 @@
-include_scripts += meson.current_source_dir() / 'gendumpheader'
\ No newline at end of file
+include_scripts += meson.current_source_dir() / 'gendumpheader'
+include_scripts += meson.current_source_dir() / 'gendumpinfo'
