Development/ru
From DD-WRT Wiki
English • Deutsch • Español • Français • Italiano • 日本語 • Polski • Português • Русский • Svenska • 中文(中国大陆) • 中文(台灣) • |
Данный раздел является частично переведенной копией английского раздела. В котором будут рассмотрены варианты сборки и пересборки прошивок от 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:
- A compatible platform. The following are specifically supported (or specifically unsupported):
- LINUX
- OS X
- CYGWIN **alpha stage testing (!! built firmwares may not boot !!)**
- Windows с установленным CoLinux (!!!пока не опробовано)
- GNU C (gcc)
- GNU C++ (g++)
- Standard C runtime library development
- Standard C++ runtime library development
- GNU make
- 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-файл запакован в свою файловую систему. Распаковщик поддерживает следующие файловые системы:
- squashfs 2.x (zlib)
- squashfs 2.x (lzma)
- squashfs 3.x (zlib)
- squashfs 3.x (lzma)
- squashfs 3.x (lzma with prepended encoding params)
- squashfs 3.x (lzma with other variations)
- cramfs (zlib)
Список оборудования, поодерживающий данные версии файловых систем:
- WRT54G v1 - v6
- WRT54GS v1 - v6
- WRTSL54G v?
- ASUS WL-330g
- ASUS WL-500g/p
- ASUS WL-520g
- ASUS WL-530g
- Belkin 7230-4 (some versions)
- Belkin 7231-4 (?)
- Buffalo WHR-G54S
- Buffalo WHR-HP-G54
- Siemens SE505
- Trendnet TEW-632BRP
- D-Link DIR615 (может быть, нетестировано)
От себя добавлю:
- ASUS RT-N16
- D-Link DIR-320 (A1) (B1 - не проверялось)
- D-Link DIR-330
- Многие роутеры у которых процессор 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
Источник: