Как я собирал свой мод dd-wrt для ASUS RT-N13U

Начну с предыстории. Попался мне в руки за недорого сей чудо девайс ASUS RT-N13U и сразу появилось желание использовать его по полной, но к сожалению родная прошивка оставляла желать лучшего и я побрел искать альтернативы на просторах интернета и набрел на dd-wrt. Все в ней было хорошо, вот только swap и файловые системы она не поддерживала для моего роутера.

Долго я ждал чуда, но увы не дождался и принял решение сделать свою прошивку на базе оригинальной. Почитал wiki на сайте dd-wrt и принялся за работу.

Разработчики dd-wrt, как оказалось, предоставили полностью готовую среду разработки, но только для 64-bit систем, что не могло не расстроить, т.к. в мои планы не входила установка ещё одной операционной системы. Поэтому скачал buildroot 2011.2 и решил собрать прошивку используя конфигурационные файлы предоставленные разработчиками dd-wrt, с определёнными изменениями конечно же. После пары часов борьбы rootfs так собрать и не удалось, куча исходников нужных для компиляции почему-то на svn сервер dd-wrt не попали.

Сдаваться не хотелось и я решил разобрать оригинальную прошивку, добавить в неё нужные модули скомпилировав ядро, ну и в конце концов собрать свой мод прошивки. Для быстро разбора прошивки я использовал Firmware Modification Kit. Все прошло удачно, за исключением того, что размер флеш памяти роутера оказался не безразмерным и пришлось пожертвовать таким функционалом как IPv6, USB printing, USB serial и 3G драйвера. Можно было конечно убрать, никому дома не нужную, поддержку сервисов общественных точек доступа, но там нужно было потратить много времени на то чтобы все это вырезать «красиво».

В итоге я собрал ядро с поддержкой swap и модулями необходимыми для работы внешних накопителей и возрадовался жизни. Единственный минус который остался в моей прошивке — её можно прошить только по tftp или используя асусовскую утилиту для восстановления роутера, что по сути также является tftp клиентом, но для узкого использования.

В конце статьи хочу привести список использованных дополнительных к стандартным утилит и т.д. в хронологическом порядке:
1. Buildroot 2011.2 (в настройках перед сборкой выбрать Target Architecture и Target Architecture Variant под свое железо)
2. Оригинальная прошивка dd-wrt (версия по желанию)
3. Firmware Modification Kit
4. Исходные коды Linux Kernel (версия должна совпадать с версией внутри оригинальной прошивки)
5. Конфигурационный файл для ядра взятый с svn сервера dd-wrt для нужного роутера здесь
6. lzma 4.32
7. mksquashfs-lzma 3.0
8. mkimage

Предупреждение: внимательно выберайте архитектуру в buildroot и конфигурацию ядра! Ошибка может привести роутер к состоянию «кирпича» после прошивки, которое лечится только через внутренний uart или, что еще хуже, через программатор!

В заключение хочу сказать, что иногда не стоит чего-то ждать, можно и самому сделать. Обсуждение моего мода на форуме dd-wrt и саму прошивку можно найти здесь.

Если есть вопросы задавайте в комментариях — отвечу с удовольствием. Также все необходимые действия для сборки прошивки я собрал в скрипт, если кому-то надо пишите, обязательно поделюсь.
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 10

    +1
    «которое лечится только через внутренний uart или, что еще хуже, через программатор!» — вы конечно тут многих этим напугали
      +1
      не хотел никого пугать, просто сам прошел через первый вариант, слава богу, но хорошо под рукой был шнур от сименса, который и адаптировал для «лечения»
        0
        Не знаю как ASUS RT-N13U но N16, я слышал, трудноубиваема. Даже в случае заливки кривой прошивки можно через стандартную утилиту для перепрошивки всё восстановить без проблем.
          0
          ну я умудрился своей недоделанной, на тот момент, прошивкой загнать роутер в состояние циклического recovery и кроме как через шнур, подключенный к ноуту, вылечить его нельзя было никак
    • НЛО прилетело и опубликовало эту надпись здесь
        0
        открою секрет, после того как я собрал медиацентр и сменил провайдера, сам перешел на Wive-NG-RTNL, сейчас прошита версия 2.1.5 и кстати исходники Wive-NG-RTNL помогли мне сделать свой скрипт в своё время для сборки dd-wrt ;)
        0
        Скажите, а можно собрать просто прошивку на основании существующей, но с зашитым заранее конфигом?
        Чтобы залил туда другую прошивку, а она уже настроена.
          +1
          Если у Вас уже стоит прошивка dd-wrt то конфигурация не слетит. Настройки хранятся в другой части памяти и при перепрошивке не затираются.
            0
            Не знал.
            Всегда слепо верил советам в их Wiki, что перед обновлением прошивки нужно обязательно сделать 30/30/30 reset :)
          0
          Это они на всякий случай советуют, если вдруг глобальные изменения в прошике будут касаемо способа и места хранения настроек и увы в прошивке нельзя, по крайней мере я не знаю как если и можно, настройки кастомные забить.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое