Копирование файлов к SD-карте через сценарий удара повреждает данные

Я генерировал простой сценарий удара для копирования файлов в SD-карту. Я хочу скопировать загрузочный образ в раздел начальной загрузки и двоичные файлы/библиотеки к корневому разделу. Это - мой сценарий:

#!/bin/bash

if [ -d /media/user/boot ]
then
    if [ -d /media/user/root ]
    then
        cp -v output/boot/boot.bin /media/user/boot
        sudo cp -rvp output/devroot/* /media/user/root/
        echo "Sync"
        sync
        echo "Eject"
        sudo eject /dev/sdc
        echo "Ready to test"
    else
        echo "Mount root!"
    fi
else
    echo "Mounting boot!"
fi

Когда я включил снова свою SD-карту, я прочитал сообщения как они при выполнении dmesg:

Фс FAT (sdc1): Объем не был правильно размонтирован. Некоторые данные могут быть повреждены.

Выполненный fsck. Ошибка ввода-вывода, dev sdc, сектор 90514

И разделы не хорошо смонтированы.

Если я выполняю вручную команды, все идет хорошо.

2
задан 28 March 2019 в 14:22

1 ответ

Проблема не была связана со сценарием. Когда я изменил картридер, он начал работать правильно.

Я учел комментарий от Videonauth: "Другая Идея состояла бы в том, чтобы закончить синхронизирующую команду &&, который позволит сценарию только продолжиться, если команда была успешна". Следовательно это - мой заключительный сценарий, который идет, ta сохраняют несколько секунд моей жизни:

#!/bin/bash

BOOT=$1
ROOT=$2

if [ -d $BOOT ]
then
    if [ -d $ROOT ]
    then
        cp -v output/boot/boot.bin $BOOT
        sudo cp -rvp output/devroot/* $ROOT
        echo "Sync"
        sync &&
        echo "Eject"
        sudo eject /dev/sdc
        echo "Ready to test"
    else
        echo "Mount root!"
    fi
else
    echo "Mount boot!"
fi
1
ответ дан 2 December 2019 в 04:38

Другие вопросы по тегам:

Похожие вопросы: