Как проверить / изменить содержимое прошивки NAND? - PullRequest
0 голосов
/ 16 октября 2018

Я хочу изменить существующую прошивку для некоторого устройства ARMv7.Думайте об этом как: «Я хочу добавить функцию контроля температуры наружного воздуха и добавить соответствующую веб-страницу в мой домашний маршрутизатор».Поэтому мне нужно встроить дополнительное программное обеспечение в микропрограмму и изменить код расширения веб-сервера cgi.

Микропрограмма обычно сохраняется в виде некоторого двоичного файла firmware_filename.bin, который затем записывается в nand внутри устройства во время выполнения.из $nandwrite -p /dev/mtd8 firmware_filename.bin.

Проще говоря, мой вопрос: как легко"приготовить" этот файл firmware_filename.bin с небольшими изменениями (с добавлением дополнительной веб-страницы и добавляемого бинарного файла))?

До сих пор я исследовал, что в пакете mtd-utils есть симулятор NAND для linux - вы можете создать виртуальный чип с помощью команды modprobe nandsim, а затем прошить его.

Могут быть некоторые смещения байтов или разделы, которые могут быть привязаны к загрузчику или участвовать в процессе загрузки - это необходимо, чтобы «не трогать», чтобы повторно использовать существующую рабочую схему.Мой лучший подход - я хочу быть «совершенно не осведомленным» об этих разделах - не блокировать устройство и работать с наименьшим необходимым подмножеством на уровне файлов.

Так что я хочу - не это доступ на низком западном уровне , но для проверки и незначительного изменения его файловой системы на уровне файлов.Я не совсем понимаю, что такое / dev / mtd0 и как с ним работать, как я делаю с / dev / sda0?Как «монтировать» устройство / dev / mtd0 или иным образом редактировать содержимое его файловой системы?

...