diff --git a/radio/Android.bp b/radio/Android.bp
new file mode 100644
index 0000000..29b0f16
--- /dev/null
+++ b/radio/Android.bp
@@ -0,0 +1,20 @@
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_binary {
+    name: "dump_radio",
+    srcs: ["dump_radio.cpp"],
+    cflags: [
+        "-Wall",
+        "-Wextra",
+        "-Werror",
+    ],
+    shared_libs: [
+        "libbase",
+        "libdump",
+    ],
+    vendor: true,
+    relative_install_path: "dump",
+}
+
diff --git a/radio/dump.mk b/radio/dump.mk
new file mode 100644
index 0000000..0c4d09d
--- /dev/null
+++ b/radio/dump.mk
@@ -0,0 +1,4 @@
+BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/radio/sepolicy/
+
+PRODUCT_PACKAGES_DEBUG += dump_radio
+
diff --git a/radio/dump_radio.cpp b/radio/dump_radio.cpp
new file mode 100644
index 0000000..64d137e
--- /dev/null
+++ b/radio/dump_radio.cpp
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include <dump/pixel_dump.h>
+#include <android-base/properties.h>
+#include <android-base/file.h>
+
+#define RIL_LOG_DIRECTORY "/data/vendor/radio"
+#define RIL_LOG_DIRECTORY_PROPERTY "persist.vendor.ril.log.base_dir"
+#define RIL_LOG_NUMBER_PROPERTY "persist.vendor.ril.log.num_file"
+#define RIL_LOG_PREFIX "rild.log."
+
+int main() {
+    std::string rilLogDir = ::android::base::GetProperty(RIL_LOG_DIRECTORY_PROPERTY, RIL_LOG_DIRECTORY);
+
+    int maxFileNum = ::android::base::GetIntProperty(RIL_LOG_NUMBER_PROPERTY, 50);
+
+    const std::string currentLogDir = concatenatePath(rilLogDir.c_str(), "/cur");
+    const std::string previousLogDir = concatenatePath(rilLogDir.c_str(), "/prev");
+    const std::string currentDestDir = concatenatePath(BUGREPORT_PACKING_DIR, "cur");
+    const std::string previousDestDir = concatenatePath(BUGREPORT_PACKING_DIR, "prev");
+    if (mkdir(currentDestDir.c_str(), 0777) == -1) {
+        printf("Unable to create folder: %s\n", currentDestDir.c_str());
+        return 0;
+    }
+    if (mkdir(previousDestDir.c_str(), 0777) == -1) {
+        printf("Unable to create folder: %s\n", previousDestDir.c_str());
+        return 0;
+    }
+
+    dumpLogs(currentLogDir.c_str(), currentDestDir.c_str(), maxFileNum, RIL_LOG_PREFIX);
+    dumpLogs(previousLogDir.c_str(), previousDestDir.c_str(), maxFileNum, RIL_LOG_PREFIX);
+    return 0;
+}
diff --git a/radio/sepolicy/dump_radio.te b/radio/sepolicy/dump_radio.te
new file mode 100644
index 0000000..3fe29c9
--- /dev/null
+++ b/radio/sepolicy/dump_radio.te
@@ -0,0 +1,7 @@
+pixel_bugreport(dump_radio)
+
+userdebug_or_eng(`
+  allow dump_radio radio_vendor_data_file:dir create_dir_perms;
+  allow dump_radio radio_vendor_data_file:file create_file_perms;
+  get_prop(dump_radio, vendor_rild_prop)
+')
diff --git a/radio/sepolicy/file_contexts b/radio/sepolicy/file_contexts
new file mode 100644
index 0000000..558beb3
--- /dev/null
+++ b/radio/sepolicy/file_contexts
@@ -0,0 +1 @@
+/vendor/bin/dump/dump_radio           u:object_r:dump_radio_exec:s0
