Как получить реальное смещение файла в NAND по имени файла?

Используя Linux, я могу использовать необработанный доступ к NAND или доступ к файлам через файловую систему. Итак, когда мне нужно знать, где на самом деле находится мой файл в NAND, что мне делать? Я не нашел ни одной утилиты, обеспечивающей эту функцию. Более того, я не могу обнаружить никакой возможности этого, кроме взлома ядра с кучей «принтков» (это, я думаю, нехороший способ). Кто-нибудь может просветить меня по этому поводу? (Я использую файловые системы YAFFS2 и JFFS2)


person Konstantin Utkin    schedule 04.02.2013    source источник


Ответы (1)


Вы можете сделать копию любого раздела с помощью nanddump. Перенесите дамп этого раздела на ПК. Для монтирования разделов на ПК можно использовать утилиту nandsim.

modprobe nandsim first_id_byte=0x2c second_id_byte=0xda \
   third_id_byte=0x90 fourth_id_byte=0x95 parts=2,64,64
flash_erase /dev/mtd3 0 0
ubiformat /dev/mtd3 -f rootfs.ubi

Эта команда эмулирует флэш-память Micron 256 МБ NAND с четырьмя разделами. Если вы просто захватываете один раздел, а не все устройство, не устанавливайте части. Вы также можете выполнить nanddump для каждого раздела, а затем объединить их все. Этот код нацелен на mtd3 с разделом UbiFs. Для JFFS2 или YAFFS2 вы можете попробовать nandwrite или другую подходящую утилиту для перепрошивки на ПК.

Как получить реальное смещение файла в NAND по имени файла?

Файлы могут занимать несколько секторов NAND и почти никогда не следуют друг за другом. Нет большого преимущества в хранении файловых данных вместе, так как нет головки диска, для поиска которой требуется физическое время. Некоторые флеш-памяти имеют чуть более высокую эффективность при последовательном чтении; еще одна флэш-память даст лучшую производительность для чтения из другого блока стирания.

Я бы включил debug либо на уровне MTD, либо в файловой системе. В действующей системе положение файла во флэш-памяти может со временем меняться, даже если он не записан. Это активное выравнивание износа.

person artless noise    schedule 28.01.2014
comment
Вы также можете смонтировать клонированную файловую систему ПК как доступную только для чтения. Если вы хотите изменить файл, когда устройство выключено, и перепрошить его, то это сработает. Трудно понять, как ответ на ваш вопрос в работающей системе будет полезен. - person artless noise; 28.01.2014