Как отключить кеширование для usb устройства при записи на него?

У меня проблемы с переносом двоичных программ на макетную плату микроконтроллера при использовании ubuntu / kubuntu для монтирования платы через usb. С MacOS и Windows проблем нет. Я обнаружил, что запись из Ubuntu определенно меняет записанный файл. Я подозреваю, что проблема заключается в кэшировании записи. Как я могу отключить его, или в чем еще может быть проблема.

8
задан 2 October 2010 в 08:13

2 ответа

Сначала прочтите это: http://groups.google.com/group/linux.kernel/msg/8d1591196c0ae15e?pli=1
Я не уверен, правда ли это или нет.

Вы можете попробовать использовать hdparm, чтобы отключить функцию кэширования записи во время выполнения. (Вам, вероятно, потребуется запускать это после каждой загрузки или каждый раз, когда вы извлекаете и переустанавливаете устройство)

sudo hdparm -W 0 /dev/devicename

Убедитесь, что вы знаете правильное имя устройства (sdb, sdc или и так далее.)

Вы можете узнать имя устройства, запустив:

sudo fdisk -l

Вы также можете отредактировать /etc/fstab и добавить опции монтирования sync,dirsync, однако я не очень знаком с тем, как /etc/fstab работает с съемные устройства. Я думаю, что им нужна постоянная точка монтирования.

0
ответ дан 2 October 2010 в 08:13

Слава @NightwishFan для переключателя hdparm, чтобы установить функцию кэширования записи диска.

Обратите внимание, что опция монтирования sync уменьшает скорость на величину (более чем в 10 раз). flush опция монтирования обеспечивает эффективную запись без затрат на производительность. Также я использую его без проблем в течение нескольких лет на всех устройствах FAT (на основе вращения или флэш-памяти), которые я использовал: На самом деле весь набор параметров монтирования - noauto,users,noatime,flush,umask=111,dmask=000, установлен вручную или в / etc /fstab.

0
ответ дан 2 October 2010 в 08:13

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

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