diff --git a/board/common/overlay/etc/init.d/S00datapart b/board/common/overlay/etc/init.d/S00datapart index 35b073d5a4..e3e2725c72 100755 --- a/board/common/overlay/etc/init.d/S00datapart +++ b/board/common/overlay/etc/init.d/S00datapart @@ -41,13 +41,18 @@ case "$1" in msg_done "${disk_dev}" - if [ -b ${data_dev} ] - then - if grep -q 'fsck.mode=force' /proc/cmdline - then - /sbin/e2fsck -fy ${data_dev} + if [[ -b ${data_dev} ]]; then + msg_begin "Checking data filesystem" + if grep -q 'fsck.mode=force' /proc/cmdline; then + /sbin/e2fsck -fy ${data_dev} &> /tmp/fsck.log + elif ! grep -q 'fsck.mode=skip' /proc/cmdline; then + /sbin/e2fsck -y ${data_dev} &> /tmp/fsck.log + fi + if [[ $? == 0 ]]; then + msg_done else - /sbin/e2fsck -y ${data_dev} + msg_fail + cat /tmp/fsck.log fi exit 0 fi