Сборка Openwrt из исходников для D-Link DIR 615 E4

С выходом Openwrt Barrier Breaker (далее BB) захотелось обновиться с предыдущей версии и пощупать, что оно из себя представляет. Скачал, обновил, работает, но появилась проблемка, а именно очень мало свободного места для установки доп. пакетов. В резвизии E4 всего 4Мб энергонезависимой памяти и свободным было около 100Кб. И так как нужно еще было накатить русификацию Люси и VPN pptp. Собственно это и побудило пересобрать прошивку выкинув из нее все ненужное и запилить нужное. Вот такое предисловие, а теперь приступим к делу.

На самом деле самое сложное как ни странно это прошить роутер новой прошивкой из загрузчика, а не ее сборка. Но об этом позже.
Итак нам понадобится какой либо дистрибутив Linux, например Ubuntu, исходники Openwrt и немного времени.

Создаем директорию в которой будем хранить сорцы

mkdir ~/Openwrt && cd ~/Openwrt

и клонируем репозиторий

svn co  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 для работы в этой сети

Скачать конфиг

Оцените статью