Идем на dd-wrt.com. В разделе download качаем прошивку для dir-320 — dd-wrt.v24_usb_generic.bin ( на данный момент крайняя v24).
Понадобится консольная tftp, можно установить через менеджер установки стандартных приложений в windows, так же и в linux.
Сохраняем в некоторой папке под именем firmware.bin. Открываем консоль №1, переходим в папку, где лежит firmware.bin , набираем команду «tftp 192.168.0.1», готовим команду «put firmware.bin»
Открываем вторую консоль, пишем и запускаем «ping -f 192.168.0.1» ( для linux) «ping 192.168.0.1 -n 1000» ( для win). ICMP ответ не должен возвращаться, если, конечно, у роутера ip не 192.168.0.1 .
Выключаем питание роутера, включаем питание роутера. Нужно поймать тот момент, когда появятся ответы от роутера во второй консоли. В этот момент необходимо запустить заранее приготовленную комманду в первой консоли.
Если все прошло успешно, то появится сообщение в первой консоли, что прошивка успешно загружена. В противном случае повторяем выше написанное.
Необходимо дождаться горения светодиода «статус», либо появления беспроводной сети dd-wrt, что сигнализирует о том, что роутер прошит успешно!
В итоге получаем роутер с прошивкой от dd-wrt.
Далее необходима будет флешка, отформатированная в ext2fs. Отформатировать можно любым способом. Пример для linux Ubuntu.
# mkfs.ext2 /dev/sdb1
В итоге получаем флеху с разделом ext2fs.
Вставляем ее в USB порт роутера.
Правим настройки роутера через web. По стандарту теперь у роутера IP будет 192.168.1.1. В адресной строке браузера пишем 192.168.1.1. Логин/pass — admin/admin. Далее Службы->USB. Пункты включить на «Базовая поддержка USB», «Поддержка USB 1.1 (OHCI)», «Поддержка USB-дисков», «Поддержка файл.системы ext2/ext3», «Automatic Drive Mount», остально отключить. Пункт монтирования «/opt». Далее кнопка «Применить». Роутер перезагружается.
Далее вкладка «техобслуживание»(предпоследняя). Необходимо включить «Поддержка JFFS2. Так же жмем пункт применить. Роутер перезагружается.
Теперь необходимо телнетом зайти на роутер.
# telnet 192.168.1.1
login/pass — root/admin.
Теперь нужно проверить примонтировалась ли флешка.
# mount
Если есть пункт /dev/discs/disc0/part1 on /opt type ext2 (rw), значит примонтировалась.
Далее монтируем папку jffs.
# mkdir /opt/jffs/
# mount -o bind /opt/jffs/ /jffs/
Все. Система готова к установке!!
Ставим optware.
# wget -O /tmp/prep_optware http://wd.mirmana.com/prep_optware
# sh /tmp/prep_optware
Процесс длительный. Ждем.
Загружаем/обновляем дерево пакетов.
# ipkg-opt update
Ставим buildroot.
# ipkg install buildroot
процесс так же длительный.
Экспортируем енвироменты необходимые.
# export LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH
Все. Теперь можно компилисть свои написаные программы на С.
#gcc <input file> -o <outputfile>