Цель
Статья написана для тех кто желает добавить дополнительный функционал в прошивку подготовленную в статье «Прошивка DD-WRT под Yota для маршрутизаторов ASUS» или добавить функционал поддержки модема Samsung SWC-U200 в какой-либо иной мод DD-WRT.
Требования
В процессе подготовки мода нам потребуются:
- машина под управлением Linux;
- права пользователя root (файлы прошивки DD-WRT принадлежат пользователю root).
Распаковка содержимого прошивки
Для начала нам необходимо получить дистрибутив инструментария для создания модов прошивки.
mkdir -p /tmp/firmware_modkit
cd /tmp/firmware_modkit
wget http://www.bitsum.com/files/firmware_mod_tools.tar.gz
tar xvzf firmware_mod_tools.tar.gz
rm -f firmware_mod_tools.tar.gz
После нам необходимо в папку /tmp/firmware_modkit положить дистрибутив dd-wrt который будем модифицировать. Например svn14205_big
wget http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_TNG/svn14205/dd-wrt.v24-14205_NEWD-2_big.bin
Распаковываем содержимое прошивки в рабочую директорию
./extract_firmware.sh dd-wrt.v24-14205_NEWD-2_big.bin work_dir
Firmware Mod Kit (extract) v0.62 beta, (c)2008 Jeremy Collake
http://www.bitsum.com
Checking for updates ...
You have the latest version of this kit.
LINUX system detected. Compatibility ok.
Testing file system of work_dir ...
Building tools ...
Build seems successful.
Preparing working directory ...
Removing any previous files ...
Creating directories ...
Extracting firmware
Attempting squashfs 3.0 lzma ...
Trying 'damn small' variant - used by DD-WRT v24 ...
Firmware appears extracted correctly!
Now make changes and run build_firmware.sh.
Теперь в папке work_dir находится содержимое прошивки DD-WRT
ls -l work_dir/
total 12K
drwxr-xr-x 2 root root 4.0K May 6 09:23 image_parts
drwxr-xr-x 2 root root 4.0K May 6 09:23 installed_packages
drwxr-xr-x 16 root root 4.0K Apr 7 16:58 rootfs
Модификация прошивки
Теперь Вы можете изменить содержимое поршивки одним из указанных ниже способов:
- в соответствии инструкцией что приводится на странице описания инструментария для создания модов;
- путем модифицирования содержимого файловой системы в папке work_dir/rootfs/;
- путем копирования набора файлов необходимых для работы модема Samsung SWC-U200 в папку work_dir/rootfs/.
Для копирования набора файлов необходимых для работы модема Samsung SWC-U200 необходимо выполнить следующие команды
wget http://www.network-engineer.ru/files/post_256/dd-wrt_yota_files.tar.gz
tar xvzf dd-wrt_yota_files.tar.gz -C work_dir/rootfs/
Сборка мода прошивки
Для того чтобы собрать измененный мод необходимо дать команду
./build_firmware.sh mod_dir work_dir
Теперь в папке mod_dir находится подготовленный Вами мод прошивки. Для прошивки маршрутизатора Вы можете испоьзовать файл mod_dir/custom_image.trx.
Прочая информация
К сожалению из под Windows собрать прошивку с помощью firmware modkit невозможно. По крайней мере, мне неизвестно о портировании инструментария firmware modkit на платформу Windows.
Мною регулярно вносятся улучшения в прошивку DD-WRT с целью обеспечения хорошей работы в сети Yota. На 02 ноября 2010 г. улучшения требуют внесения изменений в исходный код. По этой причине дальнейшие улучшения файлов имеющихся в файле dd-wrt_yota_files.tar.gz производиться не будет.
Ссылки
Прошивка DD-WRT под Yota для маршрутизаторов ASUS
Инструментарий для создания модов прошивки DD-WRT
Текущие сборки DD-WRT
Сборки версии svn14205
Компиляция DD-WRT из исходного кода