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

По просьбам трудящихся описываю процесс сборки 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 из транка”

Комментирование закрыто.