Версия r2174 открытой прошивки wl500g для SOHO-маршрутизаторов ASUS

Группа энтузиастов выпустила очередной релиз (2174) отрытой прошивки wl500g, базирующейся на Linux и продолжающей развитие «прошивок Олега». В проекте поддерживается большое количество SOHO-маршрутизаторов ASUS. Код прошивки распространяется в рамках лицензии GPL. Размер прошивки — 3.6 Мб.

Основные изменения:

  • Обновление приложений: Linux-ядро 2.4.37.10, accel-pptp 0.8.5, busybox 1.17.2, vsftpd 2.3.2, pppd 2010-08-24 и usb_modeswitch 1.1.4 (модифицирован для libusb-1.0);
  • Бэкпортирование в 2.4.x ядро поддержки mm/fs/net/nfs/CIFS/usb;
  • Усовершенствованы функции «multicast forwarding» и «igmp snooping».
  • В коде поддержки 3g/cdma исправлены ошибки, добавлена возможность привязки устройства к номеру физического порта USB;
  • В коде dhcp добавлена поддержка бесклассовой маршрутизации по rfc3442;
  • Исправлено отображение vlan в режиме моста;
  • В p910nd добавлена поддержка IPv6;
  • В samba налажена работа с расширенными атрибутами и флагами доступа;
  • В ucd-snmp обеспечено корректное определение интерфейсов типа vlan/bridge/wimax/sip;
  • vsftpd 2.3.2
  • В web-UI добавлена поддержка сервиса tunnelbroker.net и возможность выбора порта IPTV STB.

Самостоятельная сборка прошивки

Необходимый софт

  • Linux с установленными пакетами
    • standard compilation software
    • libncurses-dev
    • gawk
    • g++
    • flex
    • bison
    • zlib development
    • subversion

2. Скачать дополнительные инструменты и исходники

3. Распаковать архивы и подготовить дерево сборки

  1. Распаковка (путь /whatever-you-want заменить на тот, где будет храниться дерево сборки)
  2. установите переменную KVER в версию ядра из пункта 2

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    KVER=2.4.37.10
    mkdir -p /whatever-you-want/broadcom/src/linux
    mkdir -p /opt/brcm
    tar -C /opt/brcm -jxvf hndtools-mipsel-uclibc-4.3.5-2.tar.bz2
    ln -sf /opt/brcm/hndtools-mipsel-uclibc-4.3.5 /opt/brcm/hndtools-mipsel-uclibc
    tar -C /whatever-you-want/broadcom/src/linux -jxvf linux-$KVER.tar.bz2
    if [ "${KVER#2.6}" != "${KVER}" ]; then
      ln -sf linux-$KVER /whatever-you-want/broadcom/src/linux/linux-2.6
    else
      ln -sf linux-$KVER /whatever-you-want/broadcom/src/linux/linux
    fi
  3. Получение исходников прошивки
    • 1.9.2.7-d
    • 1
      
      svn checkout http://wl500g.googlecode.com/svn/trunk/ /whatever-you-want/broadcom/src/1.9.2.7-d
    • 1.9.2.7-rtn
    • 1
      
      svn checkout http://wl500g.googlecode.com/svn/branches/rt-n/ /whatever-you-want/broadcom/src/1.9.2.7-rtn
  4. Добавить путь к Toolchain (можно внести в личный .profile для удобства)
  5. 1
    
    $ export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin

4. Сборка и компиляция

  1. Сборка
  2. 1
    2
    3
    
    $ cd /whatever-you-want/broadcom/src/1.9.2.7-d
    $ make kernel
    $ make
  3. Изменить MODEL=wl500gp в /whatever-you-want/broadcom/src/gateway/Makefile на желаемую
  4. Компиляция
  5. 1
    2
    3
    
    $ cd /whatever-you-want/broadcom/src/gateway
    $ make
    $ make install
  6. Файл прошивки и модули ядра искать в /whatever-you-want/broadcom/src/gateway/mipsel-uclibc/

5. Обновление из SVN

  • Если вы обновили дерево исходников из SVN, и хотите пересобрать только измененную часть, то алгоритм усложняется:
    • Если обновились патчи к ядру, то необходимо
      • переразвернуть оригинальное ядро из архива (см. пункт 3.1)
      • перенакат патчей и обновление конфига
      • 1
        2
        3
        4
        
        $ cd /whatever-you-want/broadcom/src/1.9.2.7-d
        $ make kernel
        $ cd /whatever-you-want/broadcom/src/gateway
        $ make koldconf
    • Если обновились только пакеты, то достаточно следующего
    • 1
      2
      3
      
      $ cd /whatever-you-want/broadcom/src/1.9.2.7-d
      $ rm -rf /whatever-you-want/broadcom/src/gateway
      $ make
  • Далее перейти на пункт 4.2 данного HowTo.
  • Более прицельное обновление также возможно, но требует знания работы patch, make и других средств разработки, а обучение работы с ними выходит за рамки этого HowTo.

Leave a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Загрузка...
Menu Title