Сборка Openwrt из исходников для D-Link DIR 615 E4
С выходом Openwrt Barrier Breaker (далее BB) захотелось обновиться с предыдущей версии и пощупать, что оно из себя представляет. Скачал, обновил, работает, но появилась проблемка, а именно очень мало свободного места для установки доп. пакетов. В резвизии E4 всего 4Мб энергонезависимой памяти и свободным было около 100Кб. И так как нужно еще было накатить русификацию Люси и VPN pptp. Собственно это и побудило пересобрать прошивку выкинув из нее все ненужное и запилить нужное. Вот такое предисловие, а теперь приступим к делу.
На самом деле самое сложное как ни странно это прошить роутер новой прошивкой из загрузчика, а не ее сборка. Но об этом позже.
Итак нам понадобится какой либо дистрибутив Linux, например Ubuntu, исходники Openwrt и немного времени.
Создаем директорию в которой будем хранить сорцы
mkdir ~/Openwrt && cd ~/Openwrt
и клонируем репозиторий
svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker ar71xx
cd ar71xx
Обновим репозитории пакетов:
./scripts/feeds update -a
И установим люсю
./scripts/feeds install luci
Это добавит возможность выбрать и установить Luci, а также ее различные подпакеты.
Далее, для проверки зависимостей необходимых для сборки запускаем
make defconfig make prereq make menuconfig
Если на данном этапе возникают ошибки, то нужно установить пакеты для сборки:
sudo apt-get install subversion build-essential
Это все стандартные вещи которые в принципе есть и на wiki.openwrt.org.
Теперь будем уменьшать размер образа прошивки за счет ненужного IPv6,дебага и USB которого у нас нет.
Выбираем Target:
Target System (Atheros AR7xxx/AR9xxx) ---> Target Profile (D-Link DIR-615 rev. E4) ---> Boot Loaders ---> [ ] uboot-ar71xx-nbg460n_550n_550nh
Самое главное в меню Boot loaders снять выбор с uboot-ar71xx-nbg460n_550n_550nh. Именно из за этого я собрал рабочую прошивку только через 2 дня. Почему defconfig генерил нерабочий конфиг мне не понятно.
Далее приступим к выпилу ненужностей.
Выпилим USB:
Kernel modules --->
USB Support --->
Выпиливаем IPV6:
Global build settings ---> [ ] Enable IPv6 support in packages
На самом деле ошметки ipv6 есть еще во многих местах. Например iptables6, но мне лень писать где оно лежит, так как таких пунктов штук 5 точно. Энтузиаст найдет сам если захочет. Тем более в menuconfig есть такая замечательная функция как поиск параметров сборки доступный по нажатию клавиши '/'
Я советую выпиливать только USB,debug и IPV6. Остальное может быть необходимым для работы устройства. Я например вырубаю еще и dnsmasq так как не использую дома DHCP, а также PPPoE.
Для того, чтобы точка доступа работала с шифрованием WPA2-PSK и чтобы сам роутер мог быть клиентом точки доступа с шифрованием WPA2-PSK.
Network ---> <*> wpad......................... IEEE 802.1x Authenticator/Supplicant (full) < > wpad-mini
Далее собираем все это дело
make
После успешной сборки в директории bin/ar71xx появится много файлов. Нужный нам будет выглядеть так:
openwrt-ar71xx-generic-dir-615-e4-squashfs-factory.bin
Теперь мы подошли к заключительному и самому сложному пункту, самому процессу перепрошивки. Сложный он потому, что переполнен шаманством. Мне за 3 года владения этим роутером так и не удалось выявить четкий алгоритм входа в веб морду загрузчика, но некоторые наработки есть.
- Прошивать желательно из винды. XP или Win7
- Установить IP адрес 192.168.0.10/24. Можно попробовать не указывать шлюз
- Подключаться через WAN порт
- Попробовать дискретную сетевую карту в слоте PCI-E (Да, было и такое)
- Использовать браузер Firefox Portable 13.0.1
Для прошивки необходимо выдернуть питание, зажать кнопку Reset и не отпуская ее подоткнуть питание и держать 15 секунд. После того как замигает кнопка включения оранжевый цветом отпустить кнопку reset и пробовать перейти по адресу 192.168.0.1
Если подключение не произошло с первого раза, попробовать примерно 5-7 раз подолбиться в 192.168.0.1 и начинать попытки снова с выключением питания. Еще иногда работает такой финт. Зажимаем кнопку reset, и во время когда инициализируется сетевой интерфейс, еще до отпускания кнопки пробовать постучать в веб морду, а потом отпустив кнопку попробовать еще несколько раз.
Дабы не набивать шишек, я выложу конфиг для сборки, который можно взять за основу и далее уже экспериментировать самостоятельно. И по традиции: Ваши замечания, предложения оставляем в коментариях.
Также клиентам провайдера Кабинет советую прочитать статью по настройке Openwrt для работы в этой сети
Братан))) это тот роутер у которого 100500 морд?? если да, то я тебе завидую за твою настойчивость что ты его так и не расхуярел об стену))
Неее, тот был Starnet AR-800 и его можно только в кошмарах ночных увидеть. Это для D-Link DIR-615, который с двумя антеннами.
Скачал файлик конфигурации нашел такие строчки
============================================
CONFIG_TARGET_PREINIT_IP="192.168.23.1"
CONFIG_TARGET_PREINIT_NETMASK="255.255.255.248"
CONFIG_TARGET_PREINIT_BROADCAST="192.168.1.7"
============================================
это ты так пошутил или невзначай?
По поводу входа в веб морды все получается на раз:
1) установить ip сетевухи 192.168.0.15
маска 255.255.0.0 больше ничего не вписывать.
2) выдергиваем питание с роутера зажимаем ресет подключаем питание ресет не отпускаем пока значек питания не заморгает.
3) мне удачно удалось прошить через Оперу вводим адрес 192.168.0.1 и ввод
далее все просто выбираем файл заливаем идет отсчет в процентах после ребутнуть.
Ага, пошутил. Для тебя специально, чтоб ты посмеялся. Вышестоящий пункт меню Preinit выключен, а настройки остались от предыдущего раза, вернее от двух предыдущих раз). К тому же он не работает даже если включить.
Рад за тебя, что у тебя так легко получилось прошить через встроенный бутлоадер.
ох уж эти фейковые мануалы... а где ./scripts ?
ar71xx/rules.mk
A ar71xx/.gitignore
A ar71xx/config
A ar71xx/config/Config-build.in
A ar71xx/config/Config-devel.in
A ar71xx/config/Config-kernel.in
A ar71xx/config/Config-images.in
A ar71xx/BSDmakefile
A ar71xx/.gitattributes
A ar71xx/Config.in
A ar71xx/Makefile
U ar71xx
Получена редакция 42943.
vinnypuh@M52LS2:~/Openwrt$ ./scripts/feeds update -a
bash: ./scripts/feeds: Нет такого файла или каталога
Ты сам фейковый анон. Ты клонируешь транк, почему у тебя скачалось не все - мне неизвестно.
прошу прощения, удалите пожалуйста, я рукожоп обыкновенный, уже разобрался, собирается
у кого не работает на 3 шаге выполните
cd
cd ~/Openwrt/ar71xx
дальше по инструкции
так же если при сборке имеется 1 ошибка установите пакет
sudo apt-get install git
и все с начала
Спасибо, про переход в директорию забыл. Как то слишком очевидно показалось. Пост подправил.
Спасибо за статью, но возникли некоторые трудности, как зайти в настройки после перепрошивки? на 192.168.0.1 просто вечно грузит, а на 192.168.1.1 нет такого узла