Собираем OpenWRT из транка

По просьбам трудящихся описываю процесс сборки из транка. Нужно отдать должное разработчикам, так как сборка из исходных кодов особых трудностей не представляет. Для сборки нам потребуется ПК с ОС , я использовал Debian Squeeze.

Для начала следует установить пакеты, которые понадобятся для сборки:

 [email protected]:~$ apt-get install gcc binutils patch bzip2 flex make gettext pkg-config unzip \ libz-dev linux-libc-dev subversion gawk 

Получаем исходные коды OpenWRT:

 [email protected]:~$ svn co svn://svn.openwrt.org/openwrt// openwrt- [email protected]:~$ cd openwrt- [email protected]:~/openwrt-$ ./scripts/feeds update [email protected]:~/openwrt-$ ./scripts/feeds install -a -p luci 

На всякий случай подчищаем каталоги:

 [email protected]:~/openwrt-trunk$ make target/linux/clean [email protected]:~/openwrt-trunk$ make package/base-files/clean [email protected]:~/openwrt-trunk$ make package/feeds/luci/luci/clean 

Приступаем к настройке:

 [email protected]:~/openwrt-trunk$ make menuconfig 

Моя конфигурация для D-Link выглядит следующим образом:

 OpenWrt Configuration Target System (Atheros AR71xx/AR7240/AR913x) ---> Subtarget (Generic) ---> Target Profile (D-Link DIR-825 rev. B1) ---> Network ---> <*> hostapd................................. IEEE 802.1x Authenticator (full) --- iptables............................... IPv4 firewall administration tool ---> <*> iptables-mod-conntrack-extra........ Extra connection tracking extensions <*> iptables-mod-extra....................... Other extra iptables extensions <*> iptables-mod-ipopt........................... IP/Packet option extensions <*> iptables-mod-nat-extra.............................. Extra NAT extensions <*> iptables-utils....................... iptables save and restore utilities <*> ip............................................... Routing control utility <*> tc............................................... Traffic control utility <*> uhttpd........................ uHTTPd - tiny, single threaded HTTP server LuCI ---> Collections ---> <*> luci Translations ---> <*> luci-i18n-russian........................... Russian (by Skryabin Dmitry) Kernel modules ---> Native Language Support ---> <*> kmod-nls-cp1251.................................. Codepage 1251 (Russian) <*> kmod-nls-utf8...................................................... UTF-8 Netfilter Extensions ---> <*> kmod-ipt-conntrack-extra............... Extra connection tracking module <*> kmod-ipt-extra............................................. Extra module <*> kmod-ipt-nat-extra..................................... Extra NAT targets <*> kmod-ipt-queue..................... Module for user-space packet queueing Wireless Drivers ---> <*> kmod-ath9k........................ Atheros 802.11n wireless cards support 

После того как конфигурация закончена и конфиг сохренен, приступаем к сборке:

 [email protected]:~/openwrt-trunk$ make -j4 V=99 

Если сборка прошла успешно вы должны увидеть следующее:

 [email protected]:~/openwrt-trunk$ ls -al bin/ar71xx/ total 41560 drwxr-xr-x 3 rascal rascal 4096 Nov 5 17:02 . drwxr-xr-x 3 rascal rascal 4096 Nov 5 16:56 .. -rw-r--r-- 1 rascal rascal 1240 Nov 5 17:02 md5sums -rw-r--r-- 1 rascal rascal 4259870 Nov 5 17:02 openwrt-ar71xx-generic-dir-825-b1-jffs2 -backup-loader.bin -rw-r--r-- 1 rascal rascal 4259844 Nov 5 17:02 openwrt-ar71xx-generic-dir-825-b1-jffs2 -sysupgrade.bin -rw-r--r-- 1 rascal rascal 3276830 Nov 5 17:02 openwrt-ar71xx-generic-dir-825-b1-squashfs -backup-loader.bin -rw-r--r-- 1 rascal rascal 4194330 Nov 5 17:02 openwrt-ar71xx-generic-dir-825-b1-squashfs -factory.bin -rw-r--r-- 1 rascal rascal 3276804 Nov 5 17:02 openwrt-ar71xx-generic-dir-825-b1-squashfs -sysupgrade.bin -rw-r--r-- 1 rascal rascal 3407872 Nov 5 17:02 openwrt-ar71xx-generic-root.jffs2-128k -rw-r--r-- 1 rascal rascal 3276800 Nov 5 17:02 openwrt-ar71xx-generic-root.jffs2-64k -rw-r--r-- 1 rascal rascal 2359296 Nov 5 17:02 openwrt-ar71xx-generic-root.squashfs -rw-r--r-- 1 rascal rascal 2236420 Nov 5 17:02 openwrt-ar71xx-generic-root.squashfs-4k -rw-r--r-- 1 rascal rascal 2762330 Nov 5 17:02 openwrt-ar71xx-generic-rootfs.tar.gz -rw-r--r-- 1 rascal rascal 1157568 Nov 5 17:02 openwrt-ar71xx-generic-uImage-gzip.bin -rw-r--r-- 1 rascal rascal 834359 Nov 5 17:02 openwrt-ar71xx-generic-uImage-lzma.bin -rwxr-xr-x 1 rascal rascal 2571148 Nov 5 17:02 openwrt-ar71xx-generic-vmlinux.bin -rwxr-xr-x 1 rascal rascal 2637600 Nov 5 17:02 openwrt-ar71xx-generic-vmlinux.elf -rw-r--r-- 1 rascal rascal 1179648 Nov 5 17:02 openwrt-ar71xx-generic-vmlinux.gz -rw-r--r-- 1 rascal rascal 851968 Nov 5 17:02 openwrt-ar71xx-generic-vmlinux.lzma drwxr-xr-x 2 rascal rascal 4096 Nov 5 17:02 packages 

Все, можно устанавливать прошивку, для D-Link DIR-825 процесс выглядит так, с той лишь разницей, что используется файл прошивки не скачанный с сайта, а полученный в процессе компиляции из исходных кодов.