diff --git a/package/system/procd/files/nand.sh b/package/system/procd/files/nand.sh
index 70b9af559dc0ddfdd63d508a561f7c3e197bc206..ebaaf2aa16009cc1431dbb79ba9f689c8b636069 100644
--- a/package/system/procd/files/nand.sh
+++ b/package/system/procd/files/nand.sh
@@ -239,9 +239,18 @@ nand_upgrade_ubifs() {
 	nand_do_upgrade_success
 }
 
+nand_board_name() {
+	if type 'platform_nand_board_name' >/dev/null 2>/dev/null; then
+		platform_nand_board_name
+		return
+	fi
+
+	cat /tmp/sysinfo/board_name
+}
+
 nand_upgrade_tar() {
 	local tar_file="$1"
-	local board_name="$(cat /tmp/sysinfo/board_name)"
+	local board_name="$(nand_board_name)"
 	local kernel_mtd="$(find_mtd_index $CI_KERNPART)"
 
 	local kernel_length=`(tar xf $tar_file sysupgrade-$board_name/kernel -O | wc -c) 2> /dev/null`