Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.12.2016, 13:55   #1
alex286
Junior Member
 
Аватар для alex286
 
Регистрация: 06.11.2016
Адрес: Москва
Сообщений: 13
Вес репутации: 0
alex286 is an unknown quantity at this point
По умолчанию Re: Замена и восстановление Flash ROM в роутере MR3020 и WR703n

Сегодня, вернее вчера, набрел вот на эту статью про "укорачивание" прошивок с boot, и решил попробовать.. Правда решил сначала посмотреть, что-же там на самом деле получилось.. Кроме, того читал кучу отзывов о "окирпичивании" после оной процедуры...

Команда в статье выглядела так:

dd if=original_flash.bin of=flash_without_boot.bin skip=257 bs=512

Обратили внимание? Не 256, как край блока, а 257! А это означает, что вы отрезали вместе с boot первые 512 байт своей прошивки!!! ...

Скорее всего команда имеет место быть, но видимо не для нашего роутера. В "нашем" начальный загрузчик имеет 128К прошивка начинается с адреса 2000Н, то сразу после этого адреса.
Правда об этом можно спорить,.. мол все зависит от разметки и так далее.., спорьте, я не против..

Правильная команда:

dd if=original_flash.bin of=flash_without_boot.bin skip=256 bs=512



А как быть если у вас fullflash, то есть образ считанной микросхемы памяти?

А вот примерно так: с помощью команды dd "нарезать" необходимые вам части, а именно boot, firmware и art, для загрузки в роутер, например китайским загрузчиком u-boot.

Все команды на примере fullflash микросхемы FL032PIF, "выдранной" из роутера. Кладем образ флеша FL032PIF.bin, размером 4194304 байт в какую-нить пустую директорию.

1. Отрезаем от начала файла загрузчик boot:

dd if=FL032PIF.bin of=boot_FL032PIF.bin count=256 bs=512

то есть, считываем в выходной файл первые 256 блоков по 512 байт, что и составит 256х512=131072 байт или 128К.

Кстати именно во "вторых" 64К "своего" загрузчика вы можете увидеть по адресам: 1FC00=MAK, 1FD00=router type и 1FE00= PIN-number.
Сам загрузчик, скорее всего меньше и занимает первую и иногда еще часть второй части области загрузки. (см. в статье)

2. Следующей командой сначала получим промежуточный файл без boot. Примерно, как в начале статьи:

dd if=FL032PIF.bin of=proFL032PIF.bin skip=256 bs=512, это (firmware+art)

И далее, отрежем от него "хвост", размером 64К.

dd if=proFL032PIF.bin of=art_FL032PIF.bin skip=7808 bs=512, - это и есть art.

И сама прошивка - это начальная часть промежуточного файла, а именно:

dd if=proFL032PIF.bin of=firmware_FL032PIF.bin count=7808 bs=512 - это firmware

Для визуального контроля "обрезков", применялся редактор HEX-файлов "Okteta", в OS Ubuntu. Вы можете применить более распространенный WinHEX.

Разумеется можно все сделать и в самом редакторе "мышкой", то как говорится "мы простых путей не ищем"...

P.S. Все это мне не совсем нравиться, поэтому прошу ГУРУ мне указать на ошибки и очепятки...
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 226
Размер:	59.0 Кб
ID:	4033  

Последний раз редактировалось alex286; 08.12.2016 в 15:31.
alex286 вне форума   Ответить с цитированием
Старый 08.12.2016, 16:53   #2
solalex
Senior Member
 
Регистрация: 20.01.2015
Сообщений: 312
Вес репутации: 443
solalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud of
По умолчанию Re: Замена и восстановление Flash ROM в роутере MR3020 и WR703n

Цитата:
Сообщение от alex286 Посмотреть сообщение
Команда в статье выглядела так:

dd if=original_flash.bin of=flash_without_boot.bin skip=257 bs=512

Обратили внимание? Не 256, как край блока, а 257! А это означает, что вы отрезали вместе с boot первые 512 байт своей прошивки!!! ...

Скорее всего команда имеет место быть, но видимо не для нашего роутера. В "нашем" начальный загрузчик имеет 128К прошивка начинается с адреса 2000Н, то сразу после этого адреса.
Правда об этом можно спорить,.. мол все зависит от разметки и так далее.., спорьте, я не против..

Правильная команда:

dd if=original_flash.bin of=flash_without_boot.bin skip=256 bs=512
Вы бы сначала со своим роутером разобрались, прежде чем советовать "правильные" команды...
В статье речь идет об обрезке родных TP-Link-овских прошивок с бутом, и там все нормально описано
Цитата:
Cut the first 0x20200 (that is 131,584 = 257*512) Bytes from original firmware:

dd if=orig.bin of=tplink.bin skip=257 bs=512
это для восстановления на родную прошивку и разметка в openwrt тут уже не при чем.

Последний раз редактировалось solalex; 08.12.2016 в 16:55.
solalex вне форума   Ответить с цитированием
Старый 08.12.2016, 18:38   #3
alex286
Junior Member
 
Аватар для alex286
 
Регистрация: 06.11.2016
Адрес: Москва
Сообщений: 13
Вес репутации: 0
alex286 is an unknown quantity at this point
По умолчанию Re: Замена и восстановление Flash ROM в роутере MR3020 и WR703n

Цитата:
Сообщение от solalex Посмотреть сообщение
Вы бы сначала со своим роутером разобрались, прежде чем советовать "правильные" команды...
Вот оно, что.. Но мне кажется все не так просто..

Мой "опыт" основывается на образе считанной мной флешки, сделанного с "родной" прошивки LP-Link, правда, взятой на форуме 4-PDA, и представленной как "Прошивка для возврата на стандартную после заливки неоригинальных прошивок", начинающаяся со слов "TP-Link Tehnologies..." , в ОБРАЗЕ, как раз с адреса 2000Н.. Где засада?

Последний раз редактировалось alex286; 08.12.2016 в 18:59.
alex286 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 9 (пользователей: 0 , гостей: 9)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 09:35. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика