Управление файловой системой флэш-памяти
flashctl [-eFfimruvxz] [-A] [-a флаги] [-b выравнивание] [-c флаг] [-L] [-l предельное_значение] [-n путь] [-o смещение] -p путь [-s число] [-U] [-u] [-v...]
- -A
- Разблокировать весь массив флэш-памяти, определенный с помощью ранее указанной опции -p.
| Эта опция используется только для неформатированного устройства (например, /dev/fs0 ); ее не следует использовать для смонтированного раздела. Опции -l и -o не могут использоваться совместно с опцией -A. |
- -a флаги
- Флаги атрибутов монтирования (значение по умолчанию
0
).
- -b выравнивание
- Установить для выравнивания значение 2^выравнивание (значение по умолчанию
2
).
- -c флаг
- Установить флаг сжатия (значение по умолчанию
1
).
- -e
- Стереть данные из неформатированного раздела, определенного с помощью ранее указанной опции -p, от значения смещение, определенного опцией -o, до значения предельное_значение, определенного опцией -l.
Если указана опция -v (режим вывода расширенной информации), то утилита flashctl выводит точку (.
) для каждого стираемого блока раздела. На RAM-диске размер блока составляет 64 КБ; на других устройствах он может быть иным. Такой дополнительный вывод может быть полезен, поскольку стирание данных на медленных устройствах флэш-памяти может занять несколько минут.
- -f
- Форматировать раздел, определенный с помощью ранее указанной опции -p, от значения смещение, определенного опцией -o, до значения предельное_значение, определенного опцией -l.
- -F
- Указать драйверу принудительно использовать заданные параметры смещения и длины, даже если они выходят за пределы раздела, определенного ранее указанной опцией -p. Диапазон, определенный аргументами -o и -l, должен находиться в пределах одного раздела и не может выходить за пределы его границ.
- -i
- Вывести информацию о файловой системе для раздела, определенного с помощью ранее указанной опции -p; см. далее раздел "Информация о файловой системе".
- -L
- Блокировать неформатированный раздел, определенный с помощью ранее указанной опции -p, от значения смещение, определенного опцией -o, до значения предельное_значение, определенного опцией -1.
| Применение опции -L завершается неуспешно, если раздел (например, /dev/fs0p0 ) смонтирован. |
- -l предельное_значение
- Указать предельное значение размера в байтах (значение по умолчанию – 2 Гб) для раздела, определенного с помощью ранее указанной опции -p. предельное_значение может содержать суффикс k, K, m, M, g или G.
- -m
- Монтировать раздел файловой системы, определенный с помощью ранее указанной опции -p. Опция -m не может быть выбрана, если используется опция смещения -o. Для распознавания раздела необходимо перезапустить драйвер.
- -n путь
- Определить точку монтирования файловой системы для раздела, определенного с помощью ранее указанной опции -p. Эта опция переопределяет любую точку монтирования, заданную с атрибутом mount команды mkefs.
- -o смещение
- Определить смещение в байтах (значение по умолчанию –
0
). смещение может содержать суффикс k, K, m, M, g или G.
- -p путь
- Определить точку монтирования для неформатированного раздела.
- -r
- Исправить удаленные блоки в разделе, определенном с помощью ранее указанной опции -p, до значения предельное_значение, определенного с помощью опции -l.
- -s число
- Определить количество резервных блоков (значение по умолчанию –
1
) в разделе, определенном с помощью ранее указанной опции -p.
- -U
- Разблокировать раздел, определенный с помощью ранее указанной опции -p, от смещения, определенного опцией -o, до предельного значения, определенного опцией -l.
| Применение опции -U завершается неуспешно, если раздел (например, /dev/fs0p0 ) смонтирован. |
- -u
- Демонтировать раздел файловой системы, определенный с помощью ранее указанной опции -p.
- -v...
- Вывести расширенную информацию; чем больше символов v, тем более подробная информация выводится.
- -x
- Завершить работу драйвера.
- -z
- Запросить данные флага сжатия.
| Опции обрабатываются в указанном порядке и применяются к последнему разделу, определенному с помощью опции -p, что позволяет управлять несколькими разделами с помощью одной команды. |
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Утилита flashctl предназначена для управления файловой системой флэш-памяти. Эта утилита взаимодействует с драйвером файловой системы флэш-памяти посредством сообщений devctl(). С помощью утилиты flashctl можно стереть данные из неформатированного раздела и форматировать его, запустить операцию восстановления и получить информацию о разделах файловой системы флэш-памяти.
| - Опции обрабатываются в порядке их ввода. Например, стирание (-e), форматирование (-f) и монтирование (-m) раздела необходимо выполнять именно в таком порядке.
- В настоящее время утилита flashctl заменяет утилиты mount и umount для монтирования и демонтирования разделов флэш-памяти.
|
Утилита flashctl округляет значения опций -o и -l ("эль") в меньшую сторону до ближайшей границы блока. Если указанный диапазон превышает размер раздела, он округляется в меньшую сторону соответственно. При использовании опции -v, утилита flashctl отображает округленные значения.
Информация о файловой системе
В случае выбора опции -i утилита flashctl выводит информацию о разделе, выбранном с помощью опции -p; объем информации зависит от выбранного объекта ( сырой сокет (всё устройство), неформатированного раздела или форматированной и смонтированной файловой системы):
-
/dev/fs0
указывает на выбор всего сокета, т.е. микросхемы (или всего набора микросхем c физически непрерывной памятью). Эта информация отображается в разделе Array Info (информация о массиве) (см. пример далее). - Каталог
/dev/fs0pX
указывает на выбор раздела и называется Part. - Стертые секторы во флэш-памяти называются Units (блоки).
Пример вывода:
Array Info
Total : 0x00800000 100%
Chip Size : 0x00800000 100%
Unit Size : 0x00020000 1%
Part Info
Total : 0x00800000 100%
Spare : 0x00020000 1%
Headers : 0x00001A34 0%
Padding : 0x00000000 0%
Overhead : 0x00021A34 1%
Free : 0x007DE5AC 98%
Stale : 0x00000000 0%
Avail. : 0x007DE5AC 98%
Reserved : 0x00000020 0%
Unit Info
Erase Stats
Average : 0
Minimum : 0
Maximum : 0
Total : 0
Эту информацию следует интерпретировать следующим образом:
- Array Info
- Общий объем непрерывной флэш-памяти по указанному базовому адресу:
- Total
- размер.
- Chip Size
- размер каждой микросхемы при использовании нескольких физических микросхем (предполагается, что все микросхемы имеют одинаковый размер).
- Unit Size
- размер одного сектора и его процентное отношение к общему размеру.
- Part Info
- Информация о соответствующем разделе. Размеры приводятся в байтах и с указанием процентного отношения к размеру раздела; некоторые поля могут оставаться незаполненными:
- Total
- размер раздела.
- Spare
- пространство, используемое резервными блоками; поля Spare/Unit Size определяют количество резервных блоков.
- Headers
- пространство, используемое для заголовков файловой системы.
- Padding
- пространство, используемое для заполнения с целью выравнивания.
- Overhead
- сумма значений полей Headers и Padding.
- Free
- объем свободного пространства (учитываются блоки не требующие очистки).
- Stale
- объем устаревшего пространства.
- Avail.
- все доступное пространство; в этом поле отображается сумма значений полей Free и Stale.
- Reserved
- внутреннее зарезервированное пространство для удаления ссылок и т.д.
- Unit Info
- Информация, относящаяся к отдельным секторам:
- Erase Stats
- среднее, минимальное, максимальное и общее количество операций стирания данных, выполненных в определенном разделе.
Создание раздела с файловой системой между 1 МБ и 3 МБ в неформатированном разделе размером 4 МБ:
flashctl -p /dev/fs0p0 -o 1M -l 2M -e -f
| В результате выполнения команды получатся следующие разделы: - /dev/fs0p0
- Неформатированный раздел 0–1 МБ
- /dev/fs0p1
- Раздел с файловой системой флэш-памяти 1–3 МБ (монтируется как /fs0p1)
- /dev/fs0p2
- Неформатированный раздел 3–4 МБ
|
Стирание, форматирование и монтирование (как в случае /fs0p0
) раздела файловой системы флэш-памяти /dev/fs0p0
:
flashctl -p /dev/fs0p0 -e -f -m
Монтирование данного раздела файловой системы флэш-памяти как /flash
:
flashctl -p /dev/fs0p0 -n /flash -m
Для форматирования диапазона 3–6 МБ, если формат неизвестен, используется следующая команда:
flashctl -p /dev/fs0p0 -F -o 3m -l 6m -f
| Раздел необходимо отформатировать и стереть до монтирования файловой системы флэш-памяти (только для разделов devf-ram). В противном случае может появиться сообщение об ошибке flashctl: mounting partition failed (flashctl: не удалось монтировать раздел). |
Средство монтирования (с опциями -m и -u) не обеспечивает все функциональные возможности утилиты mount, например режим "только для чтения" ( mount -r) и специальные опции ( mount -o).
Базовые подсистемы ЗОСРВ «Нейтрино»
devf-generic, devf-ram, mkefs
Предыдущий раздел: Утилиты