Управление
файловой системой флэш-памяти
Синтаксис:
flashctl
[-eFfimruvxz]
[-A] [-a флаги]
[-b выравнивание]
[-c флаг]
[-L] [-l предельное_значение]
[-n путь]
[-o смещение]
-p
путь
[-s число]
[-U] [-u] [-v...]
Поддерживаемые платформы:
Neutrino
Опции:
Опции
обрабатываются в указанном порядке и применяются к последнему
разделу, определенному с помощью опции -p,
что позволяет управлять несколькими разделами с помощью одной
команды.
-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
Запросить
данные флага сжатия.
Описание:
Утилита 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).