В нашем встроенном Linux-решении с использованием uClinux я только что добавил флэш-устройство большего размера. Я хочу иметь возможность запросить, какое устройство я установил (аппаратное устройство).
И у маленького, и у большого устройства разные идентификаторы, которые я могу прочитать в своем коде драйвера устройства.
Чего я не знаю, так это как получить эту информацию в «пользовательской зоне». Т.е. в скрипте shell / bash.
Я посмотрел на:
cat /proc/mtd
- это дает информацию о размере разделов. Но я не могу сказать из этого, на самом деле мне нужно будет изменить размеры разделов, в зависимости от того, какой флэш-чип установлен.
mtd_debug info /dev/mtd0
- Это довольно близко, это говорит мне о размере сектора (размер стирания), типе mtd и т. Д., Но так как две флеш-микросхемы имеют одинаковый тип, это также недостаточно информации.
источник
Ответы:
Я сделал решение, основанное на коде, переполнение стека здесь: как можно определить, что такое mtd-flash-устройство-установлено
Однако, поскольку это изменение кода (даже если оно всего одна строка), оно требует пересобрания ядра, поэтому я пока не отмечаю это как решение ...
источник
Быстро, но безобразно, вы можете просканировать вывод ядра на наличие сообщения о NAND:
Сообщение варьируется от версии к версии ( 2.6.32 , 4.10 ). Вот результат для 2.6.32.57:
источник