Мне удалось исправить контрольную сумму. Теперь Ethernet отлично работает под Linux. Я объяснил детали в моем ответе на мой вопрос SuperUser.SE.
По сути, я сначала пропатчил e1000e
, чтобы пропустить проверку контрольной суммы NVM
for (i = 0;; i++) {
if (e1000_validate_nvm_checksum(&adapter->hw) >= 0)
break;
if (i == 2) {
dev_err(pci_dev_to_dev(pdev),
"The NVM Checksum Is Not Valid\n");
err = -EIO;
goto err_eeprom;
}
}
в src / netdev.c
, и после того, как у меня был доступ к микросхеме Ethernet, я написал его NVM с ethtool
, который автоматически фиксирует контрольную сумму.
if ! diff -q file1 file2 > /dev/null 2>&1;
then
echo "Files are changed"
else
echo "Files not changed"
fi
Допустим, у вас есть локальный каталог config
, который соответствует каталогу config
на вашем устройстве, и вы вносите изменения только локально, прежде чем синхронизировать их с устройством, тогда rsync
будет хорошим инструментом для выполнения синхронизации.
Для синхронизации локального каталога с каталогом устройства:
$ rsync -av config/ someuser@device.address:path/to/config/
Чтобы удалить файлы на устройстве, которые больше не присутствуют в локальном каталоге config
, добавьте флаг --delete
в rsync
:
$ rsync -av --delete config/ someuser@device.address:path/to/config/
Поменяйте местами config/
и someuser@device.address:path/to/config/
, чтобы вместо этого сделать резервное копирование каталога config
с устройства в локальный каталог (в вопросе было немного неясно, в каком направлении вы хотите двигаться).