#!/bin/sh ########################################################################### # # Copyright (c) 2020-2023 Diality Inc. - All Rights Reserved. # # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN # WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file setup.sh # # @author (last) Behrouz NematiPour # @date (last) 16-Dec-2022 # @author (original) Behrouz NematiPour # @date (original) 13-Mar-2020 # ############################################################################ # @details # This script is part of setting up the newly flashed SoM which will run on the device # after the start.sh script is done copying files on the device. # sources . ./_errors_ . ./_functions_ . ./_variables_ function check_sdcard() { while true; do if [ ! "$($CMD_SDCARD_DEV)" == "$SDCARD_DEV" ];then # if no SD-Card found ask operator to install on and retry after power-cycle. echo_dash_comment echo_dash_message "No SD-Card detected" echo_dash_message "UI Software logging will not work without a SD-Card" echo_dash_message "Insert a SD-Card and continue when ready" echo_dash_comment confirm "Continue" if [ $? -eq $FALSE ]; then exit $ERR_GENERAL_NO_SD_CARD fi else break fi done if [ ! "$($CMD_SDCARD_PRT)" == "$SDCARD_PRT" ]; then return $FALSE; fi # if partition 1 doesn't exist , do the format if [ ! "$($CMD_LINUX_TYPE)" == "$SDCARD_TYP_NUMB" ]; then return $FALSE; fi # if partition 1 type is not Linux(83) , do the format return $TRUE # otherwise , do not format } function format_sdcard() { check_sdcard if [ $? -eq $TRUE ]; then # if sd-card is OK echo "Found the SD-Card $SDCARD_DEV" confirm "Do you want to format the SD-Card" if [ $? -eq $FALSE ]; then # give user an option to skip the format return $? fi fi while true; do echo "Unmount the SD-Card if is in use" umount "$SDCARD_PRT" if [ ! "$( mount | grep $SDCARD_PRT)" == "" ]; then # is still mounted if [ $? -eq $FALSE ]; then # if SD-Card cannot the unmounted then stop the format. echo "The SD-Card $SDCARD_DEV cannot be unmounted, therefore cannot be formatted" confirm "Do you want to retry?" if [ $? -eq $FALSE ]; then return $FALSE # do not continue with format fi else break fi else break fi done echo "Removing current partitions" sfdisk --delete $SDCARD_DEV 1>/dev/null 2>/dev/null echo "Create new partition" echo "label:MBR" | sfdisk $SDCARD_DEV 1>/dev/null 2>/dev/null echo "type=83" | sfdisk $SDCARD_DEV 1>/dev/null 2>/dev/null echo "Create a ext4 file system" mkfs.ext4 $SDCARD_PRT -L "Denali_Log" -F # 1>/dev/null 2>/dev/null check_sdcard if [ $? -eq $TRUE ]; then echo "SD-Card format PASSED" else echo "SD-Card format FAILED !!!" fi } format_sdcard exit 0