diff --git a/netdata-installer.sh b/netdata-installer.sh
index 7b9eab81b5..8732063cbc 100755
--- a/netdata-installer.sh
+++ b/netdata-installer.sh
@@ -44,15 +44,21 @@ else
 	source "${NETDATA_SOURCE_DIR}/packaging/installer/functions.sh" || exit 1
 fi
 
-download() {
+download_go() {
 	url="${1}"
 	dest="${2}"
+
 	if command -v curl >/dev/null 2>&1; then
-		run curl -sSL --connect-timeout 10 --retry 3 "${url}" >"${dest}" || fatal "Cannot download ${url}"
+		run curl -sSL --connect-timeout 10 --retry 3 "${url}" > "${dest}"
 	elif command -v wget >/dev/null 2>&1; then
-		run wget -T 15 -O - "${url}" >"${dest}" || fatal "Cannot download ${url}"
+		run wget -T 15 -O - "${url}" > "${dest}"
 	else
-		fatal "I need curl or wget to proceed, but neither is available on this system."
+		echo >&2
+		echo >&2 "Downloading go.d plugin from '${url}' failed because of missing mandatory packages."
+	        echo >&2 "Either add packages or disable it by issuing '--disable-go' in the installer"
+		echo >&2
+
+		run_failed "I need curl or wget to proceed, but neither is available on this system."
 	fi
 }
 
@@ -775,24 +781,37 @@ install_go() {
 		for index in "${ARCH_MAP[@]}" ; do
 			KEY="${index%%::*}"
 			VALUE="${index##*::}"
-			if [ "$KEY" == "$ARCH" ]; then
+			if [ "$KEY" = "$ARCH" ]; then
 				ARCH="${VALUE}"
 				break
 			fi
 		done
 		tmp=$(mktemp -d /tmp/netdata-go-XXXXXX)
-		GO_PACKAGE_BASENAME="go.d.plugin-$GO_PACKAGE_VERSION.$OS-$ARCH"
+		GO_PACKAGE_BASENAME="go.d.plugin-${GO_PACKAGE_VERSION}.${OS}-${ARCH}"
 
-		download "https://github.com/netdata/go.d.plugin/releases/download/$GO_PACKAGE_VERSION/$GO_PACKAGE_BASENAME" "${tmp}/$GO_PACKAGE_BASENAME"
+		download_go "https://github.com/netdata/go.d.plugin/releases/download/${GO_PACKAGE_VERSION}/${GO_PACKAGE_BASENAME}" "${tmp}/${GO_PACKAGE_BASENAME}"
+
+		download_go "https://github.com/netdata/go.d.plugin/releases/download/${GO_PACKAGE_VERSION}/config.tar.gz" "${tmp}/config.tar.gz"
+
+		if [ ! -f "${tmp}/${GO_PACKAGE_BASENAME}" ] || [ ! -f "${tmp}/config.tar.gz" ] || [ ! -s "${tmp}/config.tar.gz" ] || [ ! -s "${tmp}/${GO_PACKAGE_BASENAME}" ]; then
+			run_failed "go.d plugin download failed, go.d plugin will not be available"
+			echo >&2 "Either check the error or consider disabling it by issuing '--disable-go' in the installer"
+			echo >&2
+			return 0
+		fi
 
-		download "https://github.com/netdata/go.d.plugin/releases/download/$GO_PACKAGE_VERSION/config.tar.gz" "${tmp}/config.tar.gz"
 		grep "${GO_PACKAGE_BASENAME}\$" "${INSTALLER_DIR}/packaging/go.d.checksums" > "${tmp}/sha256sums.txt" 2>/dev/null
 		grep "config.tar.gz" "${INSTALLER_DIR}/packaging/go.d.checksums" >> "${tmp}/sha256sums.txt" 2>/dev/null
 
 		# Checksum validation
 		if ! (cd "${tmp}" && safe_sha256sum -c "sha256sums.txt"); then
+
+			echo >&2 "go.d plugin checksum validation failure."
+			echo >&2 "Either check the error or consider disabling it by issuing '--disable-go' in the installer"
+			echo >&2
+
 			run_failed "go.d.plugin package files checksum validation failed."
-			return 1
+			return 0
 		fi
 
 		# Install new files
@@ -818,6 +837,7 @@ NETDATA_START_CMD="${NETDATA_PREFIX}/usr/sbin/netdata"
 
 if grep -q docker /proc/1/cgroup >/dev/null 2>&1; then
 	echo >&2 "We are running within a docker container, will not be installing netdata service"
+	echo >&2
 else
 	install_netdata_service || run_failed "Cannot install netdata init service."
 fi
diff --git a/packaging/installer/README.md b/packaging/installer/README.md
index 02b06645ca..82fabb90ac 100644
--- a/packaging/installer/README.md
+++ b/packaging/installer/README.md
@@ -44,7 +44,7 @@ bash <(curl -Ss https://my-netdata.io/kickstart.sh)
 Verify the integrity of the script with this:
 
 ```bash
-[ "fe451cd039c8f99b2ba4ca0feab88033" = "$(curl -Ss https://my-netdata.io/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
+[ "8a2b054081a108dff915994ce77f2f2d" = "$(curl -Ss https://my-netdata.io/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
 ```
 *It should print `OK, VALID` if the script is the one we ship.*
 
@@ -101,7 +101,7 @@ To install Netdata with a binary package on any Linux distro, any kernel version
 Verify the integrity of the script with this:
 
 ```bash
-[ "9ff4f5f37d23dff431f80d5349e0a25c" = "$(curl -Ss https://my-netdata.io/kickstart-static64.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
+[ "8779d8717ccaa8dac18d599502eef591" = "$(curl -Ss https://my-netdata.io/kickstart-static64.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
 ```
 
 *It should print `OK, VALID` if the script is the one we ship.*
diff --git a/packaging/installer/functions.sh b/packaging/installer/functions.sh
index d1e944878f..95b45d8c63 100644
--- a/packaging/installer/functions.sh
+++ b/packaging/installer/functions.sh
@@ -332,6 +332,8 @@ install_non_systemd_init() {
 
 NETDATA_START_CMD="netdata"
 NETDATA_STOP_CMD="killall netdata"
+NETDATA_INSTALLER_START_CMD="${NETDATA_START_CMD}"
+NETDATA_INSTALLER_STOP_CMD="${NETDATA_STOP_CMD}"
 
 install_netdata_service() {
 	local uname="$(uname 2>/dev/null)"
@@ -351,15 +353,23 @@ install_netdata_service() {
 
 		elif [ "${uname}" = "FreeBSD" ]; then
 
-			run cp system/netdata-freebsd /etc/rc.d/netdata &&
-				NETDATA_START_CMD="service netdata start" &&
-				NETDATA_STOP_CMD="service netdata stop" &&
-				return 0
+			run cp system/netdata-freebsd /etc/rc.d/netdata && NETDATA_START_CMD="service netdata start" &&
+									   NETDATA_STOP_CMD="service netdata stop" &&
+									   NETDATA_INSTALLER_START_CMD="service netdata onestart" &&
+									   NETDATA_INSTALLER_STOP_CMD="${NETDATA_STOP_CMD}"
+			myret=$?
+
+			echo >&2 "Note: To explicitly enable netdata automatic start, set 'netdata_enable' to 'YES' in /etc/rc.conf"
+			echo >&2 ""
+
+			return ${myret}
 
 		elif issystemd; then
 			# systemd is running on this system
 			NETDATA_START_CMD="systemctl start netdata"
 			NETDATA_STOP_CMD="systemctl stop netdata"
+			NETDATA_INSTALLER_START_CMD="${NETDATA_START_CMD}"
+			NETDATA_INSTALLER_STOP_CMD="${NETDATA_STOP_CMD}"
 
 			SYSTEMD_DIRECTORY=""
 
@@ -390,6 +400,8 @@ install_netdata_service() {
 					NETDATA_START_CMD="rc-service netdata start"
 					NETDATA_STOP_CMD="rc-service netdata stop"
 				fi
+				NETDATA_INSTALLER_START_CMD="${NETDATA_START_CMD}"
+				NETDATA_INSTALLER_STOP_CMD="${NETDATA_STOP_CMD}"
 			fi
 
 			return ${ret}
@@ -429,6 +441,7 @@ stop_netdata_on_pid() {
 		ret=$?
 
 		test ${ret} -eq 0 && printf >&2 "." && sleep 2
+
 	done
 
 	echo >&2
@@ -446,8 +459,6 @@ netdata_pids() {
 
 	myns="$(readlink /proc/self/ns/pid 2>/dev/null)"
 
-	# echo >&2 "Stopping a (possibly) running netdata (namespace '${myns}')..."
-
 	for p in \
 		$(cat /var/run/netdata.pid 2>/dev/null) \
 		$(cat /var/run/netdata/netdata.pid 2>/dev/null) \
@@ -477,12 +488,15 @@ restart_netdata() {
 
 	local started=0
 
-	progress "Start netdata"
+	progress "Restarting netdata instance"
 
 	if [ "${UID}" -eq 0 ]; then
-		service netdata stop
-		stop_all_netdata
-		service netdata restart && started=1
+		echo >&2
+		echo >&2 "Stopping all netdata threads"
+		run stop_all_netdata
+
+		echo >&2 "Starting netdata using command '${NETDATA_INSTALLER_START_CMD}'"
+		run ${NETDATA_INSTALLER_START_CMD} && started=1
 
 		if [ ${started} -eq 1 ] && [ -z "$(netdata_pids)" ]; then
 			echo >&2 "Ooops! it seems netdata is not started."
@@ -490,7 +504,8 @@ restart_netdata() {
 		fi
 
 		if [ ${started} -eq 0 ]; then
-			service netdata start && started=1
+			echo >&2 "Attempting another netdata start using command '${NETDATA_INSTALLER_START_CMD}'"
+			run ${NETDATA_INSTALLER_START_CMD} && started=1
 		fi
 	fi
 
@@ -500,8 +515,8 @@ restart_netdata() {
 	fi
 
 	if [ ${started} -eq 0 ]; then
-		# still not started...
-
+		# still not started... another forced attempt, just run the binary
+		echo >&2 "Netdata service still not started, attempting another forced restart by running '${netdata} ${@}'"
 		run stop_all_netdata
 		run "${netdata}" "${@}"
 		return $?
diff --git a/packaging/installer/kickstart-static64.sh b/packaging/installer/kickstart-static64.sh
index 505179051d..a9f11238c2 100755
--- a/packaging/installer/kickstart-static64.sh
+++ b/packaging/installer/kickstart-static64.sh
@@ -127,7 +127,7 @@ download() {
 }
 
 set_tarball_urls() {
-	if [ "$1" == "stable" ]; then
+	if [ "$1" = "stable" ]; then
 		local latest
 		# Simple version
 		# latest="$(curl -sSL https://api.github.com/repos/netdata/netdata/releases/latest | grep tag_name | cut -d'"' -f4)"
diff --git a/packaging/installer/kickstart.sh b/packaging/installer/kickstart.sh
index 2db95f21db..d396f139e3 100755
--- a/packaging/installer/kickstart.sh
+++ b/packaging/installer/kickstart.sh
@@ -141,7 +141,7 @@ warning() {
 
 create_tmp_directory() {
 	# Check if tmp is mounted as noexec
-	if grep -Eq '^[^ ]+ /tmp [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts; then
+	if grep -Eq '^[^ ]+ /tmp [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts > /dev/null 2>&1; then
 		pattern="$(pwd)/netdata-kickstart-XXXXXX"
 	else
 		pattern="/tmp/netdata-kickstart-XXXXXX"
@@ -163,7 +163,7 @@ download() {
 }
 
 set_tarball_urls() {
-	if [ "$1" == "stable" ]; then
+	if [ "$1" = "stable" ]; then
 		local latest
 		# Simple version
 		# latest="$(curl -sSL https://api.github.com/repos/netdata/netdata/releases/latest | grep tag_name | cut -d'"' -f4)"
@@ -200,9 +200,9 @@ detect_bash4() {
 }
 
 dependencies() {
-	SYSTEM="$(uname -s)"
-	OS="$(uname -o)"
-	MACHINE="$(uname -m)"
+	SYSTEM="$(uname -s 2> /dev/null || uname -v)"
+	OS="$(uname -o 2> /dev/null || uname -rs)"
+	MACHINE="$(uname -m 2> /dev/null)"
 
 	echo "System            : ${SYSTEM}"
 	echo "Operating System  : ${OS}"
diff --git a/packaging/installer/netdata-uninstaller.sh b/packaging/installer/netdata-uninstaller.sh
index cfd858c02d..0bbdaac2c2 100755
--- a/packaging/installer/netdata-uninstaller.sh
+++ b/packaging/installer/netdata-uninstaller.sh
@@ -232,7 +232,7 @@ quit_msg() {
 
 user_input() {
 	TEXT="$1"
-	if [ "${INTERACTIVITY}" == "-i" ]; then
+	if [ "${INTERACTIVITY}" = "-i" ]; then
 		read -r -p "$TEXT" >&2
 	fi
 }
diff --git a/packaging/installer/netdata-updater.sh b/packaging/installer/netdata-updater.sh
index 21a769ba57..2d4abcf0bc 100755
--- a/packaging/installer/netdata-updater.sh
+++ b/packaging/installer/netdata-updater.sh
@@ -73,7 +73,7 @@ set_tarball_urls() {
 		return
 	fi
 
-	if [ "$1" == "stable" ]; then
+	if [ "$1" = "stable" ]; then
 		local latest
 		# Simple version
 		# latest="$(curl -sSL https://api.github.com/repos/netdata/netdata/releases/latest | grep tag_name | cut -d'"' -f4)"