Development/ru

From DD-WRT Wiki

Revision as of 16:03, 21 June 2012 by Glenn (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Данный раздел является частично переведенной копией английского раздела. В котором будут рассмотрены варианты сборки и пересборки прошивок от DD-WRT (а ввозможно и многих других)


Contents

[edit] Рекомендации к ПО

I've worked hard to make sure the requirements are low enough for anyone to use this kit. However, to reduce distribution costs and better represent the multi-platform capabilities of this kit, the binary tools in the kit do automatically build themselves the first time you run one of the scripts. Any machine set up to build anything C or C++ on the machine will probably be ready. The few requirements are all basic items that everyone has easy access to:

  1. A compatible platform. The following are specifically supported (or specifically unsupported):
    1. LINUX
    2. OS X  
    3. CYGWIN **alpha stage testing (!! built firmwares may not boot !!)**
    4. Windows с установленным CoLinux (!!!пока не опробовано)
  2. GNU C (gcc)
  3. GNU C++ (g++)
  4. Standard C runtime library development
  5. Standard C++ runtime library development
  6. GNU make
  7. TAR and GZIP (optional, used by ipkg_install.sh)


Установить и обновить Ваш Linux до последней версии. Установить инструментарий. Для Debian / Ubuntu:

   sudo aptitude install gcc g++ binutils patch bzip2 flex bison make gettext unzip  zlib1g-dev libc6 subversion
   sudo apt-get install gcc g++ binutils patch bzip2 flex bison make gettext unzip  zlib1g-dev libc6 subversion
                               

[edit] Firmware Mod Kit

Позволяет распаковать прошивку, добавить или удалить соответствующий инструментарий, и запаковать ее обратно без выкачивания всего исходного кода.

Каждый bin-файл запакован в свою файловую систему. Распаковщик поддерживает следующие файловые системы:

  1. squashfs 2.x (zlib)
  2. squashfs 2.x (lzma)
  3. squashfs 3.x (zlib)
  4. squashfs 3.x (lzma)
  5. squashfs 3.x (lzma with prepended encoding params)
  6. squashfs 3.x (lzma with other variations)
  7. cramfs (zlib)

Список оборудования, поодерживающий данные версии файловых систем:

  1. WRT54G v1 - v6
  2. WRT54GS v1 - v6
  3. WRTSL54G v?
  4. ASUS WL-330g
  5. ASUS WL-500g/p
  6. ASUS WL-520g
  7. ASUS WL-530g
  8. Belkin 7230-4 (some versions)
  9. Belkin 7231-4 (?)
  10. Buffalo WHR-G54S
  11. Buffalo WHR-HP-G54
  12. Siemens SE505
  13. Trendnet TEW-632BRP
  14. D-Link DIR615 (может быть, нетестировано)

От себя добавлю:

  1. ASUS RT-N16
  2. D-Link DIR-320 (A1) (B1 - не проверялось)
  3. D-Link DIR-330
  4. Многие роутеры у которых процессор Broadcom.


[edit] Инструкция

1. Взять прошивку, предназначенною для вашего роутера 2. Установить небходимые программы

   sudo aptitude install gcc g++ binutils patch bzip2 flex bison make gettext unzip  zlib1g-dev libc6 subversion

3. Загрузить последнюю версию Firmware Mod Kit используя SVN:

  mkdir firmware_mod_kit
  cd firmware_mod_kit
  svn checkout http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-mod-kit-read-only
  cd firmware-mod-kit-read-only/trunk/

4. Поместить прошивку в папку со скачанными firmware Mod Kit

[edit] Распаковка прошивки (extract_firmware.sh)

Запустить extract_firmware.sh с параметрами

$ ./extract_firmware.sh firmware.bin working_directory/
firmware.bin 
прошивка, которую необходимо распаковать, Например: dd-wrt.v24-16758_NEWD-2_K2.6_mega.bin.
working_directory 
Рабочая директория, в которой будут находится распакованные файлы из прошивки.


[edit] Модификация прошивки (ipkg_install.sh)

Фйловая система после распаковки через extract_firmware.sh делится на 2 директории:

  • rootfs/
      • Здесь расположены все файлы из прошивки.
  • image_parts/
      • Содержит информацию, касаемую версии файловой системы для прошивки. Изменять ее не рекомендуется!!!

Установка пакетов (.IPK) Список некоторых из доступных пакетов (не все могут работать), см. http://downloads.openwrt.org/backports/rc5/ Могут использоваться как для DD-WRT, так и для Open-WRT.

Пакеты для DD-WRT http://dd-wrt.com/site/support/other-downloads?path=others%2Fpackages%2F

Пример использования:

$ ./ipkg_install.sh some_package-1.2.5.ipk working_directory/
some_package-1.2.5.ipkg 
ipkg-пакет добавляемый в прошивку.
working_directory 
рабочая директория. Используется то же название, что при запуске ./extract_firmware.sh

[edit] Сборка прошивки (build_firmware.sh)

Необходимо запустить ./build_firmware.sh с параметрами для автоматической сборки. Приме использования:

$ ./build_firmware.sh output_directory/ working_directory/
output_directory 
дирректория, в которой буду находиться готовые прошивки.
working_directory 
рабочая директория, задаваемая при использовании ./extract_firmware.sh.

Лог о сборки будет отображен в файле build.log.

[edit] Сборка из исходников

[edit] CoLinux

Источник:

  1. http://www.dd-wrt.com/wiki/index.php/Development
  2. http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
  3. http://code.google.com/p/wl500g/wiki/CoLinux