diff --git a/build.sh b/build.sh
index 7b9bc6f..f1dfd75 100755
--- a/build.sh
+++ b/build.sh
@@ -83,6 +83,26 @@
 #   SKIP_CP_KERNEL_HDR
 #     if defined, skip installing kernel headers.
 #
+#   BUILD_BOOT_IMG
+#     if defined, build a boot.img binary that can be flashed into the 'boot'
+#     partition of an Android device. The boot image contains a header as per the
+#     format defined by https://source.android.com/devices/bootloader/boot-image-header
+#     followed by several components like kernel, ramdisk, DTB etc. The ramdisk
+#     component comprises of a GKI ramdisk cpio archive concatenated with a
+#     vendor ramdisk cpio archive which is then gzipped. It is expected that
+#     all components are present in ${DIST_DIR}.
+#
+#     When the BUILD_BOOT_IMG flag is defined, the following flags that point to the
+#     various components needed to build a boot.img also need to be defined.
+#     - MKBOOTIMG_PATH=<path to the mkbootimg.py script which builds boot.img>
+#     - GKI_RAMDISK_PREBUILT_BINARY=<Name of the GKI ramdisk prebuilt which includes
+#       the generic ramdisk components like init and the non-device-specific rc files>
+#     - VENDOR_RAMDISK_BINARY=<Name of the vendor ramdisk binary which includes the
+#       device-specific components of ramdisk like the fstab file and the
+#       device-specific rc files.>
+#     - KERNEL_BINARY=<name of kernel binary, eg. Image.lz4, Image.gz etc>
+#     - BOOT_IMAGE_HEADER_VERSION=<version of the boot image header>
+#
 # Note: For historic reasons, internally, OUT_DIR will be copied into
 # COMMON_OUT_DIR, and OUT_DIR will be then set to
 # ${COMMON_OUT_DIR}/${KERNEL_DIR}. This has been done to accommodate existing
@@ -331,6 +351,56 @@
 echo "========================================================"
 echo " Files copied to ${DIST_DIR}"
 
+if [ ! -z "${BUILD_BOOT_IMG}" ] ; then
+
+	DTB_FILE_LIST=$(find ${DIST_DIR} -name "*.dtb")
+	if [ -z "${DTB_FILE_LIST}" ]; then
+		echo "No *.dtb files found in ${DIST_DIR}"
+		exit 1
+	fi
+	cat $DTB_FILE_LIST > ${DIST_DIR}/dtb.img
+
+	if [ ! -f "${DIST_DIR}/$GKI_RAMDISK_PREBUILT_BINARY" ]; then
+		echo "GKI ramdisk prebuilt binary" \
+			"(GKI_RAMDISK_PREBUILT_BINARY = $GKI_RAMDISK_PREBUILT_BINARY)" \
+			"not present in ${DIST_DIR}"
+		exit 1
+	fi
+	if [ ! -f "${DIST_DIR}/$VENDOR_RAMDISK_BINARY" ]; then
+		echo "vendor ramdisk binary(VENDOR_RAMDISK_BINARY = $VENDOR_RAMDISK_BINARY)" \
+			"not present in ${DIST_DIR}"
+		exit 1
+	fi
+
+	cat ${DIST_DIR}/$GKI_RAMDISK_PREBUILT_BINARY ${DIST_DIR}/$VENDOR_RAMDISK_BINARY \
+		> ${DIST_DIR}/ramdisk.cpio
+	gzip -f ${DIST_DIR}/ramdisk.cpio > ${DIST_DIR}/ramdisk
+
+	if [ ! -x "$MKBOOTIMG_PATH" ]; then
+		echo "mkbootimg.py script not found or not executable. MKBOOTIMG_PATH = $MKBOOTIMG_PATH"
+		exit 1
+	fi
+
+	if [ ! -f "${DIST_DIR}/$KERNEL_BINARY" ]; then
+		echo "kernel binary(KERNEL_BINARY = $KERNEL_BINARY) not present in ${DIST_DIR}"
+		exit 1
+	fi
+
+	if [ -z "${BOOT_IMAGE_HEADER_VERSION}" ]; then
+		echo "BOOT_IMAGE_HEADER_VERSION must specify the boot image header version"
+		exit 1
+	fi
+
+	(set -x; $MKBOOTIMG_PATH --kernel ${DIST_DIR}/$KERNEL_BINARY \
+		--ramdisk ${DIST_DIR}/ramdisk \
+		--dtb ${DIST_DIR}/dtb.img --header_version $BOOT_IMAGE_HEADER_VERSION \
+		-o ${DIST_DIR}/boot.img
+	)
+	set +x
+	echo "boot image created at ${DIST_DIR}/boot.img"
+fi
+
+
 # No trace_printk use on build server build
 if readelf -a ${DIST_DIR}/vmlinux 2>&1 | grep -q trace_printk_fmt; then
   echo "========================================================"
