По просьбам трудящихся описываю процесс сборки OpenWRT из транка. Нужно отдать должное разработчикам, так как сборка из исходных кодов особых трудностей не представляет. Для сборки нам потребуется ПК с ОС Linux, я использовал Debian Squeeze.
Для начала следует установить пакеты, которые понадобятся для сборки:
root@localhost:~$ apt-get install gcc binutils patch bzip2 flex make gettext pkg-config unzip \
libz-dev linux-libc-dev subversion gawk
Получаем исходные коды OpenWRT:
root@localhost:~$ svn co svn://svn.openwrt.org/openwrt/trunk/ openwrt-trunk
root@localhost:~$ cd openwrt-trunk
root@localhost:~/openwrt-trunk$ ./scripts/feeds update
root@localhost:~/openwrt-trunk$ ./scripts/feeds install -a -p luci
На всякий случай подчищаем каталоги:
root@localhost:~/openwrt-trunk$ make target/linux/clean
root@localhost:~/openwrt-trunk$ make package/base-files/clean
root@localhost:~/openwrt-trunk$ make package/feeds/luci/luci/clean
Приступаем к настройке:
root@localhost:~/openwrt-trunk$ make menuconfig
Моя конфигурация для D-Link DIR-825 выглядит следующим образом:
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
После того как конфигурация закончена и конфиг сохренен, приступаем к сборке:
root@localhost:~/openwrt-trunk$ make -j4 V=99
Если сборка прошла успешно вы должны увидеть следующее:
root@localhost:~/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 процесс выглядит так, с той лишь разницей, что используется файл прошивки не скачанный с сайта, а полученный в процессе компиляции из исходных кодов.
4 комментария “Собираем OpenWRT из транка”
Только начал смотреть в строну openwrt (до этого использовал dd-wrt), и не понимаю в чем разница между транком и ветками (например backfire)? На форуме operwrt есть тема, что транк может привести к кирпичу https://forum.openwrt.org/viewtopic.php?pid=176604
Роутер TP=LINK TL-WR1043ND
Не хочу брать готовый билд, так как хочу установить то, что мне надо (торрент, самба)
Заранее спасибо за ответ
trunk это ветка в которой ведется разработка и куда вносятся все изменения. Именно исходя из этого она может быть не стабильной. В общем случае лучше брать какой-то релиз.
Не подскажете как узнать конфигурацию др роутера например TP-Link TL-WR741N/ND v4 просто под этот роутер нет прошивки уже хоть самому соберай
Почему нету? есть