LINUX.ORG.RU

История изменений

Исправление YAR, (текущая версия) :

Разделы u-boot, u-boot env, art чаще всего нужны. Остальное — это ядро и корень, как правило разбитый на два раздела, соединяемые через overlayfs. ART — это данные калибровки Wi-Fi чипа конкретно с твого девайса.

Вообще чтобы посмотреть таблицу разделов стоит почитать dmesg или лог загрузки и /proc/mtd в первом есть оффсеты разделов, во-втором данные по ним.


Смотрел уже, их тут 19. Зачем столько? :)

root@TL-ER6020:~# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00020000 00010000 "SBL1"
mtd1: 00020000 00010000 "MIBIB"
mtd2: 00040000 00010000 "SBL2"
mtd3: 00080000 00010000 "SBL3"
mtd4: 00010000 00010000 "DDRCONFIG"
mtd5: 00080000 00010000 "TZ"
mtd6: 00080000 00010000 "RPM"
mtd7: 00080000 00010000 "APPSBL"
mtd8: 00040000 00010000 "APPSBLENV"
mtd9: 00300000 00010000 "HLOS"
mtd10: 00f00000 00010000 "rootfs"
mtd11: 00010000 00010000 "partition-table"
mtd12: 00010000 00010000 "device-info"
mtd13: 00010000 00010000 "support-list"
mtd14: 00010000 00010000 "firmware-info"
mtd15: 00020000 00010000 "tddp"
mtd16: 00020000 00010000 "log"
mtd17: 00500000 00010000 "rootfs_data"
mtd18: 02000000 00010000 "firmware"


Кстати, в чем считается размер? 00f00000 для корня это 15728640 в десятичной. По факту размер у меня меньше 10 метров:

mtd:rootfs 8.8M 8.8M 0 100% /rom

Или там просто разбивка с запасом и остальные 6 МБ пустые?

командой mtd

Залил некий образ, сделанный через imagebuilder, получил кирпич. Вернул все обратно.

лучше залить через sysupgrade

root@TL-ER6020:~# sysupgrade -v /tmp/openwrt-ipq806x-generic-arris_tr4400-v2-squashfs-sysupgrade.bin
/tmp/openwrt-ipq806x-generic-arris_tr4400-v2-squashfs-sysupgrade.bin is not a valid FIT image



Или не так?

По профилям, предлагаемым в make info у imagebuilder'а, я так понимаю, отличается набор приложений (где-то поддержка USB нужна, где-то фирмварь под wifi и т.п.), поэтому можно использовать первый попавшийся и корректировать его? В остальном, если взят imagebuilder под конкретный проц, то образ в любом случае должен завестись?

чтобы не перезаписывать зря разделы которые трогать не нужно.

Ну вот тут их 19. Как вообще определить, что в итоге нужно? Как делается переразбивка? Флешка 32 МБ, как двигать соотношения для юзера или корня?

можно подключиться по UART

С этим немного проблема, тут level shift'ер не распаян. Т.е., в теории можно двигаться в этом направлении, но пока все прошивки и конфигурацию буду делать или из работающей (и доступной по сети) системы, или программатором.

https://rain.linuxoid.in/2025/02/08/препарируем-multiwan-роутеры-от-tp-link/

Исходная версия YAR, :

Разделы u-boot, u-boot env, art чаще всего нужны. Остальное — это ядро и корень, как правило разбитый на два раздела, соединяемые через overlayfs. ART — это данные калибровки Wi-Fi чипа конкретно с твого девайса.

Вообще чтобы посмотреть таблицу разделов стоит почитать dmesg или лог загрузки и /proc/mtd в первом есть оффсеты разделов, во-втором данные по ним.


Смотрел уже, их тут 19. Зачем столько? :)

root@TL-ER6020:~# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00020000 00010000 "SBL1"
mtd1: 00020000 00010000 "MIBIB"
mtd2: 00040000 00010000 "SBL2"
mtd3: 00080000 00010000 "SBL3"
mtd4: 00010000 00010000 "DDRCONFIG"
mtd5: 00080000 00010000 "TZ"
mtd6: 00080000 00010000 "RPM"
mtd7: 00080000 00010000 "APPSBL"
mtd8: 00040000 00010000 "APPSBLENV"
mtd9: 00300000 00010000 "HLOS"
mtd10: 00f00000 00010000 "rootfs"
mtd11: 00010000 00010000 "partition-table"
mtd12: 00010000 00010000 "device-info"
mtd13: 00010000 00010000 "support-list"
mtd14: 00010000 00010000 "firmware-info"
mtd15: 00020000 00010000 "tddp"
mtd16: 00020000 00010000 "log"
mtd17: 00500000 00010000 "rootfs_data"
mtd18: 02000000 00010000 "firmware"


Кстати, в чем считается размер? 00f00000 для корня это 15728640 в десятичной. По факту размер у меня меньше 10 метров:

mtd:rootfs 8.8M 8.8M 0 100% /rom

Или там просто разбивка с запасом и остальные 6 МБ пустые?

командой mtd

Залил некий образ, сделанный через imagebuilder, получил кирпич. Вернул все обратно.

лучше залить через sysupgrade

root@TL-ER6020:~# sysupgrade -v /tmp/openwrt-ipq806x-generic-arris_tr4400-v2-squashfs-sysupgrade.bin
/tmp/openwrt-ipq806x-generic-arris_tr4400-v2-squashfs-sysupgrade.bin is not a valid FIT image



Или не так?

По профилям, предлагаемым в make info у imagebuilder'а, я так понимаю, отличается набор приложений (где-то поддержка USB нужна, где-то фирмварь под wifi и т.п.), поэтому можно использовать первый попавшийся и корректировать его?

чтобы не перезаписывать зря разделы которые трогать не нужно.

Ну вот тут их 19. Как вообще определить, что в итоге нужно? Как делается переразбивка? Флешка 32 МБ, как двигать соотношения для юзера или корня?

можно подключиться по UART

С этим немного проблема, тут level shift'ер не распаян. Т.е., в теории можно двигаться в этом направлении, но пока все прошивки и конфигурацию буду делать или из работающей (и доступной по сети) системы, или программатором.

https://rain.linuxoid.in/2025/02/08/препарируем-multiwan-роутеры-от-tp-link/