Как лучше собрать в общую прошивку U-boot, OpenWrt, таблицы с использованием HEX редактора на полностью пустую Flash память с объёмом 16 мб?
Ссылка скопирована
Сейчас ситуация такая: появилась необходимость собрать прошивку под свои нужды, и записать её на полностью новую flash память объёмом 16 мб. В ходе работы появилась проблема с сборкой U-Boot, а именно ошибки при самой конфигурации и сборке. Сам архив скачан от:https://github.com/pepe2k/u-boot_mod/tree/master/u-bootНужно понять:. Откуда можно достать готовый бинарник загрузчика и откуда брать таблицы? А так же как правильно сформировать прошивку используя HEX редактор?
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
woocommerce
Как отображать при фильтрации товары со значением search параметра visibility: HUSKY — Products Filter for WooCommerce?
1 ответ

Собирать образ для пустой SPI Flash “через HEX-редактор” можно только если вы точно знаете карту памяти конкретного роутера: где начинается bootloader, где ART/EEPROM/calibration partition, где firmware, где config. В OpenWrt это критично: если затереть ART/EEPROM, можно потерять Wi-Fi-калибровки и MAC-адреса. Поэтому сначала нужна не сборка, а дамп и схема разделов именно вашей модели.
Правильный порядок такой:
Если старая flash доступна хотя бы частично, считайте ее программатором:
flashrom -p ch341a_spi -r backup-full.bin binwalk backup-full.bin
Новая 16 МБ flash обычно заполняется так: bootloader в начало, затем firmware/sysupgrade/factory image по нужному offset, в конце или отдельным разделом - ART/EEPROM. Но offsets у разных устройств отличаются. Готовый u-boot можно искать в исходниках OpenWrt для вашей target-платформы, на wiki устройства или в дампах такой же модели. Брать бинарник “похожего” роутера опасно.
Для склейки лучше использовать не HEX-редактор, а dd. Так меньше шансов ошибиться на смещение:
dd if=/dev/zero bs=1M count=16 | tr '00' '377' > fullflash.bin dd if=u-boot.bin of=fullflash.bin conv=notrunc bs=1 seek=0 dd if=openwrt-factory.bin of=fullflash.bin conv=notrunc bs=1 seek=131072 dd if=art.bin of=fullflash.bin conv=notrunc bs=1 seek=16252928
Цифры выше только пример. Их нельзя использовать без проверки под вашу плату. Если нет дампа и схемы разделов, безопаснее найти fullflash dump от такой же ревизии устройства и заменить в нем только уникальные данные: MAC, PIN, ART/caldata, если они у вас есть. Иначе можно получить загрузчик, который стартует, но Wi-Fi или Ethernet работать не будут.