diff --git a/general/package/goke-osdrv-gk710x/files/script/S95goke b/general/package/goke-osdrv-gk710x/files/script/S95goke
index ef470de6..467d2f0b 100755
--- a/general/package/goke-osdrv-gk710x/files/script/S95goke
+++ b/general/package/goke-osdrv-gk710x/files/script/S95goke
@@ -12,9 +12,8 @@ load_majestic() {
 	printf 'Starting %s: ' "$DAEMON"
 	[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
 	# shellcheck disable=SC2086 # we need the word splitting
-	if [ -f /etc/coredump.conf ] && [ "true" = "$(grep ^savedumps /etc/coredump.conf | cut -d= -f2)" ]; then
-		ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
-	fi
+	[ -f /etc/coredump.conf ] && . /etc/coredump.conf
+	[ "$coredump_enabled" ] && ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
 		-- $DAEMON_ARGS
 	status=$?
diff --git a/general/package/goke-osdrv-gk7205v200/files/script/S95goke b/general/package/goke-osdrv-gk7205v200/files/script/S95goke
index 94a011ee..5c7a4256 100755
--- a/general/package/goke-osdrv-gk7205v200/files/script/S95goke
+++ b/general/package/goke-osdrv-gk7205v200/files/script/S95goke
@@ -12,9 +12,8 @@ load_majestic() {
 	printf 'Starting %s: ' "$DAEMON"
 	[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
 	# shellcheck disable=SC2086 # we need the word splitting
-	if [ -f /etc/coredump.conf ] && [ "true" = "$(grep ^savedumps /etc/coredump.conf | cut -d= -f2)" ]; then
-		ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
-	fi
+	[ -f /etc/coredump.conf ] && . /etc/coredump.conf
+	[ "$coredump_enabled" ] && ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
 		-- $DAEMON_ARGS
 	status=$?
diff --git a/general/package/hisilicon-osdrv-hi3516av100/files/script/S95hisilicon b/general/package/hisilicon-osdrv-hi3516av100/files/script/S95hisilicon
index 379bd18b..5368d315 100755
--- a/general/package/hisilicon-osdrv-hi3516av100/files/script/S95hisilicon
+++ b/general/package/hisilicon-osdrv-hi3516av100/files/script/S95hisilicon
@@ -12,9 +12,8 @@ load_majestic() {
 	printf 'Starting %s: ' "$DAEMON"
 	[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
 	# shellcheck disable=SC2086 # we need the word splitting
-	if [ -f /etc/coredump.conf ] && [ "true" = "$(grep ^savedumps /etc/coredump.conf | cut -d= -f2)" ]; then
-		ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
-	fi
+	[ -f /etc/coredump.conf ] && . /etc/coredump.conf
+	[ "$coredump_enabled" ] && ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
 		-- $DAEMON_ARGS
 	status=$?
diff --git a/general/package/hisilicon-osdrv-hi3516cv100/files/script/S95hisilicon b/general/package/hisilicon-osdrv-hi3516cv100/files/script/S95hisilicon
index 83b954da..2f302aa7 100755
--- a/general/package/hisilicon-osdrv-hi3516cv100/files/script/S95hisilicon
+++ b/general/package/hisilicon-osdrv-hi3516cv100/files/script/S95hisilicon
@@ -12,9 +12,8 @@ load_majestic() {
 	printf 'Starting %s: ' "$DAEMON"
 	[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
 	# shellcheck disable=SC2086 # we need the word splitting
-	if [ -f /etc/coredump.conf ] && [ "true" = "$(grep ^savedumps /etc/coredump.conf | cut -d= -f2)" ]; then
-		ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
-	fi
+	[ -f /etc/coredump.conf ] && . /etc/coredump.conf
+	[ "$coredump_enabled" ] && ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
 		-- $DAEMON_ARGS
 	status=$?
diff --git a/general/package/hisilicon-osdrv-hi3516cv200/files/script/S95hisilicon b/general/package/hisilicon-osdrv-hi3516cv200/files/script/S95hisilicon
index 61b60d21..dadb94bf 100755
--- a/general/package/hisilicon-osdrv-hi3516cv200/files/script/S95hisilicon
+++ b/general/package/hisilicon-osdrv-hi3516cv200/files/script/S95hisilicon
@@ -12,9 +12,8 @@ load_majestic() {
 	printf 'Starting %s: ' "$DAEMON"
 	[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
 	# shellcheck disable=SC2086 # we need the word splitting
-	if [ -f /etc/coredump.conf ] && [ "true" = "$(grep ^savedumps /etc/coredump.conf | cut -d= -f2)" ]; then
-		ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
-	fi
+	[ -f /etc/coredump.conf ] && . /etc/coredump.conf
+	[ "$coredump_enabled" ] && ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
 		-- $DAEMON_ARGS
 	status=$?
diff --git a/general/package/hisilicon-osdrv-hi3516cv300/files/script/S95hisilicon b/general/package/hisilicon-osdrv-hi3516cv300/files/script/S95hisilicon
index 83b954da..2f302aa7 100755
--- a/general/package/hisilicon-osdrv-hi3516cv300/files/script/S95hisilicon
+++ b/general/package/hisilicon-osdrv-hi3516cv300/files/script/S95hisilicon
@@ -12,9 +12,8 @@ load_majestic() {
 	printf 'Starting %s: ' "$DAEMON"
 	[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
 	# shellcheck disable=SC2086 # we need the word splitting
-	if [ -f /etc/coredump.conf ] && [ "true" = "$(grep ^savedumps /etc/coredump.conf | cut -d= -f2)" ]; then
-		ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
-	fi
+	[ -f /etc/coredump.conf ] && . /etc/coredump.conf
+	[ "$coredump_enabled" ] && ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
 		-- $DAEMON_ARGS
 	status=$?
diff --git a/general/package/hisilicon-osdrv-hi3516cv500/files/script/S95hisilicon b/general/package/hisilicon-osdrv-hi3516cv500/files/script/S95hisilicon
index e96356d7..6c7cd325 100755
--- a/general/package/hisilicon-osdrv-hi3516cv500/files/script/S95hisilicon
+++ b/general/package/hisilicon-osdrv-hi3516cv500/files/script/S95hisilicon
@@ -12,9 +12,8 @@ load_majestic() {
 	printf 'Starting %s: ' "$DAEMON"
 	[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
 	# shellcheck disable=SC2086 # we need the word splitting
-	if [ -f /etc/coredump.conf ] && [ "true" = "$(grep ^savedumps /etc/coredump.conf | cut -d= -f2)" ]; then
-		ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
-	fi
+	[ -f /etc/coredump.conf ] && . /etc/coredump.conf
+	[ "$coredump_enabled" ] && ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
 		-- $DAEMON_ARGS
 	status=$?
diff --git a/general/package/hisilicon-osdrv-hi3516ev300/files/script/S95hisilicon b/general/package/hisilicon-osdrv-hi3516ev300/files/script/S95hisilicon
index 61b60d21..dadb94bf 100755
--- a/general/package/hisilicon-osdrv-hi3516ev300/files/script/S95hisilicon
+++ b/general/package/hisilicon-osdrv-hi3516ev300/files/script/S95hisilicon
@@ -12,9 +12,8 @@ load_majestic() {
 	printf 'Starting %s: ' "$DAEMON"
 	[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
 	# shellcheck disable=SC2086 # we need the word splitting
-	if [ -f /etc/coredump.conf ] && [ "true" = "$(grep ^savedumps /etc/coredump.conf | cut -d= -f2)" ]; then
-		ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
-	fi
+	[ -f /etc/coredump.conf ] && . /etc/coredump.conf
+	[ "$coredump_enabled" ] && ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
 		-- $DAEMON_ARGS
 	status=$?
diff --git a/general/package/hisilicon-osdrv-hi3519v101/files/script/S95hisilicon b/general/package/hisilicon-osdrv-hi3519v101/files/script/S95hisilicon
index 61b60d21..dadb94bf 100755
--- a/general/package/hisilicon-osdrv-hi3519v101/files/script/S95hisilicon
+++ b/general/package/hisilicon-osdrv-hi3519v101/files/script/S95hisilicon
@@ -12,9 +12,8 @@ load_majestic() {
 	printf 'Starting %s: ' "$DAEMON"
 	[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
 	# shellcheck disable=SC2086 # we need the word splitting
-	if [ -f /etc/coredump.conf ] && [ "true" = "$(grep ^savedumps /etc/coredump.conf | cut -d= -f2)" ]; then
-		ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
-	fi
+	[ -f /etc/coredump.conf ] && . /etc/coredump.conf
+	[ "$coredump_enabled" ] && ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
 		-- $DAEMON_ARGS
 	status=$?
diff --git a/general/package/ingenic-osdrv-t31/files/script/S95ingenic b/general/package/ingenic-osdrv-t31/files/script/S95ingenic
index 898cd672..030f1c8c 100755
--- a/general/package/ingenic-osdrv-t31/files/script/S95ingenic
+++ b/general/package/ingenic-osdrv-t31/files/script/S95ingenic
@@ -12,9 +12,8 @@ load_majestic() {
 	printf 'Starting %s: ' "$DAEMON"
 	[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
 	# shellcheck disable=SC2086 # we need the word splitting
-	if [ -f /etc/coredump.conf ] && [ "true" = "$(grep ^savedumps /etc/coredump.conf | cut -d= -f2)" ]; then
-		ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
-	fi
+	[ -f /etc/coredump.conf ] && . /etc/coredump.conf
+	[ "$coredump_enabled" ] && ulimit -c unlimited && echo "| /usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern
 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
 		-- $DAEMON_ARGS
 	status=$?
@@ -76,4 +75,3 @@ case "$1" in
 		echo "Usage: $0 {start|stop|restart|reload}"
 		exit 1
 esac
-