Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Видно, что u-boot читает 64 байта, начиная с адреса 0x00050000 (отцы, объясните, почему в логе bc050000?).
с адреса 0x00050000 (отцы, объясните, почему в логе bc050000?).
Как правило, это сначала стереть блок, затем записать блок. Размер блока зависит от флеша и будет, наверное, 64К.При этом
erasesize ≠ writesize, как правило. С флешем вообще надо работать аккуратно (капризная штука), «наверное» здесь неуместно: после неправильной записи посыпятся ошибки ECC и мусор в прочитанных блоках; и хотя erasesize практически всегда кратен writesize, это совсем не обязательно 64K: вполне может быть, к примеру, 128K и 2K соответственно.mtdutils.c; ядро не предоставляет достаточно высокоуровневого механизма работы с MTD, поэтому обычно приходится вручную определять все размеры, дергать block_isbad(), устанавливать erase_callback и пр. (Это для корректного чтения/записи, если нужно лишь читать, то ничего сложного.)я грузил прошивку с uboot
1) Образ uImage стартует из RAM без прошивки.
2) Когда прошиваешь uImage, невозможно сохранить никакие настройки, например, пароль на root. Так что ФС доступна только на чтение.
3) Образ sysupgrade не стартует из RAM — в логах куча ошибок на невозможность создать ноды ФС JFFS2.
4) В прошитом образе sysupgrade видна инициализация JFFS2 на MTD устройстве. В uImage ее вроде бы нет.
Означает ли это, что после перезагрузки роутер приводится в исходное положение? Если да, то ваше мнение ошибочно, ибо именно uImage был залит мною через веб-интерфейс, после чего последовала ОБЯЗАТЕЛЬНАЯ перезагрузка. Если нет, то не могли бы вы пояснить своё утверждение.
3) Образ sysupgrade не стартует из RAM — в логах куча ошибок на невозможность создать ноды ФС JFFS2.
Опять вы не правы: зашел телнетом поставил пароль, потом зашел ssh. Такое ощущение, что мы совсем о разном говорим.
Прошиваем роутер Upvel UR-313N4G на OpenWRT