Bekijk de volledige versie : Сборка собственной прошивки
makcumka
30-10-2006, 11:02
Создание собственной прошивки
специально для всех даю краткую инструкцию... всего десяток комманд... для компиляции нужно иметь linux-box (в моем случае Debian GNU/Etch 4.0 развернутый в VMWare для чистоты экспиремента)
# uname -a
Linux debian 2.6.26-1-amd64 #1 SMP Thu Aug 28 13:32:26 UTC 2008 x86_64 GNU/Linux
подготовим место для сборки и скачали три необходимых файла
# rm -rf /opt/brcm /opt/broadcom
# ls -la ~/tmp
-rw-r--r-- 1 root root 273177367 2008-09-13 00:12 GPL_1927.ZIP
-rw-r--r-- 1 root root 2015762 2008-09-13 00:12 hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
-rw-r--r-- 1 root root 15256385 2008-09-13 00:12 wl500g-1.9.2.7-10.tar.bz2
выполняем по очереди комманды... вывод каждой не привожу... смысла не вижу (кому нужно могу сделать логи выполнения каждой комманды make)
# tar -C /opt -zxvf ~/tmp/GPL_1927.ZIP
# mv /opt/broadcom/opt/brcm /opt
# tar -C / -jxvf ~/tmp/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
# rm /opt/brcm/hndtools-mipsel-uclibc
# ln -sf /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
# export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin
# tar -C /opt/broadcom/src -jxvf ~/tmp/wl500g-1.9.2.7-10.tar.bz2
# cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel && make
# cd /opt/broadcom/src/gateway && make && make images
в результате получаем все образы
# ls -la /opt/broadcom/src/gateway/mipsel-uclibc/
total 39880
drwxr-xr-x 5 root root 4096 2008-09-13 00:33 .
drwxr-xr-x 49 root root 4096 2008-09-13 00:18 ..
drwxr-xr-x 40 root root 4096 2008-09-13 00:33 install
drwxr-xr-x 3 root root 4096 2008-09-13 00:26 modules
drwxr-xr-x 14 root root 4096 2008-09-13 00:33 target
-rwx------ 1 root root 3095166 2008-09-13 00:33 target.cramfs
-rw-r--r-- 1 root root 669542 2008-09-13 00:33 vmlinuz
-rw-r--r-- 1 root root 3674112 2008-09-13 00:28 WL320gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-13 00:29 WL320gP-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-13 00:33 WL330gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-13 00:30 WL500gp-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:32 WL500gpv2-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3706880 2008-09-13 00:27 WL500gx-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-13 00:31 WL500W-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:31 WL520gu-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:28 WL550gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3768320 2008-09-13 00:33 WL700g-1.9.2.7-10.trx
специально для всех даю краткую инструкцию... всего десяток комманд... для компиляции нужно иметь linux-box (в моем случае Debian GNU/Etch 4.0 развернутый в VMWare для чистоты экспиремента)
# uname -a
Linux debian 2.6.26-1-amd64 #1 SMP Thu Aug 28 13:32:26 UTC 2008 x86_64 GNU/Linux
Попробовал на Debiane под VMWare
debian:/# uname -a
Linux debian 2.6.18-6-686 #1 SMP Mon Aug 18 08:42:39 UTC 2008 i686 GNU/Linux
Свежая установка, из дополнительных настроек только openssh. Все операции проделаны через ssh, из под root`а. ~/tmp/ у меня не оказалось, сложил и соответственно распаковывал из /tmp/tt/
До следующей команды все проходит без ошибок
cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel
А на make выдает:
patching file options.h
Hunk #1 succeeded at 204 (offset 19 lines).
cd /opt/broadcom/src/gateway/dropbear-0.50 && \
CC=mipsel-uclibc-gcc ./configure --host=mipsel-linux --disable-zlib --disable-shadow \
--disable-lastlog --disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx \
--disable-libutil --disable-loginfunc --disable-pututline --disable-pututxline
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking for mipsel-linux-gcc... mipsel-uclibc-gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** [/opt/broadcom/src/gateway/dropbear/config.h] Error 77
Может быть еще какие телодвижения нужно делать?
Создание собственной прошивки
makcumka, спасибо все получилось.
Итак, по порядку:
Ставил на WMware, линух под ядро 2.6. При создании виртуальной машины указывал сетку "host-only", размер винта 8Гб (реально понадобилось меньше 5-ти), 256 оперативки.
Ставил Debian с CD образов под именем "debian-40r4a-i386-CD-1.iso" и т.д. Ставил стандартную установку, там проблем не ожидается. При запросе параметров сети, выбирал сеть с DHCP-manual, и указывал IP хоста.
Подготовка к установке нужных пакетов
- заполняем локальный репозиторий. В рутовой консоле выполняем
#apt-cdrom add
Вставляем(или монтируем к vmware) cd с маркировкой "debian-40r4a-i386-CD-2.iso".
Повторяем ввод команды для каждого диска. Не уверен, но может быть понадобится только первые четыре.
Проверяем на наличие и устанавливаем пакет с ssh-сервером
#aptitude search openssh-server
i openssh-server - Secure shell server, an rshd replacement
#aptitude install openssh-server
После этого у меня при помощи программы TunnelierPortable соединение проходило без проблем.
И далее я все делал через ssh - мне так привычней и удобней.
Проверка доступности необходимых пакетов.
Вывод не привожу, должен быть аналогичен предыдущему пункту:
#aptitude search build-essential
#aptitude search libncurses-dev
#aptitude search gawk
#aptitude search flex
#aptitude search zlib1g-dev
Если какой-то пакет не доступен, то нужно повторить заполнение локального репозитария.
Установка пакетов:
#aptitude install build-essential
#aptitude install libncurses-dev
#aptitude install gawk
#aptitude install flex
#aptitude install zlib1g-dev
Копирование исходников в виртуальную машину.
Через SFTP, реализованный в TunnelierPortable, положим в /home/user/tt/ файлы
GPL_1927.zip (http://www.asus.com.cn/pub/ASUS/wireless/WL-500g-03/GPL_1927.zip)
hndtools-mipsel-uclibc-3.2.3-full.tar.bz2 (http://oleg.wl500g.info/uClibc-0.9.19/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2)
wl500g-1.9.2.7-10.tar.bz2 (http://oleg.wl500g.info/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2)
Дальше действовал по инструкции от makcumkи (http://wl500g.info/showpost.php?p=111453&postcount=32)
Удаляем хвосты(на всякий случай:)
# rm -rf /opt/brcm /opt/broadcom
Проверяем, что нужные исходники лежат там, где необходимо
# ls -la /home/user/tt/
-rw-r--r-- 1 root root 273177367 2008-09-13 00:12 GPL_1927.ZIP
-rw-r--r-- 1 root root 2015762 2008-09-13 00:12 hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
-rw-r--r-- 1 root root 15256385 2008-09-13 00:12 wl500g-1.9.2.7-10.tar.bz2
Распаковка исходников
#rm -rf /opt/brcm /opt/broadcom
#tar -C /opt -zxvf /home/user/tt/GPL_1927.ZIP
#mv /opt/broadcom/opt/brcm /opt
#tar -C / -jxvf /home/user/tt/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
#rm /opt/brcm/hndtools-mipsel-uclibc
#ln -sf /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
#export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin
#tar -C /opt/broadcom/src -jxvf /home/user/tt/wl500g-1.9.2.7-10.tar.bz2
Делается достаточно долго, но проблем не ожидается.
Собственно сборка и компиляция:
#cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel && make
#cd /opt/broadcom/src/gateway && make && make images
При первых проходах вываливались ошибки.
На этом этапе, по совету DemonGloom, я начал подбирать необходимые пакеты, установленные "выше".
Проверка получившегося
# ls -la /opt/broadcom/src/gateway/mipsel-uclibc/
total 39880
drwxr-xr-x 5 root root 4096 2008-09-15 16:46 .
drwxr-xr-x 49 root root 4096 2008-09-15 16:33 ..
drwxr-xr-x 40 root root 4096 2008-09-15 16:45 install
drwxr-xr-x 3 root root 4096 2008-09-15 16:34 modules
drwxr-xr-x 13 root root 4096 2008-09-15 16:46 target
-rwx------ 1 root root 3094584 2008-09-15 16:46 target.cramfs
-rw-r--r-- 1 root root 669529 2008-09-15 16:45 vmlinuz
-rw-r--r-- 1 root root 3674112 2008-09-15 16:37 WL320gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-15 16:39 WL320gP-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-15 16:45 WL330gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-15 16:40 WL500gp-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:43 WL500gpv2-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3706880 2008-09-15 16:35 WL500gx-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-15 16:41 WL500W-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:42 WL520gu-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:36 WL550gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3768320 2008-09-15 16:46 WL700g-1.9.2.7-10.trx
Можно устанавливать Debian с сети (http://www.debian.org/distrib/), тогда в настройках виртуальной машину нужно выбирать мост или NAT, и третий пункт (подготовка локального репозитория) не понадобится.
PS. Сейчас будут пробовать перепрошивать.
PPS. Перепрошил - работает. Но почему же размер отличается от оригинального на 94208?
Добрый вечер!
Сегодня весь день провел, разбираясь с toolchain-ом. :)
Мне нужно было, как минимум, скомпилировать модуль ядра hid.o для поддержки моего UPS (Krauler UP-M500VA), который снабжен usb разъемом и поддерживает HID интерфейс.
Попутно я разобрался с процессом создания прошивки. Вот какие проблемы возникли:
(1) Сначала решил попробовать собрать прошивку (версия 1.9.2.7-7f), ничего не меняя в конфигурации, чтобы проверить, что все работает. Все скачал, установил, пропатчил. Но! В самом конце, после компиляции всех исходников, при выполнении make install для окончательной сборки прошивки возникла ошибка с исходниками библиотеки lzma - их не было на нужном месте.
На форуме нашел подсказку попробовать make lzma в каталоге прошивки, но и это не сработало. Покопался в Makefile, показалось что там все в порядке :confused: . Вобщем, пропатчил вручную.
(2) Еще такое дело: когда все-таки собрал, размер моего trx файла оказался на 230КБ меньше, чем оригинальная прошивка Олега. Это тоже очень странно... Как добиться, чтобы размеры совпадали?
(3) Но, моя цель была - модуль hid.o, так что выполнил команду make menuconfig в каталоге src/gateway.
Добавил поддержку hid устройств в секции usb (модуль) и опцию для поддержки устройств hiddev.
Сделал make и тут-то пошли ошибки в файлах drivers/usb/hid-core.c и drivers/usb/hiddev.c.
Путем тщательного анализа до меня дошло, что кто-то патчил код поддержки usb устройств кодом из ядра версии 2.4.25 (тогда как оригинальный код из 2.4.20), но недопатчил!! :rolleyes:
Дело в том что в каталоге drivers/usb/ заменены были все файлы, но header файлы, которыми они пользовались (в моем случае - это include/linux/hiddev.h), были заменены только частично. Пришлось качать исходники ядра 2.4.25 и обновлять файл.
После этого все прекрасно скомпилировалось, я засунул полученный hid.o на работающий роутер и тот увидел мой UPS. Я его немного потестил, все работает прекрасно.
Так что, считаю, патч для этого файла (хотя бы) можно было бы добавить в прошивку. :)
P.S. Оффтоп. Еще в свое время обнаружил, что в библиотеку uClibc при сборке не была включена локаль ru_RU.CP1251, зато включена be_BY.CP1251 (Беларуссия) и они совершенно идентичны (это показал анализ исходников). У меня это было необходимо для svn checkout на роутере, если в именах файлов на сервере встречаются русские буквы.
Может быть, кому-нибудь пригодится.
(1) понятия не имею. :(
(2) это мой маленький секрет - там лежит tcpdump
(3) да, да. АСУС так развлекается. :) Дайте патч для юсб я добавлю его.
Спасибо за мгновенный ответ :)
Вот и патч.
Добавил этот патч, назвав kernel-usb-hiddev.patch
Господа прикрепите эту ветку многие уже пытаются создать на Олеговой прошивке свои сборки с некими дополнениями им это нужно !!!
Мож кто DM иль wget добавит=)))))
Добрый день, ребята! Вопрос, конечно ламерский для Вас, но иожно я его задам? Есть железяка Asus Wl-500g Deluxe. Есть модифицированная прошивка для моего роутера (чтобы мобильник можно было подлючить свой). Так вот, есть задача воткнуть туда видеокамеру. Но, к сожалению, моя видеокамера не поддерживается. Объясните, пожалуйста, или ткните где можно прочитать, как моздать свою прошивку на основе модифицированной, но с поддержкой моей видеокамеры? Драйвера для этой видеокарты скачаны! Спасибо! Извините, если где-то на этом сайте есть, но я не нашел!
Добрый вечер!
Сегодня весь день провел, разбираясь с toolchain-ом. :)
Мне нужно было, как минимум, скомпилировать модуль ядра hid.o для поддержки моего UPS (Krauler UP-M500VA), который снабжен usb разъемом и поддерживает HID интерфейс.
Уважаемый не подскажите куда вы скопировали файлы с вашими драйверами. У меня задача сунуть отдельные скомпилированные модули ядра и отдельно их подключать. Но никак не могу их сунуть в прошивку, чтобы они были в /lib/kernel/modules? УЖе голову всю сломал. спасибо!
Друзья, вообщем скачал драйвер для моей видеокамеры Creative PC-CAM 300, взятый отсюда: http://wl500g.info/showthread.php?t=1698
Загружаю этот драйвер. В логах при подключении камеры пишет:
Jan 1 03:01:42 kernel: usb.c: registered new driver '
Jan 1 03:01:42 kernel: drivers/usb/spca5xx.c: spca5xx driver 00.56.02 registered
Jan 1 03:01:54 kernel: hub.c: new USB device 01:02.0-1, assigned address 2
Jan 1 03:01:54 USB webcam: attached
Jan 1 03:02:03 kernel: pwc Philips PCA645/646 + PCVC675/680/690 + PCVC730/740/750 webcam module version 8.12 loaded.
Jan 1 03:02:03 kernel: pwc Also supports the Askey VC010, various Logitech Quickcams, Samsung MPC-C10 and MPC-C30,
Jan 1 03:02:03 kernel: pwc the Creative WebCam 5, SOTEC Afina Eye and Visionite VCS-UC300 and VCS-UM100.
Jan 1 03:02:03 kernel: usb.c: registered new driver Philips webcam
Но при заходе на http://my.router:7776 говорит, что image not ready. В чем может быть проблема? или если несложно ткните где можно прочитать про компилирование данного модуля ядра для поддержки в моем роутере? Спасибо! Просьба сильно не бить и не ругаться на меня. Пока я мало что понимаю в этом роутере!
Вообщем, примерно понял из-за чего это. Не запускается почему-то сервер activex на порту 7777. сделал на рутере netstat -na, нету такого порта хотя http на 7776 висит исправно. Не подскажите где копать?
Ребят, нету ни у кого идей по поводу этого? Спасибо, ребята! Как всегда понимание наблюдаю. Собираю свою прошивку. так имхо правильнее будет.
Уважаемый не подскажите куда вы скопировали файлы с вашими драйверами. У меня задача сунуть отдельные скомпилированные модули ядра и отдельно их подключать. Но никак не могу их сунуть в прошивку, чтобы они были в /lib/kernel/modules? УЖе голову всю сломал. спасибо!
Их не обязательно засовывать в прошивку или /lib/modules :)
insmod лезет в этот каталог только если не указаны путь и расширение файла модуля. Поэтому достаточно положить ваш smth.o куда-нибудь и сделать:
insmod /some/path/smth.o
А засунуть в прошивку, я так понимаю, проще всего с помощью toolchain-а на компьютере. Если исходные тесты модуля уже там лежат, но в стандартной конфигурации этот модуль не собирается, то можно поправить конфиг с помощью make menuconfig.
Если ваш модуль уже скомпилирован, то его можно положить в src/gateway/mipsel-uclibc/target/lib/modules/... (путь даю по памяти, проверьте) после компиляции прошивки, но перед окончательным make install. Я таких вещей не делал, но, думаю, это сработает.
Их не обязательно засовывать в прошивку или /lib/modules :)
insmod лезет в этот каталог только если не указаны путь и расширение файла модуля. Поэтому достаточно положить ваш smth.o куда-нибудь и сделать:
insmod /some/path/smth.o
А засунуть в прошивку, я так понимаю, проще всего с помощью toolchain-а на компьютере. Если исходные тесты модуля уже там лежат, но в стандартной конфигурации этот модуль не собирается, то можно поправить конфиг с помощью make menuconfig.
Если ваш модуль уже скомпилирован, то его можно положить в src/gateway/mipsel-uclibc/target/lib/modules/... (путь даю по памяти, проверьте) после компиляции прошивки, но перед окончательным make install. Я таких вещей не делал, но, думаю, это сработает.
нет, он этот путь создает после make install :(
нет, он этот путь создает после make install :(
значит, надо добавить команду в Makefile
P.S. Да, похоже, только так. Или еще можно разбить цель install на две (как минимум), но к этому надо будет подойти с умом :).
MagicGTS
29-11-2006, 08:25
Подскажите пожалуйста, как вообще делать собственные прошивки?
У меня есть wl-520g, но алтернативной прошивки под него нет. Вот и появилась идея, растрясти прошивку от Oleg`а до состояния пригодного для моего устройства. Но немогу толком разобраться, где, что и как делать. Для этого дела есть SUSE Linux 10. Будте так добры, дайте инструкцию по подробней.
Начать Вам надо с загрузки с сайта АСУС исходных текстов для прошивки 1.9.5.4 и изучения Readme. :)
MagicGTS
30-11-2006, 17:37
Надо наверно уточнить, я заходил на вашу страничку, и читал там как пересобирать прошивку. Так вот, меня засмущало, что прошивка базируется на 1.8.2.7 или как-то так. И поэтому незнал как наложатся патчи на более новую версию. За одно в WiKi нашел руководство, но сырци пока не выкачал.
Тут больше вопрос вот в чем, насколько реально растрясти вашу прошивку, и понять что в ней "лишнего". При том что базовая прошивка от ASUS меня устраивает за исключением статической маршрутизации и некоторых глюков с Wi-Fi (кпк через 5-8 подключений неподключается, так как будто MAC фильтр включается, а в список разрешенных я его добавил).
Про Вай-Фай забудьте. Про остальное - сделайте сами или посмотрите, как сделано у меня.
MagicGTS
03-12-2006, 20:16
Неудается собрать... Fedora Core 6. Инструкция из WiKi.
Версия 1.9.2.7.-7f. Лог:
make[3]: Entering directory `/tmp/broadcom/src/gateway/upnp/upnp/linux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/broadcom/src/gateway/upnp/upnp/linux'
make[2]: Leaving directory `/tmp/broadcom/src/gateway/upnp/igd/linux'
install -d /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin
install -m 755 igd/linux/upnp /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin
mipsel-uclibc-strip /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin/upnp
make[1]: Leaving directory `/tmp/broadcom/src/gateway/upnp'
[ ! -d utils ] || make -C utils install INSTALLDIR=/tmp/broadcom/src/gateway/mipsel-uclibc/install/utils
make[1]: Entering directory `/tmp/broadcom/src/gateway/utils'
make[1]: *** No rule to make target `wl', needed by `all'. Stop.
make[1]: Leaving directory `/tmp/broadcom/src/gateway/utils'
make: *** [utils-install] Ошибка 2
You have new mail in /var/spool/mail/root
ThinkPad
03-12-2006, 20:18
Неудается собрать... Fedora Core 6. Инструкция из WiKi.
Версия 1.9.2.7.-7f. Лог:
make[3]: Entering directory `/tmp/broadcom/src/gateway/upnp/upnp/linux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/broadcom/src/gateway/upnp/upnp/linux'
make[2]: Leaving directory `/tmp/broadcom/src/gateway/upnp/igd/linux'
install -d /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin
install -m 755 igd/linux/upnp /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin
mipsel-uclibc-strip /tmp/broadcom/src/gateway/mipsel-uclibc/install/upnp/usr/sbin/upnp
make[1]: Leaving directory `/tmp/broadcom/src/gateway/upnp'
[ ! -d utils ] || make -C utils install INSTALLDIR=/tmp/broadcom/src/gateway/mipsel-uclibc/install/utils
make[1]: Entering directory `/tmp/broadcom/src/gateway/utils'
make[1]: *** No rule to make target `wl', needed by `all'. Stop.
make[1]: Leaving directory `/tmp/broadcom/src/gateway/utils'
make: *** [utils-install] Ошибка 2
You have new mail in /var/spool/mail/root
смотрите макефайл :-)) правил там не хватает каких то. или пути не верно указаны.....
MagicGTS
04-12-2006, 10:03
А вас незатруднит посмотреть у себя, может вы быстро найдёте где и чего меняли? У меня не так уж и много времени, да ещё не сильно во всём этом разбираюсь... Make файлы я пытался изучать, но это сильно запутаная вещь...
Т.е. Вы пытаетесь собрать прошивку для Wl520g исопльзуя мои исходники? Ничего не выйдет, т.к. исходные тексты от АСУСтека отличаются.
MagicGTS
04-12-2006, 11:26
Нет, на данный момент я пытаюсь собрать прошивку под wl-500g. Затем планы сравнить конфиги сборщика под wl-520g от ASUS и ваши от wl-500g. По результатам сравнения вытряхнуть из вашей конфиги то, что не потребуется мне на wl-520g. Ну и соответственно собрать новую конфу и скомпилить её. В результате моих действий должна получиться прошивка аналогичная вашей под wl-500g, но содержащая минимум софта, но главное там останутся роуты в PPTP, и наверно глюки с Wi-Fi пропадут. Хотя там наверно другой драйвер, нежели на wl-500g. Но важны мне в первую очередь роуты.
Пишите все команды, которые выполнили.
MagicGTS
08-12-2006, 12:18
Использовал дистрибутив Fedora Core 6,
инструкцию взял эту: http://wiki.wl500g.info/index.php/compilingcustomfirmware
Скачал GPL_1927.zip, hndtools-mipsel-uclibc-3.2.3-full.tar.bz2, прошивку wl500g-1.9.2.7-7f.tar.bz2
Все файлы свалил в /tmp
Из инструкции состряпал скрипт:
#!/bin/sh
OLEG=wl500g-1.9.2.7-7f
if [ -d broadcom ]; then
echo "Removing old broadcom tree..."
rm -rf broadcom
fi
echo "Unpacking Asus GPL source..."
tar xzf GPL_1927.zip
echo "Unpacking OLEG source..."
tar -C broadcom/src/ -xjf ${OLEG}.tar.bz2
tar -C / -xjf /tmp/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
rm -f /opt/brcm/hndtools-mipsel-uclibc
cd /opt/brcm && ln -s hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
cd /tmp
if [ ! -G /opt ]; then
echo "You should create /opt as root:"
echo "mkdir /opt && chgrp users /opt && chmod g+w /opt"
echo "Then continue as regular user!"
exit 1
fi
if [ -d /opt/brcm ]; then
echo "Removing old toolchain..."
rm -rf /opt/brcm
fi
echo "Installing broadcom toolchain..."
mv broadcom/opt/brcm /opt
BRCM="/opt/brcm/hndtools-mipsel"
PATH=${BRCM}-linux/bin:${BRCM}-uclibc/bin:${PATH}
export PATH
cd broadcom/src/${OLEG}
echo "Creating uClibc..."
make uClibc
echo "Creating kernel..."
make kernel
echo "Creating gateway..."
make
echo "Compiling gateway..."
cd ../gateway
make
echo "Creating firmware..."
make install
Собственно потом запустил этот скрипт.
Результат выполнения был несколькими постами выше.
Ок, гляну, что там происходит.
MagicGTS
12-12-2006, 19:52
Вероятно скоро найду покупателя на свой wl-520g. И тогда у меня пропадет и так небольшой резон разбираться над альтернативой 520. А пока найдётся ещё кто, пройдёт уйма времени. Недайте загнутся порыву. Помогите с текущей проблемой, а там глядишь, и альтернативка получится. Многие владельци 520-х будут вам благодарны.
Собственно всё ясно: у Вас не отработал один из мейков. Связано это с новым компилятором (я компилирую код на системе с Fedora Core 3, там таких проблем нет).
К сожалению скрипт, который Вы используете не отслеживает успешность выполнения и продолжает идти дальше. Одну такую проблемку я нашёл уже.
Сейчас я пробую FC5 в Virtual PC, поглядим, что получится в итоге.
Собственно здесь описано в чём проблема. Странно, что я так и не применил эти патчи. :(
http://wl500g.info/showpost.php?p=39150&postcount=131
MagicGTS
13-12-2006, 14:34
Спасибо что откликнулись и разобрались с текущей проблемой. Выделю немного времени и попробую внести исправления как в указанной вами теме и собрать прошивку. А там продолжжу свои изыскания. Вопрос в догонку, а wi-fi модуль на 500 и 520 различны?
И как применить эти патчи? Я их переименовал в *.diff и кинул в папку с вашей распакованной прошивкой. Скрипт их не подхватил (хотя в makefile вроде прописанн сбор всех патчей из папки).
я выложил вариант, который должен нормально собираться с новыми компиляторами - http://oleg.wl500g.info/1.9.2.7-7f/wl500g-1.9.2.7-7f-gcc4.tar.bz2
Радио одинаковое. Разница только в том, что в wl520g очень мало памяти.
Что касается патчей: разбирайтесь. :) Хотя я бы на Ваешм месте продал бы 520г и купил бы нормальное устройство...
MagicGTS
14-12-2006, 17:37
Вот очередная проблема при сборке. на команде make kernel облом с ошибкой. Лог в приложеном файле...
Я обновил тот архив. Попробуйте ещё раз. :)
MagicGTS
16-12-2006, 22:18
Так, make kernel прошел, вот только просто make неработает, пишет ошибку из которой я могу предположить, что необходимо настраивать gcc необходимым образом.
Заодно вопрос, что-бы мне потом не долго искать, скажите, в каком файле кофигурация сборки определятся? Есть соображения на сей счет, но хочется получить точную наводку.
Лог с ошибкой в атаче.
MagicGTS
25-12-2006, 15:47
Вот умоего 520 начал глючить WiFi, недаёт подрубится.
А с компиляцией я так и неразобрался, всё ошибки кажет :( уж помогите побороть...
Объясню свою позицию: если Вы не можете заставить компилироваться мою прошивку, то про собственную прошивку для 520г можете забыть... Не обижайтесь, но здесь нужна усидчивость и квалификация.
Для разнообразия можете попробовать собрать тот код, что даёт АСУС - волосу станут дыбом. Хотя я для 520г прошивку 1.9.5.4 собирал...
MagicGTS
25-12-2006, 19:03
Я бы рад сидеть с этим ужасом разбираться, но физически нет времени. Потом моя задача несколько проще, чем создание прошивки вообще, и если удасться собрать базовую прошивку, то дальше просто немного сноровки и всё, своя прошивка есть (даже не прошивка, а просто сборка модулей)... Но сейчас приходится по тупому собирать шишки, на граблях которые все давно обнаружены, что это за изврат у линуксойдов, не сделать доступную инструкцию, а заставить всех подряд тратить кучу времени на исправления чужих ошибок в якобы "релизном" варианте? Можно дать желающим ломаться там, где никого небыло, чем заставлять толпится на опушке "леса чудес"...
Я просто сильно прошу, подсобите немного, мне действительно не сруки заниматься сейчас глубоким изучений "компиляция программ в среде Linux, и обход чужих граблей там где их быть недолжно". Извиняйте конечно за критику, но она вполне объективна.
:) У Вас времени нет, зато у остальных вагон?
Кстати, тот лог, что Вы выложили - не полный. Вы сами посмотрите его...
tchaynik
08-01-2007, 09:49
Не подскажите, что нужно для создания собственной (модифицированой) прошивки для wl500gP. И вкратце сам процесс если несложно ?
subj
Я монтирую на роутере nfs шару с сервера, после запуска /usr/sbin/portmap все прекрасно монтируется.
Тем не менее, этого еще не достаточно. Некоторые программы используют блокировки (lock). Например, программы для управления пакетами в дебиане. То есть, получается невозможно обновлять пакеты.
Причем lockd, который в прошивке присутствует, не работает. Молча вылетает с exit code 1. Наверно, так и надо, я пока не очень разбираюсь в теме.
Помучавшись, скомпилировал statd из nfs-utils из исходников прошивки. Запустил - все заработало. Только пришлось создать каталог /var/lib/nfs.
Бинарник после strip весит 63452 байт. Добавите его в прошивку, Олег? :) Вроде, штука нужная.
Т.е. lockd не работает без statd?
По-моему, после запуска statd уже не нужно запускать lockd.
У меня в какой-то момент возник ядерный процесс [lockd], судя по PID, он возник сразу после запуска portmap.
Посмотрите исходный код lockd в nfs-utils - он же ничего почти не делает, только вроде пытается проверить, что ядро поддерживает какие-то системные вызовы. И еще комментарий в начале lockd.c:
/*
* lockd
*
* This is the user level part of lockd. This is very primitive, because
* all the work is now done in the kernel module.
*
*/
Наверно, имеется в виду тот самый ядерный процесс.
Другое дело - statd. Там много кода.
Не знаю, нужен ли он вообще или нет. Мое знание NFS очень поверхностное :) Но, по-моему, не нужен.
Мда, маны рулят :)
The rpc.lockd program starts the NFS lock manager (NLM) on kernels that don't start it automatically. However, since most kernels do start it automatically, rpc.lockd. is usually not required. Even so, running it anyway is harmless.
И еще из debian changelog по nfs-utils:
* Test kernel version in init script; all kernels from 2.4 forward
have a lockd thread, and don't need rpc.lockd. Probe older kernels
by checking for lockd-related symbols. When in doubt, go ahead and
run rpc.lockd; if it's not needed, it exits. (closes: #205867)
Только пришлось создать каталог /var/lib/nfs.
Странно, этот каталог создаётся автоматом, если включен NFS.
Странно, этот каталог создаётся автоматом, если включен NFS.
Не, у меня точно его не было, хотя nfs уже работал (без блокировок).
не верю. :d может ручками пускали?
не верю. :d может ручками пускали?
ну да, ручками :)
загрузил модули, запустил /usr/sbin/portmap, смонтировал шару
а как еще?
сервер включается через веб. клиент - ручками.
Расскажите, плиз для дурака (меня :))? как скомпилировать прошивку?
Во-первых, под чем? :)
У меня в распоряжении есть: рабочий ноут с виндами, сам роутер (wl500gP, могу подключить к нему USB винт или флешку, если надо), есть тачка с FreeBSD. Под линухом ничего нету :(
Я смогу в таких условиях сам скомпилять прошивку?
Во-вторых, как? :)
Я скачал GPL_WL500gP_1972.zip с сайта асуса и разархивировал его.
Скачал wl500g-1.9.2.7-8.tar.bz2 и тоже разархивировал по соседству.
Как получить из этих двух директорий то, что надо будет компилять?
Чем надо это компилять?
Как поставить то, чем надо компилять?
Извините за чайниковость и заранее спасибо (если, конечно, мне кто-нибудь ответит)....
http://wiki.wl500g.info/index.php/compilingcustomfirmware
http://wiki.wl500g.info/index.php/compilingcustomfirmware
Большое спасибо за ответ, однако, остались нераскрытой тема, сработает ли эта методика под FreeBSD или надо обязательно ставить linux (я что-то как-то все больше сервера под freebsd ставлю и linux нигде под рукой не имею...)?
Тема "Как скомпилять прошивку?" как раз раскрыта. :)
А что касается фряхи --- кто его знает. ИМХО шанс есть, тем более, что фряха поддерживает эмуляцию линуха. Хотя, возможно, проще поставить vmware server и в него небольшой линух.
angel_il
18-01-2008, 14:54
Тема "Как скомпилять прошивку?" как раз раскрыта. :)
А что касается фряхи --- кто его знает. ИМХО шанс есть, тем более, что фряха поддерживает эмуляцию линуха. Хотя, возможно, проще поставить vmware server и в него небольшой линух.
если есть винда то можно поставить colinux. весьма легковесный вариант.
Подскажите, как скомпилировать прошивку с определёнными модулями и установленынными драйверами и пакетами? вот я скачаю пакет исходников и что дальше? (кстати раскажите КАК компилировать то её и в какие папки чё класть)? и сколько места свободного в 1.9.2.7-8.12???:confused:
http://wiki.wl500g.info/index.php/compilingcustomfirmware
полагаю Вам достаточно будет скомпилированные модули просто положить, скажем, в /usr/local/lib , т.е. заливать целую прошивку не понадобится.
Попытался самостоятельно собрать прошивку. Кое, что получилось, но прежде чем продолжать хочется получить пару советов/пояснений.
Во-первых, если я залил "кривую" прошивку, которая почему-то не может стартовать, то можно ли восстановить девайс? Например, включением питания с нажатым "restore" и заливкой по tftp правильной прошивки? Или как-то с использованием консольки?
Во-вторых, я собрал прошивку руководствуясь этой статьей (http://wiki.wl500g.info/index.php/compilingcustomfirmware). Естественно, с поправкой на текущую версию. Работал на FC9, x_64. Однако, получил существенно иной размер файла. Если прошивка от Олега имеет размер 3796992, то то, что получилось у меня (речь идет о файле WL500gp-1.9.2.7-10.trx) получилось 2904064. Что бы это могло значить? Соответственно, двинуться дальше опасаюсь до получения ответа на первый вопрос :)
Да, восстанавливается по tftp без проблем. Однако, без консоли не увидеть причину падения...
Судя по размеру - похоже не скомпилировалось ядро, проверяй.
AndreyPopov
20-08-2008, 12:32
Попытался самостоятельно собрать прошивку. Кое, что получилось, но прежде чем продолжать хочется получить пару советов/пояснений.
Во-первых, если я залил "кривую" прошивку, которая почему-то не может стартовать, то можно ли восстановить девайс? Например, включением питания с нажатым "restore" и заливкой по tftp правильной прошивки? Или как-то с использованием консольки?
Во-вторых, я собрал прошивку руководствуясь этой статьей (http://wiki.wl500g.info/index.php/compilingcustomfirmware). Естественно, с поправкой на текущую версию. Работал на FC9, x_64. Однако, получил существенно иной размер файла. Если прошивка от Олега имеет размер 3796992, то то, что получилось у меня (речь идет о файле WL500gp-1.9.2.7-10.trx) получилось 2904064. Что бы это могло значить? Соответственно, двинуться дальше опасаюсь до получения ответа на первый вопрос :)
ну если вы собирали "чистую" прошивку без добавления пакетов, то чем вас размер не устраивает?
с другой стороны, на той странице, что вы указали написано:
Warning: this firmware doesn't build on a 64bit operating system. You must install a 32 bit operating system in your AMD64. Also gcc-4.0 is known not to produce gateway sources as it is too pedantic when creating config. Use gcc-3.x! Using make 3.81 when may cause troubles due to posix compilance backslash treatment in some Makefiles. Use make 3.80 instead!
ну если вы собирали "чистую" прошивку без добавления пакетов, то чем вас размер не устраивает?
О... А какие пакеты в оригинальной прошивке вставлены? Не то, чтобы я страдал педантизмом, просто хочется наладить для себя технологию работы. Я довольно давно (лет 15) не возился с ядрами, а сейчас образовалась задача и я остановился на варианте с использованием WL500gp. Только надо свой модуль написать. Поэтому и хочется быть уверенным, что технология у меня отставлена правильная до того как "мочить" девайс.
с другой стороны, на той странице, что вы указали написано:
Warning: this firmware doesn't build on a 64bit operating system. You must install a 32 bit operating system in your AMD64. Also gcc-4.0 is known not to produce gateway sources as it is too pedantic when creating config. Use gcc-3.x! Using make 3.81 when may cause troubles due to posix compilance backslash treatment in some Makefiles. Use make 3.80 instead!
Не придал этому значения. Списал на некоторую устарелость статьи. Собирается ведь. Если не трудно, то выскажитесь насколько это актуально, с вашей т.з.
AndreyPopov
20-08-2008, 13:56
О... А какие пакеты в оригинальной прошивке вставлены? Не то, чтобы я страдал педантизмом, просто хочется наладить для себя технологию работы. Я довольно давно (лет 15) не возился с ядрами, а сейчас образовалась задача и я остановился на варианте с использованием WL500gp. Только надо свой модуль написать. Поэтому и хочется быть уверенным, что технология у меня отставлена правильная до того как "мочить" девайс.
Не придал этому значения. Списал на некоторую устарелость статьи. Собирается ведь. Если не трудно, то выскажитесь насколько это актуально, с вашей т.з.
что добавлено, вы сможете найти точнее здесь:
http://oleg.wl500g.info
http://wl500g.info/showthread.php?t=2704
на первый быстрый взгляд это:
IPV6
Samba
NFS
Wave Server
vsftpd (вместо встроенного stupid)
а также некоторые итилиты и программы из пакетов ipkg
я не спец в linux, но все равно компилить под 64-бит ОС программы для 32-бит никто и нигде не рекомендует.
я не спец в linux, но все равно компилить под 64-бит ОС программы для 32-бит никто и нигде не рекомендует.
Извините, бред. Кросс-компилер как раз и решает такие задачи. А в toolchain'е именно он - mipsel-linux-gcc. Другой вопрос в том, что без пересборки самого тулчейна, могут возникнуть проблемы с работой бинарников тулчейна на x64 системе...
AndreyPopov
20-08-2008, 14:16
Извините, бред. Кросс-компилер как раз и решает такие задачи. А в toolchain'е именно он - mipsel-linux-gcc. Другой вопрос в том, что без пересборки самого тулчейна, могут возникнуть проблемы с работой бинарников тулчейна на x64 системе...
если вы хотите все время оглядываться и проверять все ли в порядке - это ваше право!
только лично я вообще не понимаю целесообразности использовать 64-бит ОС при том, что ЧИСТО 64-бит приложений практически нет - это мое суждение основано на ОС Windows, потому может в linux 64-бит прог больше????
Во-вторых, я собрал прошивку руководствуясь этой статьей (http://wiki.wl500g.info/index.php/compilingcustomfirmware). Естественно, с поправкой на текущую версию. Работал на FC9, x_64. Однако, получил существенно иной размер файла. Если прошивка от Олега имеет размер 3796992, то то, что получилось у меня (речь идет о файле WL500gp-1.9.2.7-10.trx) получилось 2904064. Что бы это могло значить? Соответственно, двинуться дальше опасаюсь до получения ответа на первый вопрос :)
Олег как минимум добавляет руками tcpdump, который весит 937109 байт
Psimulator
20-08-2008, 18:20
только лично я вообще не понимаю целесообразности использовать 64-бит ОС при том, что ЧИСТО 64-бит приложений практически нет - это мое суждение основано на ОС Windows, потому может в linux 64-бит прог больше????
то, что вы этого не понимаете, это не значито, что в этом нет смысла
64-битный linux видит всю установленную в системе память и позволяет уже имеющимся 64-битным программам хорошо с ней работать
AndreyPopov
20-08-2008, 18:48
то, что вы этого не понимаете, это не значито, что в этом нет смысла
64-битный linux видит всю установленную в системе память и позволяет уже имеющимся 64-битным программам хорошо с ней работать
у вас больше 3,2 гига памяти? и много таких пользователей, кому нужно БОЛЬШЕ 3,2 гига?
я понимаю прожоливость винды, особенно серверных приложений! но реально обычному пользователю, которых 95%!!!! зачем??? 64бит?
оплачиваете маркетинг производителей :D
и вся проблема в том СКОЛЬКО этих имеющихся 64-бит программ.
у вас есть примеры ПРОФЕССИОНАЛЬНЫХ пакетов, которыми пользуются 95% пользователей, которым так необходимо 64-бит?
или вы просто себя убеждаете, что 64-бит это круто?
Однако, спасибо. Про пакеты я понял, что их много разных и точного соответстия размера ждать не надо. Собственно, это и был мой вопрос. Буду пробовать работоспособность "моей" прошивки путем прожигания. Только я почему-то предполагал, что те исходники, которые Олег выкладывает, и включают не только патчи, но и все эти пакеты.
По поводу 64 бит. Неожиданно началась дискуссия на постороннюю тему. :) Пардон за офтопик. Тулчайн работает и не ругается. Хорошо он работает или плохо увижу после пробного прожига. Пробные програмки, которые я им собирал, работают. Конечно, он никак не использует 64-х битность. Просто машинка, на которой я работаю используется не только для кросс-компиляции. Я на ней гоняю квантово-механические расчеты электронной структуры твердого тела. Пакет компиляется специально-заточенным интеловским фортраном под 64 бит + специфичными матричными библиотеками. Использование 64-битности на больших матричных операциях дает выигрыш во времени счета до 10% (зависит от размера матрицы и операции). При характерных временах расчета в несколько суток это уже становится актуальным. Мозгов в машине 5 гигов (последний гиг прироста скорости не дал), проц - разогнанный до визга квад. Т.ч. речь не о маркетинге или пижонстве идет, а о том, что мне лень еще и 32-битную федору на машину громоздить и обустраивать. Нет, я не физик теоретик и не из CERN'a.
и вся проблема в том СКОЛЬКО этих имеющихся 64-бит программ.
у вас есть примеры ПРОФЕССИОНАЛЬНЫХ пакетов, которыми пользуются 95% пользователей, которым так необходимо 64-бит?
или вы просто себя убеждаете, что 64-бит это круто?
Господа, остановите холивар!
Коротко:
- в уникс64 ВСЕ пакеты 64-битные, но это не мешает в то же время работать (на той же системе) и 32х-прикладу. Если это не итаниум.
- 64-бит система это круче, чем 32 по оценкам независимых исследователей примерно на 3-7% вцелом. Хотя некоторые приложения (в основном это голая математика) показывают значительно больший прирост, например openssl ~30-50%
Главное - данный холивар не имеет отношения к обсуждаемой теме.
Вообщем, то, что я собрал (размером 2904064) для WL500gpv2 грузиться в него отказывается. Веб морда говорит :
Firmware upgrade fail. It may result from incorrect image or error transmission. Please check the version of firmare and try again.
Повторюсь, что я делаю:
1. развернул GPL_1927. Откуда точно брал его - не помню.
2. переместил из него opt/brcm в /opt
3. развернул uClibc 0.9.19 (http://wl500g.dyndns.org/uClibc-0.9.19/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2)
4. слинковал /opt/brcm/hndtools-mipsel-uclibc на /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full
5. развернул исходники (http://wl500g.dyndns.org/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2) в broadcom/src (см п.1)
6. прописал в PATH /opt/brcm/hndtools-mipsel-uclibc/bin и /opt/brcm/hndtools-mipsel-linux/bin
7. пошел в broadcom/src/wl500g-1.9.2.7-10
8. сделал там make kernel, потом make
9. пошел в broadcom/src/gateway
10. сделал там make
11. потом make image-wl500gpv2
В результате получил вышеописанный результат. Если на 11-ом шаге сделать make install, то собирается WL500W-1.9.2.7-10.trx, размером 3702784, что тоже отличается от оригинального.
Если кто-то может, что-то сказать - плиз...
DemonGloom
21-08-2008, 11:16
Попробуй залить через tftp и сооьщи о результатах
Нужно в src/gateway/Makefile выставить переменную MODEL=WL500gpv2
и повторить make install
Победа разума над сенсипариллой!
lly, большой решпект. Именно этого и не хватало. Прописал правильную модель и make install сделал прошивку, которая хоть и немного отличается по размеру, но залилась и работает.
Всем спасибо.
PupsDRVR
21-08-2008, 18:13
Победа разума над сенсипариллой!
lly, большой решпект. Именно этого и не хватало. Прописал правильную модель и make install сделал прошивку, которая хоть и немного отличается по размеру, но залилась и работает.
Всем спасибо.
А что за прошивочка, в чем цимус? Может кому тут от неё тоже польза будет ;).
А что за прошивочка, в чем цимус? Может кому тут от неё тоже польза будет ;).
Пока только воспроизвел стандартную.
Вряд-ли найдется много таких психов как я. Не хватает пропускной способности на эзернете. Хочу поиздеваться над сеткой, посмотреть, что может дать на этом железе поллинг и агрегатные линки. Когда-то я такими вещами занимался на free. С тех пор много времени прошло, но, говорят, мастерство не пропъешь... Ну а попутно мелкие детальки хочется попатчить.
PupsDRVR
21-08-2008, 18:39
Пока только воспроизвел стандартную.
Вряд-ли найдется много таких психов как я. Не хватает пропускной способности на эзернете. Хочу поиздеваться над сеткой, посмотреть, что может дать на этом железе поллинг и агрегатные линки. Когда-то я такими вещами занимался на free. С тех пор много времени прошло, но, говорят, мастерство не пропъешь... Ну а попутно мелкие детальки хочется попатчить.
Тогда вы нас в курсе держите, уверен, что желающие поробовать Вашу прошивку найдутся.
Тогда вы нас в курсе держите, уверен, что желающие поробовать Вашу прошивку найдутся.
хорошо, но пока говорить еще рано :)
AndreyPopov
21-08-2008, 22:54
Пока только воспроизвел стандартную.
Вряд-ли найдется много таких психов как я. Не хватает пропускной способности на эзернете. Хочу поиздеваться над сеткой, посмотреть, что может дать на этом железе поллинг и агрегатные линки. Когда-то я такими вещами занимался на free. С тех пор много времени прошло, но, говорят, мастерство не пропъешь... Ну а попутно мелкие детальки хочется попатчить.
делать агрегатные линки может по умолчанию прошивка от DD-WRT для 3 и 4 порта ;)
спасибо за информацию. Поглядим. Не думал, что это уже кому-то приходило в голову. Скромнее надо быть...
Вряд-ли найдется много таких психов как я. Не хватает пропускной способности на эзернете. Хочу поиздеваться над сеткой, посмотреть, что может дать на этом железе поллинг и агрегатные линки. Когда-то я такими вещами занимался на free. С тех пор много времени прошло, но, говорят, мастерство не пропъешь... Ну а попутно мелкие детальки хочется попатчить.
Ну почему-же ;) Если будет нечем заняться - можешь поучаствовать в тестировании/доработке варианта прошивки Олега с ядром 2.4.36 и uClibc 0.9.29. Она пока на базе 1.9.2.7-9, но в ближайшем будущем перетащу на 10-ку (всё ждал Олега, чтобы он подзалечил дырки в новых Broadcom'овских модулях, но похоже это нескоро :( ).
WL-500W 128 mb 1.9.2.7-10 ADOS 1.3.8 (сборка 73)
, mldonkey, rtorrent, провайдер Корбина L2TP (всё работает нормально)
А у мну млдонки валится из-за ошибок ext3 ((
не сразу правда, но всётаки.
Еще обиднее то, что ext2 не удается смонтировать...
PupsDRVR
25-08-2008, 19:26
А у мну млдонки валится из-за ошибок ext3 ((
не сразу правда, но всётаки.
Я бы питание посмотрел на винте, так из-за его недостатка происходит, смотрите тему про подключение HDD.
Еще обиднее то, что ext2 не удается смонтировать...
Чем ext3 не угодил? У меня все работатет, не жалуюсь. Может, действительно, проблемы с питанием.
З.Ы. В этой теме немного другое обсуждалось, нехорошо Оффтоп разводить ;)
Чем ext3 не угодил? У меня все работатет, не жалуюсь. Может, действительно, проблемы с питанием.
З.Ы. В этой теме немного другое обсуждалось, нехорошо Оффтоп разводить ;)
Всем угодил. Но вот на 3..4-м торренте падает через пару суток.
Ну и, собсно, ext2 заявлен, а не монтируется. Баг?
Могет багзиллу завести? ;-)
Ну почему-же ;) Если будет нечем заняться - можешь поучаствовать в тестировании/доработке варианта прошивки Олега с ядром 2.4.36 и uClibc 0.9.29. Она пока на базе 1.9.2.7-9, но в ближайшем будущем перетащу на 10-ку (всё ждал Олега, чтобы он подзалечил дырки в новых Broadcom'овских модулях, но похоже это нескоро :( ).
Боюсь быть ненадежным. Как сейчас, отвалил на 10 дней... Большой начальник:rolleyes: - много работы. Но, вообще-то, давай попробую. Где взять?
А, кстати, какие слухи про переход на 2.6? Помню, с пол года назад Олег, что-то писал на эту тему...
makcumka
12-09-2008, 16:03
Победа разума над сенсипариллой!
lly, большой решпект. Именно этого и не хватало. Прописал правильную модель и make install сделал прошивку, которая хоть и немного отличается по размеру, но залилась и работает.
Всем спасибо.
зачем править мейкфайл? достаточно было запустить make image-WL500gp чтобы собрать прошивку для WL500gp или на крайняк make images чтобы собрать под все платформы
p.s. чтение мейкфайла помогает ;)
makcumka
Теоретизируешь? Сам то пробовал?
2All К сожалению Makefile сделан кривовато, и желания его выправлять пока ни у кого не нашлось...
makcumka
Теоретизируешь? Сам то пробовал?
2All К сожалению Makefile сделан кривовато, и желания его выправлять пока ни у кого не нашлось...
Как это ни печально, но это так :(
makcumka
12-09-2008, 20:27
пиплы... вы гонити... все впорядке... сначала соборал свой образ,
потом ради экспиремента все! в результате получил:
debian:/opt/broadcom/src/gateway/mipsel-uclibc# ls -la
total 39880
drwxr-xr-x 5 root root 4096 2008-09-12 18:43 .
drwxr-xr-x 49 root root 4096 2008-09-12 18:18 ..
drwxr-xr-x 40 root root 4096 2008-09-12 18:42 install
drwxr-xr-x 3 root root 4096 2008-09-12 18:19 modules
drwxr-xr-x 14 root root 4096 2008-09-12 18:42 target
-rwx------ 1 root root 3095202 2008-09-12 18:43 target.cramfs
-rw-r--r-- 1 root root 669561 2008-09-12 18:42 vmlinuz
-rw-r--r-- 1 root root 3674112 2008-09-12 18:38 WL320gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-12 18:39 WL320gP-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-12 18:42 WL330gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-12 18:39 WL500gp-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-12 18:41 WL500gpv2-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3706880 2008-09-12 18:37 WL500gx-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-12 18:40 WL500W-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-12 18:41 WL520gu-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-12 18:37 WL550gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3768320 2008-09-12 18:43 WL700g-1.9.2.7-10.trx
makcumka
12-09-2008, 21:46
специально для всех даю краткую инструкцию... всего десяток комманд... для компиляции нужно иметь linux-box (в моем случае Debian GNU/Etch 4.0 развернутый в VMWare для чистоты экспиремента)
# uname -a
Linux debian 2.6.26-1-amd64 #1 SMP Thu Aug 28 13:32:26 UTC 2008 x86_64 GNU/Linux
подготовим место для сборки и скачали три необходимых файла
# rm -rf /opt/brcm /opt/broadcom
# ls -la ~/tmp
-rw-r--r-- 1 root root 273177367 2008-09-13 00:12 GPL_1927.ZIP
-rw-r--r-- 1 root root 2015762 2008-09-13 00:12 hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
-rw-r--r-- 1 root root 15256385 2008-09-13 00:12 wl500g-1.9.2.7-10.tar.bz2
выполняем по очереди комманды... вывод каждой не привожу... смысла не вижу (кому нужно могу сделать логи выполнения каждой комманды make)
# tar -C /opt -zxvf ~/tmp/GPL_1927.ZIP
# mv /opt/broadcom/opt/brcm /opt
# tar -C / -jxvf ~/tmp/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
# rm /opt/brcm/hndtools-mipsel-uclibc
# ln -sf /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
# export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin
# tar -C /opt/broadcom/src -jxvf ~/tmp/wl500g-1.9.2.7-10.tar.bz2
# cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel && make
# cd /opt/broadcom/src/gateway && make && make images
в результате получаем все образы
# ls -la /opt/broadcom/src/gateway/mipsel-uclibc/
total 39880
drwxr-xr-x 5 root root 4096 2008-09-13 00:33 .
drwxr-xr-x 49 root root 4096 2008-09-13 00:18 ..
drwxr-xr-x 40 root root 4096 2008-09-13 00:33 install
drwxr-xr-x 3 root root 4096 2008-09-13 00:26 modules
drwxr-xr-x 14 root root 4096 2008-09-13 00:33 target
-rwx------ 1 root root 3095166 2008-09-13 00:33 target.cramfs
-rw-r--r-- 1 root root 669542 2008-09-13 00:33 vmlinuz
-rw-r--r-- 1 root root 3674112 2008-09-13 00:28 WL320gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-13 00:29 WL320gP-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-13 00:33 WL330gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-13 00:30 WL500gp-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:32 WL500gpv2-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3706880 2008-09-13 00:27 WL500gx-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-13 00:31 WL500W-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:31 WL520gu-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-13 00:28 WL550gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3768320 2008-09-13 00:33 WL700g-1.9.2.7-10.trx
специально для всех даю краткую инструкцию... всего десяток комманд... для компиляции нужно иметь linux-box (в моем случае Debian GNU/Etch 4.0 развернутый в VMWare для чистоты экспиремента)
# uname -a
Linux debian 2.6.26-1-amd64 #1 SMP Thu Aug 28 13:32:26 UTC 2008 x86_64 GNU/Linux
Попробовал на Debiane под VMWare
debian:/# uname -a
Linux debian 2.6.18-6-686 #1 SMP Mon Aug 18 08:42:39 UTC 2008 i686 GNU/Linux
Свежая установка, из дополнительных настроек только openssh. Все операции проделаны через ssh, из под root`а. ~/tmp/ у меня не оказалось, сложил и соответственно распаковывал из /tmp/tt/
До следующей команды все проходит без ошибок
cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel
А на make выдает:
patching file options.h
Hunk #1 succeeded at 204 (offset 19 lines).
cd /opt/broadcom/src/gateway/dropbear-0.50 && \
CC=mipsel-uclibc-gcc ./configure --host=mipsel-linux --disable-zlib --disable-shadow \
--disable-lastlog --disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx \
--disable-libutil --disable-loginfunc --disable-pututline --disable-pututxline
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking for mipsel-linux-gcc... mipsel-uclibc-gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** [/opt/broadcom/src/gateway/dropbear/config.h] Error 77
Может быть еще какие телодвижения нужно делать?
DemonGloom
14-09-2008, 09:40
поставить build-essential
поставить build-essential
Поставил, то место проскочил, но вывалился в другом с ошибкой:
checking for flex... no
checking for lex... no
./configure: line 1464: flex: command not found
checking for flex... lex
checking for yywrap in -ll... no
checking lex output file root... ./configure: line 1552: lex: command not found
configure: error: cannot find output from lex; giving up
make: *** [/opt/broadcom/src/gateway/radvd/Makefile] Error 1
DemonGloom
14-09-2008, 15:38
Поищите пакет, содержащий в нзвании слово flex
Сделал
aptitude install flex
Теперь уперся в Ncurses libraries.
Мне интересно - makcumka Вы в какой конфигурации ставили Debian, что Вам ничего не понадобилось доставлять?
makcumka
14-09-2008, 19:55
Мне интересно - makcumka Вы в какой конфигурации ставили Debian, что Вам ничего не понадобилось доставлять?
я ставлюсь обычно с netinst образа и в данном случае конечно же установил все необходимое для девелопмента ;)
если нужно могу свой dpkg --get-selections привести, но там много лишнего, т.к. я в этой виртуалке не только фирмварь собирал
makcumka, спасибо все получилось.
Итак, по порядку:
Ставил на WMware, линух под ядро 2.6. При создании виртуальной машины указывал сетку "host-only", размер винта 8Гб(реально понадобилось меньше 5-ти), 256 оперативки.
Ставил Debian с CD образов под именем "debian-40r4a-i386-CD-1.iso" и т.д. Ставил стандартную установку, там проблем не ожидается. При запросе параметров сети, выбирал сеть с DHCP-manual, и указывал IP хоста.
Подготовка к установке нужных пакетов - заполняем локальный репозиторий. В рутовой консоле выполняем
#apt-cdrom add
Вставляем(или монтируем к vmware) cd с маркировкой "debian-40r4a-i386-CD-2.iso". Повторяем ввод команды для каждого диска. Не уверен, но может быть понадобится только первые четыре.
Проверяем на наличие и устанавливаем пакет с ssh-сервером
#aptitude search openssh-server
i openssh-server - Secure shell server, an rshd replacement
#aptitude install openssh-server
После этого у меня при помощи программы TunnelierPortable соединение проходило без проблем. И далее я все делал через ssh - мне так привычней и удобней.
Проверка доступности необходимых пакетов. Вывод не привожу, должен быть аналогичен предыдущему пункту:
#aptitude search build-essential
#aptitude search libncurses-dev
#aptitude search gawk
#aptitude search flex
#aptitude search zlib1g-dev
Если какой-то пакет не доступен, то нужно повторить заполнение локального репозитария.
Установка пакетов:
#aptitude install build-essential
#aptitude install libncurses-dev
#aptitude install gawk
#aptitude install flex
#aptitude install zlib1g-dev
Копирование исходников в виртуальную машину. Через SFTP, реализованный в TunnelierPortable, положим в /home/user/tt/ файлы
GPL_1927.zip (http://www.asus.com.cn/pub/ASUS/wireless/WL-500g-03/GPL_1927.zip)
hndtools-mipsel-uclibc-3.2.3-full.tar.bz2 (http://oleg.wl500g.info/uClibc-0.9.19/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2)
wl500g-1.9.2.7-10.tar.bz2 (http://oleg.wl500g.info/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2)
Дальше действовал по инструкции от makcumkи (http://wl500g.info/showpost.php?p=111453&postcount=32)
Удаляем хвосты(на всякий случай:)
# rm -rf /opt/brcm /opt/broadcom
Проверяем, что нужные исходники лежат там, где необходимо
# ls -la /home/user/tt/
-rw-r--r-- 1 root root 273177367 2008-09-13 00:12 GPL_1927.ZIP
-rw-r--r-- 1 root root 2015762 2008-09-13 00:12 hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
-rw-r--r-- 1 root root 15256385 2008-09-13 00:12 wl500g-1.9.2.7-10.tar.bz2
Распаковка исходников
#rm -rf /opt/brcm /opt/broadcom
#tar -C /opt -zxvf /home/user/tt/GPL_1927.ZIP
#mv /opt/broadcom/opt/brcm /opt
#tar -C / -jxvf /home/user/tt/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
#rm /opt/brcm/hndtools-mipsel-uclibc
#ln -sf /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
#export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin
#tar -C /opt/broadcom/src -jxvf /home/user/tt/wl500g-1.9.2.7-10.tar.bz2
Делается достаточно долго, но проблем не ожидается.
Собственно сборка и компиляция:
#cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel && make
#cd /opt/broadcom/src/gateway && make && make images
При первых проходах вываливались ошибки.
На этом этапе, по совету DemonGloom, я начал подбирать необходимые пакеты, установленные "выше".
Проверка получившегося
# ls -la /opt/broadcom/src/gateway/mipsel-uclibc/
total 39880
drwxr-xr-x 5 root root 4096 2008-09-15 16:46 .
drwxr-xr-x 49 root root 4096 2008-09-15 16:33 ..
drwxr-xr-x 40 root root 4096 2008-09-15 16:45 install
drwxr-xr-x 3 root root 4096 2008-09-15 16:34 modules
drwxr-xr-x 13 root root 4096 2008-09-15 16:46 target
-rwx------ 1 root root 3094584 2008-09-15 16:46 target.cramfs
-rw-r--r-- 1 root root 669529 2008-09-15 16:45 vmlinuz
-rw-r--r-- 1 root root 3674112 2008-09-15 16:37 WL320gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-15 16:39 WL320gP-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3674112 2008-09-15 16:45 WL330gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-15 16:40 WL500gp-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:43 WL500gpv2-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3706880 2008-09-15 16:35 WL500gx-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3702784 2008-09-15 16:41 WL500W-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:42 WL520gu-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3698688 2008-09-15 16:36 WL550gE-1.9.2.7-10.trx
-rw-r--r-- 1 root root 3768320 2008-09-15 16:46 WL700g-1.9.2.7-10.trx
Можно устанавливать Debian с сети (http://www.debian.org/distrib/), тогда в настройках виртуальной машину нужно выбирать мост или NAT, и третий пункт (подготовка локального репозитория) не понадобится.
PS. Сейчас будут пробовать перепрошивать.
PPS. Перепрошил - работает. Но почему же размер отличается от оригинального на 94208?
PPS. Перепрошил - работает. Но почему же размер отличается от оригинального на 94208?
Вроде писали, что Олег подкладывал tcpdump в образ руками.
makcumka
15-09-2008, 22:49
чтоб не сомневаться, можно сравнить прошивки... достаточно выдрать файлы из squashfs и сравнить ;)
Вот и я попробовал собирать прошивку :)
Делал на Ubuntu (на OpenSUSE 11 уперся в нерешенную проблему).
Все прекрасно собирается, теперь буду учиться кастомизировать :)
DemonGloom
17-09-2008, 12:11
на OpenSUSE 11 уперся в нерешенную проблему
А в чем проблема?
А в чем проблема?
А так и не разобрался до конца, половины нужных пакетов не нашел, под рукой была Убунта 7.10, там все сразу заработало.
Научите еще как в исходники добавлять нужные пакеты ;)
Вот такое описалово (http://downloads.openwrt.org/kamikaze/docs/openwrt.html#x1-380002.1.2) нашел, в Олеговской прошивке аналогично? Закидайте ссылками, если не трудно.
Вот FAQ по сборке прошивки (http://www.nslu2-linux.org/wiki/FAQ/OptwareWl500gBuild).
Покопался немного в исходниках, правильно ли я понял:
1. Положить исходник пакета в /opt/broadcom/gateway
2. Поправить Makefile в папке пакета.
3. Добавить в /opt/broadcom/gateway/Makefile запись с названием, как у папки с исходниками пакета.
4. Собрать прошивку.
Вот такое (http://www.nslu2-linux.org/wiki/HowTo/BuildANewerThttpdOrOtherUtilityByCrossCompiling) еще нашел.
Цитата:
4. In the thttpd directory, type ./configure to create the Makefile.
Создастся ли "правильный" Makefile, пригодный для компиляции прошивки?
я не совсем понял предысторию. Так о чем все-таки речь: если о нативной компиляции на роутере, то ./configure --- закономерный этап.
Если о кросс-компиляции, то нет. С кросс-компиляцией возможны опять же два варианта --- с использованием тулчейна для компиляции прошивки (компиляция пакетов таким образом есть изврат редкостный --- не уверен, что вам это надо), либо компиляция пакетов нормальным тулчейном (т.е. optware). Тогда нужно создавать mk файл, который будет описывать весь процесс, в т.ч. и запуск configure тоже. Инструкция по последнему варианту --- здесь: http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware
я не совсем понял предысторию. Так о чем все-таки речь: если о нативной компиляции на роутере, то ./configure --- закономерный этап.
Если о кросс-компиляции, то нет. С кросс-компиляцией возможны опять же два варианта --- с использованием тулчейна для компиляции прошивки (компиляция пакетов таким образом есть изврат редкостный --- не уверен, что вам это надо), либо компиляция пакетов нормальным тулчейном (т.е. optware). Тогда нужно создавать mk файл, который будет описывать весь процесс, в т.ч. и запуск configure тоже. Инструкция по последнему варианту --- здесь: http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware
Я хотел попробовать напихать как можно больше в прошивку (у меня ужа набрался парк из 5 wl-500gP v.1), во-первых, для общего развития, во-вторых, создать прошивку под свои нужды.
Уважаемые спецы.
Прошу помочь горю.
Хочу скомпилировать прошивку от V2 на V1, поскажите что для этого надо
1. GPL от V2
А что еще тулчайн от V1 или от V2
Что еще надо
Реально прошил сегодня V2 на V1 все работает кроме ftp и проблемы с портами Etherhet (т.е. пока не подключешь LAN4, WAN не работает), так же не работает ftp с авторизацией, ну естествено нет поддержки русского в Samba и FTP (а хочется)
DemonGloom
06-12-2008, 18:28
Неизвестно... Последнюю прошивку от v2 вроде никто собрать не смог :(
DemonGloom
07-12-2008, 05:33
Оттуда надо httpd выковырять для работы нового интерфейса на прошивке Олега...
angel_il
07-12-2008, 18:55
Оттуда надо httpd выковырять для работы нового интерфейса на прошивке Олега...
по идее не обязательно всю прошивку пересобирать, достаточно ядро и iptables, но мне сейчас некогда до разобраться, вернусь доковыряю родной вебсервер.
по идее не обязательно всю прошивку пересобирать, достаточно ядро и iptables,
Ангел ты скажи что надо, сам буду делать.
просто, в статье по сборке фигурирует 1) GPL 2)
тулчайн 3) tar.bz2
Внимание вопрос.
1) GPL от V2 c дравами от v1 и модулями что надо
2) тулчайн от V1 или V2 брать
3) и откуда выбрать tar.bz2
Оттуда надо httpd выковырять для работы нового интерфейса на прошивке Олега...
не только в итерфейсе дело ...
например там самба с авторизацией пользователей (скорей всего Samba2) DDNS от Asus, нарезание полосы пропускания для каждого клиента (РС), автоматическое создание swap, если нет Wi-Fi подключений, выключает адаптер.
Мне понравилось! Вот был бы еще русский на FTP Samba, да telnet.
Да конечно на V1 работает она не супер. Прошивка работает, но коряво!!!!
Светодиоды не те что надо светятся ( например вместо Wi-FI и Power поменены местами), чтоб работал Wan надо включить кабель в Lan 4.
Всем привет! С Новым Годом! :)
Немного о... даже не проблеме, а какой-то странности:
Следуя инструкции http://wiki.wl500g.info/index.php/compilingcustomfirmware
Скачал:
GPL_1927.tar.gz
hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
wl500g-1.9.2.7-10.tar.bz2
Написал 2 скрипта для развёртывания toolchain:
1-й скрипт:
#!/bin/sh
# unpack ASUS original code
tar -C /opt -xzf ./GPL_1927.tar.gz
# unpack and install uClibc
tar -C / -xjf ./hndtools-mipsel-uclibc-3.2.3-full.tar.bz2
mv /opt/broadcom/opt/brcm/* /opt/brcm
rm -f /opt/brcm/hndtools-mipsel-uclibc
ln -s /opt/brcm/hndtools-mipsel-uclibc-3.2.3-full /opt/brcm/hndtools-mipsel-uclibc
# unpack and install Oleg's firmware patches
tar -C /opt/broadcom/src -xjf ./wl500g-1.9.2.7-10.tar.bz2
# some additional instructions
echo 'NOTE:'
echo 'Now add to /root/.bashrc the following line:'
echo 'PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin'
2-й скрипт:
#!/bin/sh
cd /opt/broadcom/src/wl500g-1.9.2.7-10
make kernel
make
echo 'If you see "Sources prepared for compilation" in the line above,'
echo 'then issue the following commands:'
echo ''
echo '#cd /opt/broadcom/src/gateway'
echo '#make images-WL500gpv2'
echo '#make install'
echo ''
echo 'This will produce the flash file for the wl500gPV2 router under:'
echo '/opt/broadcom/src/gateway/mipsel-uclibc/WL500g-1.9.2.7-10.trx'
Вопросы:
1. Почему-то не получилось сразу make images-WL500gpv2 (пошли ошибки). Сделал сначала make && make install (почему-то получилась прошивка для WL500W) потом make images-WL500gpv2 && make install - получилась прошивка для WL500gpv2.
Так должно быть?
2. Файл wl500gpv2-1.9.2.7-10.trx получился размером 3,694,592 байт (тот, что я скачивал готовый был 3,792,896 байт). Однако когда я выполнил стандартную прошивку (web интерфейс) - раутер продолжил работать. Если ошибки не было - значит ли это, что файл подошёл или же раутер просто не стал прошивать эту прошивку (никаких сообщений об ошибке не было)?
3. Все изменения (поднимал dropbear до этого) - сохранились. Значит ли это, что перепрошивка не затрагивает flashfs?
P.S. Собираю из исходников, т.к. надо "прикрутить" драйвер USB Serial Port - CP210x. В 2.4.x его нет, но есть патч, позволяющий добавить.
в gateway/Makefile надо изменить имя модели на желаемую, после этого делать make && make install. Примено это и рекомендуется в той самой инструкции.
В свою прошивку Олег всегда вручную добавлял tcpdump, поэтому размер никогда не сходился
Прошивка и flashfs находятся в разных разделах на флаши, поэтому они не влияют друг на друга.
Спасибо огромное! разобрался :)
А пробовал кто-нибудь из исходников асусовскую прошивку собрать?
Я попытался для 520GC собрать тулчейном с сайта асуса, сыпятся ошибки :(
При этом 1.9.2.7-10 Олега на той же машине собирается замечательно...
http://support.asus.com/download/download.aspx?SLanguage=ru-ru&model=WL-500gP%20V2
ASUS выкладвает исходные тексты прошивок!
кто знает как можно собрать прошивку что бы залить ее помом
писать на Си могу *NIX системы знаю - писал под UNIX
просто я не совсем знаю саму технологию сборки прошивки
есть желание прикрутить к официальной прошивке 3.03.06
TELNETD затем прикрутить анализатор трафика
и не только
в общем хочется более полноценно использовать в раутере операционную систему добавить например анализатор трафика и т д
А оглядеться вокруг и посмотреть на форуме - никак?
Все уже изобретено до Вас.
Правда, если Вы перекомпилите последнюю версию родной прошивки с модулями, обсуждаемыми здесь, можно рассчитывать на памятник :)
А оглядеться вокруг и посмотреть на форуме - никак?
Все уже изобретено до Вас.
Правда, если Вы перекомпилите последнюю версию родной прошивки с модулями, обсуждаемыми здесь, можно рассчитывать на памятник :)
бегло я почитал
понятно что кто то это делает и никто америку не открывает
--
релизы от асус идут в исходниках и тому кто умеет собирать
прошивку вряд ли будет сложно включить в нее telnetd
DemonGloom
21-02-2009, 22:11
По слухам эту, прошивку никто собрать не смог..
можно скомпилить freebsd под mipsel. не выходит покачто выкинуть всё лишнее, чтоб уместилось в 8 мб :D
есть toolchain http://svn.freebsd.org/base/projects/mips/
есть скрипт создания img образа ядра http://svn.freebsd.org/base/projects/mips/tools/tools/tinybsd/
yuraz
если есть такой инетрес, то сначала имеет смысл освоить сборку прошивки Олега:
http://wiki.wl500g.info/index.php/compilingcustomfirmware
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
Тут путь по крайней мере достаточно проторенный.
А что в исходниках asus никакого readme нет?
NIXdummy
26-05-2009, 16:52
Всю ветку не прочел - каюсь, но может подскажите на чем и как эта прошивка собиралась, тоесть откуда были взяты исходники. Дело в том, что у меня из асусовских исходников версии 3.0.0.8 нифига не собиралось в течение месяца. Там какая-то проблема со статической/динамической линковкой. Я не программер и решить эту проблему так и не смог. В общем вся сборка стопарилась на сообщении .../ld error: -lnvram NOT FOUND. Еще бывало вместо "lnvram" "lshared" и еще куча всякого -l_чо_то_там.
Но в целом очень рад видеть наконец-таки полноценный busybox в прошивке, а также завершение пути и комманд по tab-у, а также хистори.
вот инструкции по сборке 1.9.2.7-d:
http://code.google.com/p/wl500g/wiki/Welcome?tm=6
Олега собирается так же.
NIXdummy
30-05-2009, 08:55
вот инструкции по сборке 1.9.2.7-d:
http://code.google.com/p/wl500g/wiki/Welcome?tm=6
Олега собирается так же.
Спасибо за ссылку - действительно все собирается и работает. Но толку от этого мало. Попытался запустить "make menuconfig" и "make config" - сработало только в /src/router и то результата не дало - ни ядро, ни тем более прошивка после этого не собираются:
make[1]: Entering directory '/home/maxos/ASUS/broadcom/src/gateway/iptables'
Unable to resolve dependency on /home/maxos/ASUS/broadcom/src/linux/linux/include/linux/version.h. Try 'make clean'
make: *** [iptables] Error 2
А то что оно без настройки собирается - так с темже успехом можно было бы выложить заархивированный бинарник прошивки и описать как его извлечь из архива. Результат был бы темже :(.
Спасибо за ссылку - действительно все собирается и работает. Но толку от этого мало. Попытался запустить "make menuconfig" и "make config" - сработало только в /src/router и то результата не дало - ни ядро, ни тем более прошивка после этого не собираются:
make[1]: Entering directory '/home/maxos/ASUS/broadcom/src/gateway/iptables'
Unable to resolve dependency on /home/maxos/ASUS/broadcom/src/linux/linux/include/linux/version.h. Try 'make clean'
make: *** [iptables] Error 2
А то что оно без настройки собирается - так с темже успехом можно было бы выложить заархивированный бинарник прошивки и описать как его извлечь из архива. Результат был бы темже :(.
Ну разве тяжело подредактировать файл kernel.config прямо в прошивке.
Или Makefile для добавления программ.
NIXdummy
30-05-2009, 10:17
Ну разве тяжело подредактировать файл kernel.config прямо в прошивке.
Или Makefile для добавления программ.
Тяжело - мне вот программы какраз не нужны, того что там уже есть хватает. Мне нужно собрать поддержку клавиатуры. В менюконфиге она есть, но когда я ее помечаю на сборку - все летит к чертям.
Причем компиляция почему-то стопорит не на драйверах, а как раз на программах, а точнее на iptables.
И потом в каком из этой кучи :eek::
/broadcom/src/Makefile
/broadcom/src/router/Makefile
/broadcom/src/router/config/Makefile
/broadcom/src/gateway/Makefile
/broadcom/src/...
/broadcom/src/...
/broadcom/src/...
Makefile-ов надо выставить сборку драйвера?
-----
Кстати с kernel.config - спасибо за подсказку - он там один-единственный, только вот клавиатура там уже включена (по крайней мере USB-овая CONFIG_USB_KBD=m) только в готовой прошивке usb-клавиатура почему-то не определяется при втыкании - и в /proc/bus/usb/devices пишет driver(none)
Кстати с kernel.config - спасибо за подсказку - он там один-единственный, только вот клавиатура там уже включена (по крайней мере USB-овая CONFIG_USB_KBD=m) только в готовой прошивке usb-клавиатура почему-то не определяется при втыкании - и в /proc/bus/usb/devices пишет driver(none)
если стоит m и модуль не включен в прошивку, то он находится в файле modules, распространяемом вместе с прошивкой
NIXdummy
30-05-2009, 16:30
если стоит m и модуль не включен в прошивку, то он находится в файле modules, распространяемом вместе с прошивкой
Да, такая папка есть - /src/mipsel-uclibc/modules однако что она там делает и зачем нужна, я так и не понял - там лежат куча скомпилированных драйверов keybdev.o mousedev.o videodev.o и другие. Все аккуратно разложены по своим папкам - клавитура в input, videodev в каталоге media - все хорошо, вот только в итоговом образе прошивки их по-моему нету:
/ # modprobe keybdev
modprobe: chdir(/opt/lib/modules): No such file or directory
/ # insmod keybdev
insmod: cannot insert 'keybdev.o': Operation not permitted
И в то же время откуда-то же они загружаются?!
Попробовал скопировать keybdev.o в /src/mipsel-uclibc/target/lib и сделать снова make install - не вышло: Firmware Upgrade Fail.
Люди добрые! Объясните, как настроить сборку этой прошивки - если кто-нибудь кроме Олега знает?
Люди добрые! Объясните, как настроить сборку этой прошивки - если кто-нибудь кроме Олега знает?
Халява не пройдет, учись читать Makefile. Написать учебник для чайников не удалось пока никому.
Разве не логично, что Makefile ядра лежит там же где и ядро? то есть в src/linux/linux ? И по названию текущего каталога(src/gateway) из wiki неясно где Makefile прошивки?
А для работы modprobe нужен файлик modules.dep ? Если нет, тогда придется читать доки. И на ядро, и на modutils, и на make, и ....
NIXdummy
31-05-2009, 09:28
Халява не пройдет, учись читать Makefile. Написать учебник для чайников не удалось пока никому.
Блин! Ну неужели все так плохо? Там же лежат конфиги от menuconfiga, со всеми менюшками и подменюшками! Почему нельзя было оставить такую возможность, зачем надо было обрубать нетолько make menuconfig, но даже обычный маке config ?!!!
Разве не логично, что Makefile ядра лежит там же где и ядро? то есть в src/linux/linux ? И по названию текущего каталога(src/gateway) из wiki неясно где Makefile прошивки?
До этого то я допер - вот толко в src/linux/linux, menuconfig или просто config usb-овые драйвера не видит! Есть там пункт "Support USB Gadgets" и ВСЕ! Ни usbmouse, ни hid, ни usbkbd там нет!
А для работы modprobe нужен файлик modules.dep ? Если нет, тогда придется читать доки. И на ядро, и на modutils, и на make, и ....
На modprobe я забил. А вот что самое интересное, оказалось если (Внимание! Смертельный номер!) скопировать уже собранные драйвера из /src/mipsel-uclibc/modules/lib/modules/2.4.37.1/kernel/drivers на флэшку, тыкнуть ее затем в роутер, и сделать insmod драйвера с флэшки - то он успешно загружается и работает! Блин, ребята, а по нормальному сделать слабо? Если драйвер откомпилился не пихать его в отдельную папку, а влючить в прошивку?!
Как же все просто было на Д-Линке: поставил тулчейн, разжал исходники и ПРЯМО ИЗ КОРНЯ каталога исходников запустил make menuconfig (или make config - кому как удобно); make dep; make - и все собралось! Заливай и радуйся! А я еще думал что в Дликовских исходниках бардак! Видимо придется оставить исходники от Олега из за КРАЙНЕЙ КОНЦЕНТРАЦИИ БАРДАКА в них!
Буду пробовать uClinux.
Блин, ребята, а по нормальному сделать слабо? Если драйвер откомпилился не пихать его в отдельную папку, а влючить в прошивку?!
место однако не резиновое.
Как же все просто было на Д-Линке: поставил тулчейн, разжал исходники и ПРЯМО ИЗ КОРНЯ каталога исходников запустил make menuconfig (или make config - кому как удобно); make dep; make - и все собралось! Заливай и радуйся! А я еще думал что в Дликовских исходниках бардак! Видимо придется оставить исходники от Олега из за КРАЙНЕЙ КОНЦЕНТРАЦИИ БАРДАКА в них!
вот и славненько, раз у Вас есть девайс, который Вам нравится. Надеюсь больше Ваших постов в этом форуме не предвидится.
theMIROn
31-05-2009, 10:58
Блин! Ну неужели все так плохо? Там же лежат конфиги от menuconfiga, со всеми менюшками и подменюшками! Почему нельзя было оставить такую возможность, зачем надо было обрубать нетолько make menuconfig, но даже обычный маке config ?!!!потому конфигурирование выполняется автоматически by-design.
До этого то я допер - вот толко в src/linux/linux, menuconfig или просто config usb-овые драйвера не видит! Есть там пункт "Support USB Gadgets" и ВСЕ! Ни usbmouse, ни hid, ни usbkbd там нет!
src/gateway/mipsel-uclibc/modules/lib/modules/2.4.37.1/kernel/drivers/usb/usbkbd.o
src/gateway/mipsel-uclibc/modules/lib/modules/2.4.37.1/kernel/drivers/usb/usbmouse.o
оно и так уже компилируется, ничего дополнительно делать не нужно, остается только взять.
На modprobe я забил.
ну как бы и зря. если скопировать src/gateway/mipsel-uclibc/modules/lib в /opt/lib (да, на флешку), то modprode отлично сработает, т.к будет искать именно там
А вот что самое интересное, оказалось если (Внимание! Смертельный номер!) скопировать уже собранные драйвера из /src/mipsel-uclibc/modules/lib/modules/2.4.37.1/kernel/drivers на флэшку, тыкнуть ее затем в роутер, и сделать insmod драйвера с флэшки - то он успешно загружается и работает! Блин, ребята, а по нормальному сделать слабо?
Это и есть по-нормальному. Место в 4-метровых роутерах практически закончилось, чтобы засовывать модули, необходимые (?) 1% пользователей. Поэтому всегда есть компромисный вариант - или на флешку, или во flashfs с указанием пулного пути для insmod.
Описано практически в каждом первом faq на форуме.
Если драйвер откомпилился не пихать его в отдельную папку, а влючить в прошивку?!
Для большинства это не нужно, места нет, модули всегда доступны в архиве http://code.google.com/p/wl500g/downloads/list?can=2&q=modules
Как же все просто было на Д-Линке: поставил тулчейн, разжал исходники и ПРЯМО ИЗ КОРНЯ каталога исходников запустил make menuconfig (или make config - кому как удобно); make dep; make - и все собралось! Заливай и радуйся! А я еще думал что в Дликовских исходниках бардак!
очень рад за них, только вот где в свободном доступе есть исходники прошивок, основанных на оригинальных d-link настолько глубоко проработанные с приемлимой структурой организации патчей/обновлений. Да, я тоже не видел.
Видимо придется оставить исходники от Олега из за КРАЙНЕЙ КОНЦЕНТРАЦИИ БАРДАКА в них!
каждое мнение очень важно для нас, будем иметь ввиду.
Блин! Ну неужели все так плохо? Там же лежат конфиги от menuconfiga, со всеми менюшками и подменюшками! Почему нельзя было оставить такую возможность, зачем надо было обрубать нетолько make menuconfig, но даже обычный маке config ?!!!
Если за потоками грязи в адрес прошивки вы не сумели настроить свой линукс,и, соответственно, не увидели рабочий menuconfig, это ваша личная проблема. Зачем же на окружающих вываливать?
Видимо придется оставить исходники от Олега из за КРАЙНЕЙ КОНЦЕНТРАЦИИ БАРДАКА в них!
Буду пробовать uClinux.
Скатертью дорожка. Надеюсь, в нем вы тоже не сумеете разобраться.
Здравствуйте!
Наверняка многих заинтересует полноценная поддержка NTFS (т.к. у многих внешний веник)
Есть набор патчей для OpenWRT
https://dev.openwrt.org/ticket/5186
хотелось бы увидеть его и в Олеговой прошивке.
Спасибо
история здесь: http://forum.openwrt.org/viewtopic.php?pid=75156
Если бы ты внимательно почитал форум и воспользовался ненавистным поиском, то обнаружил бы следующие факты:
В оригинальную прошивку Олега 1.9.2.7-10 добавить fuse невозможно
Для большинства девайсов, в 4Mb флэш сиё хозяйство не влезет
Для 1.9.2.7-d (http://wl500g.info/showthread.php?t=17136) были собраны модули, но их так никто и не оттестировал, все крутые перцы с крутыми NTFS вениками сдулись
P.S. Подробности - через поиск.
Помогите, пожалуйста, чайнику, скомпилить CFE для WL520gu.
Скачал последнюю официальную версию исходников с сайта ASUS. Сама прошивка собирается без проблем, но CFE автоматом собираться не хочет, в конфигах, ничего похожего, на разрешение такой сборки не нашёл. А при сборке из директории cfe, завершается с ошибкой компиляции-не находит прототипов некоторых функций, которых, действительно, в исходниках нет. Помогите, кто знает, измучился совсем :(
Помогите, пожалуйста, чайнику, скомпилить CFE для WL520gu.
Скачал последнюю официальную версию исходников с сайта ASUS. Сама прошивка собирается без проблем, но CFE автоматом собираться не хочет, в конфигах, ничего похожего, на разрешение такой сборки не нашёл. А при сборке из директории cfe, завершается с ошибкой компиляции-не находит прототипов некоторых функций, которых, действительно, в исходниках нет. Помогите, кто знает, измучился совсем :(
Удалось собрать, пока, только, из самых старых исходников. И то, что получилось, не соответствует реальному загрузчику. Хотя и это-прогресс :)
# cd /opt/broadcom/src/wl500g-1.9.2.7-10 && make kernel && make
У меня после команды make вываливается
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking for mipsel-linux-gcc...
mipsel-uclibc-gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log'
for more details.
make: *** [/opt/broadcom/src/gateway/dropbear/config.h] Ошибка 77
Всё делаю по инструкции.
Заработало, оказывается не правильная ссылка на каталог hndtools-mipsel-uclibc-4.1.2-2 была.
Осталось всего ничего, добавить драйвера spca5xx-20060501.tar.gz, как, подскажите...
Добрый день, на форуме я новичок и на сколько понял, для нормальной сборки прошивки необходимо изучить азы описанный в статье: http://wiki.wl500g.info/index.php/compilingcustomfirmware. Эта ссылка мертвая, не подскажете, где можно найти подобную информацию? Возможно где то на других ресурсах. Лишь бы изложение было доступное для понимания чайника)
Может кто из разработчиков поделится передовым опытом?
Дома, на столе стоит включенный комп (FC9). На нем занимаюсь сборкой прошивки (хожу с работы ssh). Рядом с компом стоит включенный асус. Доступен по локалке. Консолька тоже заведена на этот же комп. Короче все возможности. Хочу удаленно собрав вариант прошивки, тут же ее прошить в асус и помотреть, что происходит на консоли.
Возникает вопрос как это сделать? Пробрасывать кроме ssh еще и web-морду не кузяво. Да и она локальный файл прошивки захочет, а он на домашнем компе. Тащить его к себе, на рабочий комп и потом снова грузить в рутер, стоящий дома... Как-то криво, да и сбойнуть может. Тащить ради этого иксы на рабочий комп тоже странно.
Нет ли какого-то способа прогружать прошивку из шелла? В идеале, вообще, в Makefile вписать что-то типа: make write. Или может можно, что-то на консольке набрать, чтобы инициировать процесс?
все возможности. Хочу удаленно собрав вариант прошивки, тут же ее прошить в асус и помотреть, что происходит на консоли.
Возникает вопрос как это сделать?
А про команду tftp забываем? ;)
Ловить после reboot'а момент для заливки довольно напряжно. Или там можно как-то таймаут накрутить?
Или вы имеете в виду, типа, поднять tftp сервер на федоре, а из консоли tftp ..., а потом что-то вроде cat ...>/dev/mtd/2
А чуть более развернуто не поясните?
Komandir
28-10-2009, 15:42
Ловить после reboot'а момент для заливки довольно напряжно. Или там можно как-то таймаут накрутить?
Или вы имеете в виду, типа, поднять tftp сервер на федоре, а из консоли tftp ..., а потом что-то вроде cat ...>/dev/mtd/2
А чуть более развернуто не поясните?
teamviewer.com наверное поможет. Ставь дома и ходи с работы ...
theMIROn
28-10-2009, 15:52
Нет ли какого-то способа прогружать прошивку из шелла?
1 вариант.
1. выкладываем trx прошивку где нибудь на http/ftp
2. логинимся в роутер по ssh или сразу в консоль
3. cd /tmp && wget <path>/firmware.trx
4. write /tmp/firmware.trx /dev/mtd/1 -r
2 вариант.
1. заливаем в роутер прошивку по scp/sftp сразу в /tmp
2. write /tmp/firmware.trx /dev/mtd/1 -r
3 вариант.
1. делаем в putty туннель localhost:4080 на лок.ip роутера:80
2. соединяемся по ssh с роутером через putty
3. заходим в web интерфейс роутера через http://localhost:4080
4. заливаем прошивку с локального компа as always
p.s ключ -r команды write доступен только в 1.9.2.7-d/rtn прошивке, нужен для автоматической перезагрузки после выполнения
p.p.s для 1.9.2.7-rtn записываем не в /dev/mtd/1, а в /dev/mtd1. в остальном все так же
рекомендую вариант 2. Однако, при всем необходимо отметить, что это работает где-то в 95% случаев. В остальных требуется помощь локального оператора по перезагрузке по питанию. ;)
ASUS WL500GPv1 имеет FLASH память длинной 8Mb. Могу ли я создавать прошивки для него почти на всю длину FLASH памяти (например, 7MB) за счет включения в прошивку большого числа модулей ядра и прикладных программ. Или я все же ограничен длиной прошивки не более 4Mb?
Заранее благодарен!
Если бы ты внимательно почитал форум и воспользовался ненавистным поиском, то обнаружил бы следующие факты:
В оригинальную прошивку Олега 1.9.2.7-10 добавить fuse невозможно
Для большинства девайсов, в 4Mb флэш сиё хозяйство не влезет
Для 1.9.2.7-d (http://wl500g.info/showthread.php?t=17136) были собраны модули, но их так никто и не оттестировал, все крутые перцы с крутыми NTFS вениками сдулись
P.S. Подробности - через поиск.
Спасибо за ответ :)
melnikdima
23-01-2010, 23:58
есть GPL source как создать прошивку???
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware?wl=ru
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware?wl=ru
Из чистого ASUS GPL так не получится, требуется еще ломик и какая-то матерь ;)
В-общем, без базовых знаний C и разработки(не мышевозничества!) в принципе, можно даже не пытаться.
Подскажите пожалуйста, что нужно для пересборки прошивки 1.9.2.7-10? Насколько я понял, необходимы исходники от Asus (это (http://files.wl500g.info/asus/wl500gp/gpl/) они? Если да, то какой из них?), исходники ядра (любой версии или именно 4.6.20?), toolchain (опять же какой именно? тот что предлагают по инструкции (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware), или тот что здесь (http://files.wl500g.info/asus/wl500gp/gpl/)) и исходники прошивки (насколько я понял, это (http://oleg.wl500g.info/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2) они? Есть ли разница между моделями?)? И если можно вкратце поясните процесс пересборки (т. к. в разных инструкциях небольшие различия).
AndreyUA
14-03-2010, 19:50
Подскажите пожалуйста, что нужно для пересборки прошивки 1.9.2.7-10? Насколько я понял, необходимы исходники от Asus (это (http://files.wl500g.info/asus/wl500gp/gpl/) они? Если да, то какой из них?), исходники ядра (любой версии или именно 4.6.20?), toolchain (опять же какой именно? тот что предлагают по инструкции (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware), или тот что здесь (http://files.wl500g.info/asus/wl500gp/gpl/)) и исходники прошивки (насколько я понял, это (http://oleg.wl500g.info/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2) они? Есть ли разница между моделями?)? И если можно вкратце поясните процесс пересборки (т. к. в разных инструкциях небольшие различия).Следуйте этой инструкции
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
Следуйте этой инструкции
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
Он хочет собрать именно -10, для неё Олег постил свои ссылки на форуме. Ну а искать самому видимо, как всегда, лень.
Он хочет собрать именно -10, для неё Олег постил свои ссылки на форуме. Ну а искать самому видимо, как всегда, лень.
Я уже целый вечер ищу на эту тему, но видимо не по тем ключевым словам (т. к. только пытаюсь разобраться). Конкретно для 10 отдельной инструкции не видел, поэтому и задал вопрос.
AndreyUA
14-03-2010, 20:14
Я уже целый вечер ищу на эту тему, но видимо не по тем ключевым словам (т. к. только пытаюсь разобраться). Конкретно для 10 отдельной инструкции не видел, поэтому и задал вопрос.http://wl500g.info/showthread.php?t=424
это совсем древняя инструкция. Подробная инструкция по сборке оригинальной прошивки Олега была на wiki данного форума, которая была упразднена за непопулярностью.
Для сборки последней прошивки Олега наиболее близкой инстркцией является именно инструкция с гуглокода. Подойти к ней надо слегка творчески, но она описывает все необходимые действия (хотя для сборки собственно текущей прошивки с гуглокода она уже слегка устарела).
базовая информация и ссылка на тулчейн есть здесь: http://oleg.wl500g.info
PS отдельной инструкции для -10 никогда не было
Я делаю так:
Выполняем пункт 1 (Необходимый софт) из инструкции (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware).
Выпоняем часть пункта 2 (Скачать исходники) из той же инструкции, а конкретно, скачиваем GPL_1927.zip (сохраняем под именем GPL_1927.tar.gz, у меня он занимает 273177367 байт и имеет md5sum = 9597f51f922e6eeb69b1fb76bf18adc9).
Скачиваем в ту же папку файлы wl500g-1.9.2.7-10.tar.bz2 (http://oleg.wl500g.info/1.9.2.7-10/wl500g-1.9.2.7-10.tar.bz2) (исходники) и hndtools-mipsel-uclibc-3.2.3-full.tar.bz2 (http://oleg.wl500g.info/uClibc-0.9.19/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2) (тулчейн).
В этой же папке создаём подпапки addons и my-patches. В первую я сложил tcpdump (не помню, откуда взял, возможно, из своего роутера), путь: "addons/usr/sbin/" (как в роутере, если считать addons корнем). Во вторую (my-patches) сложил свои патчи, для сборки важны два:
gateway-Makefile.patch
--- router_ref/broadcom/src/gateway/Makefile 2009-09-20 04:46:22.000000000 +0400
+++ router/broadcom/src/gateway/Makefile 2009-09-20 03:04:28.000000000 +0400
@@ -154,7 +154,7 @@
# defaults
export LANGUAGE := "EN"
-MODEL=WL500W
+MODEL=WL500gp
# WL500gx, WL550gE, WL500gp, WL500W
export GLOBAL_OPTIONS := -DUSB_SUPPORT -DQOS -DWPA2_WMM -DPRNINFO -DNO_PARALLEL -DUSBONLY
(это чтоб каждый раз руками не лазить, модель подставьте свою);
rootprep.patch
--- router_ref/broadcom/src/gateway/misc/rootprep.sh 2009-09-20 04:46:20.000000000 +0400
+++ router/broadcom/src/gateway/misc/rootprep.sh 2009-09-20 04:41:07.000000000 +0400
@@ -46,3 +46,7 @@
# which is ignoring ld.so.conf completely
mkdir -p usr/X11R6
ln -sf ../../opt/lib usr/X11R6/lib
+
+# my additions
+mkdir -p lib64
+
(это не особо важно, просто в роутере есть такая папка, а в создаваемой прошивке не было, я решил добавить для порядка).
Теперь создаём где-нибудь скрипт с таким содержимым (чтоб при пересборке вручную все команды не вбивать), назовём его "build.sh"
#!/bin/bash
LANG="en_US.UTF-8"
target_dir="$HOME/router/1.9.2.7-10"
sources_dir="/path/to/sources"
new_path='PATH="$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin"'
function report_status()
{
[ x"$1" == x"0" ] && echo "Success." || echo "Fail."
return "$1"
}
function setup()
{
[ ! -e "${target_dir}" ] &&
mkdir -p "${target_dir}" &&
tar -C "${target_dir}/" -xpzf "${sources_dir}/GPL_1927.tar.gz" &&
tar -C "${target_dir}/broadcom/src/" -xp --bzip2 -f "${sources_dir}/wl500g-1.9.2.7-10.tar.bz2" &&
tar -C "${target_dir}/broadcom/" -xp --bzip2 -f "${sources_dir}/hndtools-mipsel-uclibc-3.2.3-full.tar.bz2" &&
ln -sf -T "hndtools-mipsel-uclibc-3.2.3-full" "${target_dir}/broadcom/opt/brcm/hndtools-mipsel-uclibc" &&
set_opt
report_status "$?" && echo "don't forget to set ${new_path}"
}
function set_opt()
{
sudo ln -sf "${target_dir}/broadcom/opt/brcm" "/opt/"
}
case "$1" in
setup )
setup
;;
set-opt )
set_opt
report_status "$?"
;;
kernel )
cd "${target_dir}/broadcom/src/wl500g-1.9.2.7-10/" && make kernel && make
report_status "$?"
;;
my-patch )
cd "${target_dir}/" && cat "${sources_dir}/my-patches"/*.patch | patch -p1 &&
echo "tar -C '${sources_dir}/' -c 'addons/' | tar -x --strip-components 1" \
>> "${target_dir}/broadcom/src/gateway/misc/rootprep.sh"
report_status "$?"
;;
build )
cd "${target_dir}/broadcom/src/gateway/" && make && make install
report_status "$?"
;;
help )
echo "target dir: '${target_dir}'"
echo "Actions:
$0 setup
${new_path}
$0 kernel
$0 my-patch
$0 build
# PROFIT!"
;;
* )
echo "Usage: $0 { setup | set-opt | kernel | my-patch | build | help }"
;;
esac
Нужно исправить лишь 2 переменные в начале скрипта: target_dir - папка, куда всё распакуется и где будет собираться (папка не должна существовать, она будет создана скриптом), и sources_dir - папка, куда вы сложили архивы (нужно указать полный путь).
Дальше - просто: выполняем команды и следим за результатом
./build.sh setup # в конце этого действия нужны права рута (запись в /opt/), так что там явно вызывается sudo
PATH="$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm/hndtools-mipsel-linux/bin"
./build.sh kernel
./build.sh my-patch
./build.sh build
Если всё успешно, в ${target_dir}/broadcom/src/gateway/mipsel-uclibc/ будет лежать прошивка.
Набросал тут некоторое время назад скриптик для автоматической сборки прошивки "от энтузиастов", да все никак руки не доходили опубликовать.
Собственно код:
http://paste.pocoo.org/raw/191153/
Использование:
firmware.sh [-6|--ipv6] [-m МОДЕЛЬ] [-h|--help] [-c|--clean] [-r ВЕРСИЯ]
-6,--ipv6 Включает поддержку IPv6 в прошивке.
-m МОДЕЛЬ Собирает прошивку для указанной модели роутера. По умолчанию используется WL500gp (не v2!).
-h,--help Показывает эту справочную часть.
-c,--clean Уничтожить следы работы скрипта (полностью удалит директорию ~/wl500g)
-r ВЕРСИЯ Собрать прошивку определённой версии. Помогает в тех случаях, когда текущая разрабатываемая версия работает крайне нестабильна.
Так же скрипт понимает переменную окружения FIRMDIR (cделанно для опытных пользователей).
Сборка возможна для следующих моделей роутеров: WL500gx, WL550gE, WL500gp, WL500gpv2, WL500W. Название модели регистрочувствительно.
При неправильном указании или неуказании модели - сборка осуществляется для модели WL500gp.
и да, реквестирую полный порядок действий для сборки прошивки rt-n. Тоже сделаю скриптик :)
theMIROn
18-03-2010, 17:09
выложил бы аттачем, форматирование побилось
Кстати, хоть разработчики и молчат, для последних ревизий прошивки GPL_1.9.2.7 не нужен, достаточно лишь директории создать.
и да, реквестирую полный порядок действий для сборки прошивки rt-n. Тоже сделаю скриптик :)
Он такой же, как и для wl, только ядро 2.6.22.19 помещается в директорию linux/linux-2.6, вместо linux/linux
2Devs:
ну и положили бы в ripped просто дерево каталогов без файлов :)
И вику не недо будет править и мне скрипт переписывать тоже не надо будет :)
Кстати, хоть разработчики и молчат, для последних ревизий прошивки GPL_1.9.2.7 не нужен, достаточно лиши директории создать.
те кто хочет быть в курсе происходящих изменений следит за комментариями к svn коммитам http://code.google.com/p/wl500g/source/list
Для остальных подобная информация все равно бесполезна.
dlukanidin
10-06-2010, 00:52
При компиляции получил следующую ошибку
httpd.c:77:23: error: bcmconfig.h: No such file or directory
подскажите где искать пропавший include.
brutevinch
14-07-2010, 13:47
Доброго времени суток.Есть огромное желание чуток подправить наличие httpd smbd и прочих ненужных для меня вещей в прошивке.Мне удалось без проблем собрать неизмененную прошивку. вопрос: как на примере самбы удалить ее из прошивки? П.С. искал.не нашел.
theMIROn
14-07-2010, 13:52
без httpd не будет работать web интерфейс. для первоначальной настройки он все ж желателен.
brutevinch
14-07-2010, 14:02
Я понимаю,спасибо. на самом деле для меня не проблема вносить руками в nvram и цель от части убрать вебку вообще.зачем лишний процесс??? народ тут тоже хотел избавиться от вебки. так же мне реально не нужна самба. надо бы просто научиьтся ремувиьт каку разную.
brutevinch
14-07-2010, 14:48
.....хотя убирать совсем вебку это злое решение. гораздо круче погасить httpd.как?? П.с. но самбу и прочее подобное я бы убрал.
Используйте при сборке menuconfig
brutevinch
14-07-2010, 19:00
Еще такой вопрос: кроме тех софтовых отличий которые указаны в теме про версию-d есть ли отличия в стабильности работы? Сильно ли она уступает -10? или можно смело собирать -d?
brutevinch
15-07-2010, 06:37
Огромное спасибо за menuconfig. ТО что доктор прописал. Теперь плиз подскажите обратный процесс. как внести ПО в прошивку?
theMIROn
15-07-2010, 06:46
Огромное спасибо за menuconfig. ТО что доктор прописал. Теперь плиз подскажите обратный процесс. как внести ПО в прошивку?
только ручками по образу и подобию имеющегося софта.
плюсом на форуме были темы про интеграцию софта из optware
CattheBlack
22-07-2010, 05:38
Подсажите, где найти собранную прошивку отсюда (http://code.google.com/p/wl500g/source/list?path=/branches/rt-n/)?
Поставил слаку на VirtualBox. Скачал тулчейн и прошивку, сбилдил по инструкции. Где теперь найти файл прошивки или как его получить в результате? Я в линуксе не силён, подскажите чайнику!
Отсюда (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware) выполнил все инструкции. Где найти файл прошивки?
Понимаю, вопрос дурацкий, но, может, поможете? ;)
Виктор89
22-07-2010, 06:21
ftp://core.dumped.ru/rt-n/ :rolleyes:
CattheBlack
22-07-2010, 06:45
А ничего, что там последняя - 1803?
Кстати, у меня в подписи ссылка именно туда (ftp://core.dumped.ru/rt-n/).
Видимо пока нет стабильной версии, поэтому не выкладывают
CattheBlack
22-07-2010, 09:07
Финальных версий нет вообще, это всё ночные сборки. По словам тех, кто с ними работает. Стабильность проверяется прошивкой и поиском глюков.
ftp://core.dumped.ru/rt-n/ - там, по словам владельца, стояла автосборка раз в сутки. Раз перестало - наверное, автор не занимается (например, в отпуске). Или какие-либо неполадки.
Так что я захотел попробовать собрать и выложить, если получится. Собралось всё без ошибок, вроде. Но вот куда записалось?
Да, я тупой чайник, но вопрос-то плёвый! Куда кладётся билд с настройками по умолчанию при действиях по инструкции...
Файл собранной прошивки лежит в /whatever-you-want/broadcom/src/gateway/mipsel-uclibc/файлпрошивки.trx :)
CattheBlack
22-07-2010, 09:28
Спасибо огромное!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Parkinstein
22-07-2010, 09:41
Финальных версий нет вообще, это всё ночные сборки. По словам тех, кто с ними работает. Стабильность проверяется прошивкой и поиском глюков.
ftp://core.dumped.ru/rt-n/ - там, по словам владельца, стояла автосборка раз в сутки. Раз перестало - наверное, автор не занимается (например, в отпуске). Или какие-либо неполадки.
Так что я захотел попробовать собрать и выложить, если получится. Собралось всё без ошибок, вроде. Но вот куда записалось?
Да, я тупой чайник, но вопрос-то плёвый! Куда кладётся билд с настройками по умолчанию при действиях по инструкции...
Получилось??? Выкладывай :)
CattheBlack
22-07-2010, 15:27
уже не успею... билдил на работе, а ща на дачу уматываю :)
linvinus
07-09-2010, 18:41
theMIROn здравствуйте,
есть ли где нибудь канал для разработчиков, хотя бы на чтение.
По исходникам сложно определить насколько необходим тот или иной патч. Хотелось бы прочитать историю принятия патчей, или просто проконсультироваться.
Мне необходим роутер как простая и надёжная замена домашнего сервера (ftp+web) (никаких торрентов на самом роутере)
собрал свою прошивку на основе debian lenny с вашим ядром. т.е. всё кроме eapd nas wl на libc-2.7.so , гружусь с флешки. Собираю в виртуальной машине для mipsel архитекторы.
работает но вываливается ~раз в час может реже, но стабильно с ошибкой:
Call Trace:
[<801dbea4>] __nf_conntrack_find+0x54/0x178
[<801dbff0>] nf_conntrack_tuple_taken+0x28/0x48
[<802399a4>] nf_nat_used_tuple+0x30/0x44
[<80239e28>] nf_nat_setup_info+0x470/0x6bc
[<802401b0>] nf_nat_rule_find+0x9c/0xdc
[<80240328>] nf_nat_fn+0x138/0x214
[<802405a4>] nf_nat_in+0x30/0x12c
[<801d9584>] nf_iterate+0xd8/0x114
[<801d9658>] nf_hook_slow+0x98/0x160
[<801f38a4>] ip_rcv+0x2b0/0x720
[<801af078>] process_backlog+0x104/0x23c
[<801ac770>] net_rx_action+0xb4/0x21c
[<8002d26c>] __do_softirq+0x88/0x11c
[<8002d36c>] do_softirq+0x6c/0x74
[<80007614>] plat_irq_dispatch+0x14c/0x1b8
[<80007d6c>] ret_from_irq+0x0/0x4
[<80009d20>] cpu_idle+0x20/0x50
[<80324bf8>] start_kernel+0x2e0/0x33c
с вашей прошивкой RT-N16-1.9.2.7-rtn-r1943.trx по RT-N16-1.9.2.7-rtn-r1982.trx тоже падает.
Вот и встал вопрос где может быть зарыта собака. Хочу двигаться в направлении оригинальное ядро 2.6.22->минимум чтобы работало usb2.0 и драйвер wl
но очень сложно определиться что из патчей соответствует этому условию.
theMIROn здравствуйте,
есть ли где нибудь канал для разработчиков, хотя бы на чтение.
По исходникам сложно определить насколько необходим тот или иной патч. Хотелось бы прочитать историю принятия патчей, или просто проконсультироваться.
Мне необходим роутер как простая и надёжная замена домашнего сервера (ftp+web) (никаких торрентов на самом роутере)
собрал свою прошивку на основе debian lenny с вашим ядром. т.е. всё кроме eapd nas wl на libc-2.7.so , гружусь с флешки. Собираю в виртуальной машине для mipsel архитекторы.
работает но вываливается ~раз в час может реже, но стабильно с ошибкой:
Call Trace:
[<801dbea4>] __nf_conntrack_find+0x54/0x178
[<801dbff0>] nf_conntrack_tuple_taken+0x28/0x48
[<802399a4>] nf_nat_used_tuple+0x30/0x44
[<80239e28>] nf_nat_setup_info+0x470/0x6bc
[<802401b0>] nf_nat_rule_find+0x9c/0xdc
[<80240328>] nf_nat_fn+0x138/0x214
[<802405a4>] nf_nat_in+0x30/0x12c
[<801d9584>] nf_iterate+0xd8/0x114
[<801d9658>] nf_hook_slow+0x98/0x160
[<801f38a4>] ip_rcv+0x2b0/0x720
[<801af078>] process_backlog+0x104/0x23c
[<801ac770>] net_rx_action+0xb4/0x21c
[<8002d26c>] __do_softirq+0x88/0x11c
[<8002d36c>] do_softirq+0x6c/0x74
[<80007614>] plat_irq_dispatch+0x14c/0x1b8
[<80007d6c>] ret_from_irq+0x0/0x4
[<80009d20>] cpu_idle+0x20/0x50
[<80324bf8>] start_kernel+0x2e0/0x33c
с вашей прошивкой RT-N16-1.9.2.7-rtn-r1943.trx по RT-N16-1.9.2.7-rtn-r1982.trx тоже падает.
Вот и встал вопрос где может быть зарыта собака. Хочу двигаться в направлении оригинальное ядро 2.6.22->минимум чтобы работало usb2.0 и драйвер wl
но очень сложно определиться что из патчей соответствует этому условию.
А такое не подходит? ) http://code.google.com/p/wl500g/updates/list
есть ли где нибудь канал для разработчиков, хотя бы на чтение.
Нет, по причине их малого количества. Решения по критическим патчам принимается в личной переписке.
По исходникам сложно определить насколько необходим тот или иной патч. Хотелось бы прочитать историю принятия патчей, или просто проконсультироваться.
Не понимаю вопроса - каждый патч к ядру имеет хоть какой либо комментарий или ссылку на kernel.org, плюс комментарии к коммитам. Художественные описания никто не пишет ;) А что необходимо лично тебе, не посоветует никто.
с вашей прошивкой RT-N16-1.9.2.7-rtn-r1943.trx по RT-N16-1.9.2.7-rtn-r1982.trx тоже падает.
Вот и встал вопрос где может быть зарыта собака.
В недоисправленном netfilter - 2.6.22 очень старое ядро. Если в последних билдах проблема осталась, значит текущих бекпортов мало или где-то вкралась ошибка.
В недоисправленном netfilter - 2.6.22 очень старое ядро. Если в последних билдах проблема осталась, значит текущих бекпортов мало или где-то вкралась ошибка.
Эх, а нельзя ли все же сделать чтобы INADYN можно было настраивать через веб мордочку и из раздела IPV6? (для настройки адреса для тунель брокера)
Эх, а нельзя ли все же сделать чтобы INADYN можно было настраивать через веб мордочку и из раздела IPV6? (для настройки адреса для тунель брокера)
Возможно всё, просто это далеко не первоочередная задача. Если найдуться желающие сделать патч, будет быстрее...
linvinus
08-09-2010, 12:31
2 TReX спасибо, changelogs я умею смотреть :)
2 lly, спасибо за отклик, ситуацию понял.
Непонятно почему iptables 1.3.8? более новый сложно портировать?
мне нужны некоторые модули для shorewall
Что касается зависаний, вчера после прописывания
vm.min_free_kbytes=65536
зависания не повторялись, патайм почти 20 часов.
ядро от 1943
я поднял nginx и proftpd медленно но работает скорость можно оценить по ссылкам
https://linvinus.ru
http://linvinus.ru/ubuntu
ftp://linvinus.ru
всё крутится на роутере, ещё и памяти много свободной
#free
total used free shared buffers cached
Mem: 126564 29468 97096 0 380 6784
-/+ buffers/cache: 22304 104260
Swap: 224900 12716 212184
честно говоря всё упирается в скорость usb, она очень маленькая, и при обращении к usb всё начинает жутко тормозить.
Пока, кроме скорости usb, всё устраивает и всё работает (включая wifi), инет у меня через pppoe, при скачивании обновлений скорость поднимается до 20Мбит/сек, работает стабильно.
Непонятно почему iptables 1.3.8? более новый сложно портировать?
мне нужны некоторые модули для shorewall
Перешел из ветки 2.4, там более новый втащить практически невозможно. "Сложно" - понятие относительное. Работы много, а критической необходимости в этом нет. Когда-нибудь сделаем...
linvinus
08-09-2010, 12:47
Перешел из ветки 2.4, там более новый втащить практически невозможно. "Сложно" - понятие относительное. Работы много, а критической необходимости в этом нет. Когда-нибудь сделаем...
понятно, а поддержка usb тоже из 2.4?
понятно, а поддержка usb тоже из 2.4?
Мосье издевается? Я говорю про версию iptables(user-space), вопрос совместимости с ядерными модулями netfilter это другое.
linvinus
08-09-2010, 13:05
Мосье издевается? Я говорю про версию iptables(user-space), вопрос совместимости с ядерными модулями netfilter это другое.
не издеваюсь, я изначально планировал использовать iptables от debian, но получил глюки, создать цепочки можно а удалить нельзя.
пришлось пакет собирать из ваших исходников. Поэтому решил, что netfilter тоже старый.
не издеваюсь
это было про usb
я изначально планировал использовать iptables от debian, но получил глюки, создать цепочки можно а удалить нельзя.
пришлось пакет собирать из ваших исходников. Поэтому решил, что netfilter тоже старый.
см. iptables/604-match-speedup.patch
Ну частями он обновлён, но в целом пока староват.
linvinus
08-09-2010, 14:18
это было про usb
см. iptables/604-match-speedup.patch
Ну частями он обновлён, но в целом пока староват.
понял спасибо, буду экспериментировать.
linvinus
08-09-2010, 17:39
Я чето не понял в этой теме ничего. Для чего надо собирать драйвер и что он делает?
А по ссылкам пройтись? В гугле набрать ndas?
Судя по всему, для работы с плеером, используется особый протокол ndas, под линукс есть исходники.
lly , позвольте ещё немного помучать жизненными вопросами.
каким образом вы проверяете работу прошивки?
каждый раз прошиваете? или есть вариант загрузки по tftp?
Наверное есть какой то ресурс у фелшки, сколько раз её можно перепрошивать?
theMIROn
08-09-2010, 17:43
каким образом вы проверяете работу прошивки?в реальной работе в реальных условиях и на импровизированных стендах
каждый раз прошиваете? или есть вариант загрузки по tftp?
самое простое - прошиться.
по tftp/pxe возможность есть, однако я лично ни разу не пробовал. Так же возможно загрузиться с флешки, но эту возможность еще не подправили.
Наверное есть какой то ресурс у фелшки, сколько раз её можно перепрошивать?
ресурс флешки можно найти в интернете, и врядли убитая флешка будет "не гарантийным" случаем ;)
каким образом вы проверяете работу прошивки?
В основном - на стенде. На компе есть вторая сетёвка на которую повешены pptpd + l2tpd. Ну и кучка USB девайсов тоже имеется.
каждый раз прошиваете? или есть вариант загрузки по tftp?
Смотря что тестируем - если ядро/init, то да. Если приложение - то с флешки.
Вариант с tftp увы нерабочий на 500gP, надо править CFE, а лениво и программатора под рукой нет. На N16 должен работать, но не проверял.
linvinus
08-09-2010, 18:00
в реальной работе в реальных условиях и на импровизированных стендах
самое простое - прошиться.
по tftp/pxe возможность есть, однако я лично ни разу не пробовал. Так же возможно загрузиться с флешки, но эту возможность еще не подправили.
Спасибо посмотрю.
Заргузка с флешки, имеется ввиду загрузка ядра + базововый образ(на подобии initrd) а затем монтирование флешки и pivot_root в неё?
Я сейчас так и гружусь.
Насколько я понимаю закрузчик CFE грузит ядро и образ из /dev/mtdblock2
сам CFE вроде не умеет грузить с флешки.
ресурс флешки можно найти в интернете, и врядли убитая флешка будет "не гарантийным" случаем ;)
Да но чтобы получить доступ к консоли по RS-232 пришлось сорвать пломбу.
Я пока разбирался что к чему уже раз тридцать прошился.
Судя по документации 100 000 циклов перезаписи.
linvinus
08-09-2010, 20:18
разобрался с тормозами при работе по usb, заменил флешку жёстким диском
теперь всё летает.
65Мб свободной памяти это перебор, оставил
vm.min_free_kbytes=11313
theMIROn
08-09-2010, 20:28
разобрался с тормозами при работе по usb, заменил флешку жёстким диском
теперь всё летает.
65Мб свободной памяти это перебор, оставил
vm.min_free_kbytes=11313
так по умолчанию там ~1400 для резервирования памяти на ядро для 128 мб памяти.
linvinus
09-09-2010, 07:24
так по умолчанию там ~1400 для резервирования памяти на ядро для 128 мб памяти.
со значением по умолчанию у меня стабильно падало ядро.
Уважаемые модераторы !
Предлагается перенести посты про сборку прошивки отсюда в
профильную тему (чтобы не затерялись в этой раздутой теме): ;)
Сборка прошивки: http://wl500g.info/showthread.php?t=15702 :rolleyes:
См. также : http://wl500g.info/showpost.php?p=209435&postcount=3046
http://wl500g.info/showpost.php?p=208920&postcount=2998 :cool:
linvinus
10-09-2010, 07:37
Хорошо продолжаю обсуждение сборки и модернизации тут:
lly, посмотрел патчи для netfilter, и iptables понял в чём проблема.
молодцы что выделили это в виде патчей, в исходниках от асуса всё в кучу. Портировать наверное можно, но мне важнее совместимость с дебианом.
theMIROn
10-09-2010, 21:04
мда, слишком шибко работает, срезает начисто...
paramama
13-10-2010, 12:17
Добрый день, вот тут такая проблема. Я почитал как собирать прошивки для роутеров. Предположим я ее собрал, установил и получил роутер выполняющий стандартные функции. Но что нужно поменять и главное в каких файлах прошивки, чтобы после ее сборки и запуска роутера, у меня выводилась надпись Hello Word и всё - все события прекращались бы. Вообще мне необходимо написать свой функционал вот и пытаюсь узнать откуда толкаться
Извиняюсь, что не в тему форума, я думаю здесь есть люди, которые мне подскажут как извлечь, разобрать, прошивку - http://depositfiles.com/files/n7xvv0mzt, чтобы можно было поправить и собрать обратно..
Кстати, а почему если я в конфиге прошивки пишу CONFIG_PPP=n и далее make oldconf, то в конфиге ядра CONFIG_PPP, автоматом не сбрасывается? Более того, если ручками подправить конфиг ядра, то периодически восстанавливается CONFIG_PPP=y (после make oldconf)!?
Простой патч ситуацию исправляет:
--- Makefile.top.orig<->2011-01-31 11:45:40.000000000 +0300
+++ ./Makefile.top<---->2011-01-31 11:44:25.000000000 +0300
@@ -519,6 +519,7 @@
$(LINUXDIR)/.config: .config
<----->cp $(LINUXDIR)/arch/mips/defconfig-bcm947xx $@
<----->$(call SwitchConfParam,$@,CONFIG_IPV6,$(if $(CONFIG_IPV6),y,n))
+<----->$(call SwitchConfParam,$@,CONFIG_PPP,$(if $(CONFIG_PPP),y,n))
.
#
# Overrides
Кстати, а почему если я в конфиге прошивки пишу CONFIG_PPP=n и далее make oldconf, то в конфиге ядра CONFIG_PPP, автоматом не сбрасывается?
Потому что эти связки не очевидны. По изначальному смыслу в конфиге прошивки это отключение только PPPoE, а в ядре CONFIG_PPP это гораздо больше (PPPoE/l2tp/pptp).
А так нужно ли наводить порядок в этой части? Очень много параметров в конфиге прошивки остались исторически от Broadcom SDK & ASUS'а, и объём работ на причёсывание большой...
А так нужно ли наводить порядок в этой части? Очень много параметров в конфиге прошивки остались исторически от Broadcom SDK & ASUS'а, и объём работ на причёсывание большой...
Я не знаю, многим ли надо, но мне все эти PPP оказались не нужны, а вот отключить их оказалось не так очевидно, как может показаться... Просто, есть подозрения, что лишние драйвера в ядре тормозят роутер при большом потоке на интерфейсе (мультикаст).
Просто, есть подозрения, что лишние драйвера в ядре тормозят роутер при большом потоке на интерфейсе (мультикаст).
Драйвера - нет. А вот части netfilter, NAT, роутинга, сборщики фрагментов - да. И не забудь про жёсткую завязку драйвера WiFi на sk_buff
Драйвера - нет. А вот части netfilter, NAT, роутинга, сборщики фрагментов - да. И не забудь про жёсткую завязку драйвера WiFi на sk_buff
Ну, естественно и эти части тоже отключаю, ну и IPV6 заодно... А вот насчёт sk_buff надо будет посмотреть, что там к чему, но пока вроде WiFi работал без проблем.
Пара вопросов:
Поскольку никакой конфигурялки при сборке нет, а мне нужен дополнительный модуль (cdc_ether), то я поступил так: собрал прошивку, потом пошел в директорию с ядром, и через make menuconfig включил нужное мне. После чего пересобрал прошивку вновь.
Корректно ли это?
Вопрос второй: есть ли безболезненный метод убрать/добавить что-либо из конфига ядра/busybox/etc и сделать добавление этого в образ рутфс, без правки мейкфайла в gateway?
Пара вопросов:
Поскольку никакой конфигурялки при сборке нет, а мне нужен дополнительный модуль (cdc_ether), то я поступил так: собрал прошивку, потом пошел в директорию с ядром, и через make menuconfig включил нужное мне. После чего пересобрал прошивку вновь.
Корректно ли это?
Если данная версия модуля устраивает и он собрался, то почему нет? Процесс сборки ядра/модулей не отличается от ванильного с kernel.org
Вопрос второй: есть ли безболезненный метод убрать/добавить что-либо из конфига ядра/busybox/etc и сделать добавление этого в образ рутфс, без правки мейкфайла в gateway?
busybox сам всё корректно инсталлирует, а для остального надо править Makefile
featZima
11-02-2011, 20:53
если можно попросить, включите в прошивку такой патч http://www.mail-archive.com/netdev@vger.kernel.org/msg60638.html
если можно попросить, включите в прошивку такой патч http://www.mail-archive.com/netdev@vger.kernel.org/msg60638.html
Одного этого патча мало - там серия из 4 патчей плюс нужна поддержка в tc (iproute2). Возможно займёмся, но не сейчас.
Это понятно. До этого мне далековато. Я имел ввиду, что если там какой-то мод igmpproxy или что-то подобное, то этот бинарник можно скопировать в dd-wrt и запустить.
Для модулей ядра подобные методы не прокатывают. Особенно для специально искорёженного ядра DD-WRT чтобы не скопировали их "ценный" драйвер WiFi.
pilson66
12-02-2011, 08:12
Пытался собрать rtn прошивку из svn (2585) по гайду (https://code.google.com/p/wl500g/wiki/CompilingCustomFirmware), но на пункте 4.1 получаю ошибку:
pilson@xen2:/usr/src/rtn/broadcom/src/1.9.2.7-rtn$ make
svnversion -c 2>/dev/null | sed "s/.*://" > /usr/src/rtn/broadcom/src/gateway/.svnrev
make -C /usr/src/rtn/broadcom/src/linux/linux-2.6 include/linux/version.h
make[1]: Entering directory `/usr/src/rtn/broadcom/src/linux/linux-2.6.22.19'
CHK include/linux/version.h
make[1]: Leaving directory `/usr/src/rtn/broadcom/src/linux/linux-2.6.22.19'
make -C /usr/src/rtn/broadcom/src/gateway .config
grep: /usr/src/rtn/broadcom/src/linux/linux-2.6/include/linux/utsrelease.h: No such file or directory
make[1]: Entering directory `/usr/src/rtn/broadcom/src/gateway'
make[1]: `.config' is up to date.
make[1]: Leaving directory `/usr/src/rtn/broadcom/src/gateway'
tar -xjf samba/samba-2.0.10.tar.bz2 -C /usr/src/rtn/broadcom/src/gateway
/usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway/samba-2.0.10 samba/001-common.patch samba/002-security.patch samba/003-writex.patch samba/004-vista.patch samba/005-2k3sp1-rpc.patch samba/006-nt-ioctl.patch samba/007-mount.patch samba/010-cp1251.patch samba/011-utf8.patch samba/020-gcc34.patch samba/100-cifs-flags-compat.patch samba/101-clear-client-info.patch samba/400-enhanced_attributes.patch
Looking for last applied patch
Patching /usr/src/rtn/broadcom/src/gateway/samba-2.0.10 with samba/001-common.patch samba/002-security.patch samba/003-writex.patch samba/004-vista.patch samba/005-2k3sp1-rpc.patch samba/006-nt-ioctl.patch samba/007-mount.patch samba/010-cp1251.patch samba/011-utf8.patch samba/020-gcc34.patch samba/100-cifs-flags-compat.patch samba/101-clear-client-info.patch samba/400-enhanced_attributes.patch
samba/001-common.patch
patching file source/include/smb.h
patching file source/Makefile.in
patching file source/nmbd/nmbd_mynames.c
patching file source/smbd/close.c
patching file source/smbd/ipc.c
patching file source/smbd/negprot.c
patching file source/smbd/password.c
patching file source/smbd/process.c
patching file source/smbd/reply.c
patching file source/smbd/server.c
patching file source/smbd/service.c
patching file source/utils/smbpasswd.c
patching file source/web/swat.c
samba/002-security.patch
patching file source/include/smb.h
Hunk #1 succeeded at 272 (offset 16 lines).
Hunk #2 succeeded at 1912 (offset 18 lines).
patching file source/include/version.h
patching file source/smbd/filename.c
patching file source/smbd/ipc.c
Hunk #1 succeeded at 3556 (offset 6 lines).
Hunk #2 succeeded at 3578 (offset 6 lines).
Hunk #3 succeeded at 3631 (offset 6 lines).
Hunk #4 succeeded at 3642 (offset 6 lines).
Hunk #5 succeeded at 3667 (offset 6 lines).
Hunk #6 succeeded at 3736 (offset 6 lines).
patching file source/smbd/nttrans.c
patching file source/smbd/password.c
patching file source/smbd/reply.c
patching file source/smbd/trans2.c
samba/003-writex.patch
patching file source/include/smb.h
patching file source/lib/util_sock.c
patching file source/smbd/oplock.c
patching file source/smbd/process.c
patching file source/smbd/reply.c
samba/004-vista.patch
patching file source/smbd/nttrans.c
patching file source/rpc_server/srv_pipe.c
patching file source/smbd/process.c
samba/005-2k3sp1-rpc.patch
patching file source/rpc_parse/parse_rpc.c
samba/006-nt-ioctl.patch
patching file source/smbd/nttrans.c
samba/007-mount.patch
patching file source/client/smbmnt.c
patching file source/client/smbmount.c
patching file source/client/smbumount.c
samba/010-cp1251.patch
patching file source/lib/charcnv.c
samba/011-utf8.patch
patching file source/lib/util_unistr.c
patching file source/lib/kanji.c
patching file source/include/kanji.h
samba/020-gcc34.patch
patching file source/include/proto.h
patching file source/lib/debug.c
samba/100-cifs-flags-compat.patch
patching file source/smbd/nttrans.c
samba/101-clear-client-info.patch
patching file source/smbd/server.c
samba/400-enhanced_attributes.patch
patching file source/smbd/trans2.c
tar -xzvf samba/samba-2.0.10-codepages.tar.gz -C /usr/src/rtn/broadcom/src/gateway/samba-2.0.10
source/
source/codepages/
source/codepages/codepage.866
source/codepages/codepage.850
source/codepages/unicode_map.850
source/codepages/unicode_map.852
source/codepages/codepage.437
source/codepages/unicode_map.437
source/codepages/codepage.852
source/codepages/unicode_map.866
mv /usr/src/rtn/broadcom/src/gateway/samba-2.0.10 /usr/src/rtn/broadcom/src/gateway/samba
tar -xjf bpalogin.tar.bz2 -C /usr/src/rtn/broadcom/src/gateway
[ ! -f bpalogin.patch ] || /usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway/bpalogin bpalogin.patch
tar -xjf jpegsrc.v8b.tar.bz2 -C /usr/src/rtn/broadcom/src/gateway
[ ! -f jpeg-8b.patch ] || /usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway/jpeg-8b jpeg-8b.patch
tar -xjf mjpg-streamer/mjpg-streamer-r103.tar.bz2 -C /usr/src/rtn/broadcom/src/gateway
/usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway/mjpg-streamer mjpg-streamer/000-build.patch mjpg-streamer/001-so-path.patch mjpg-streamer/002-pidfile.patch mjpg-streamer/003-memleaks.patch
Looking for last applied patch
Patching /usr/src/rtn/broadcom/src/gateway/mjpg-streamer with mjpg-streamer/000-build.patch mjpg-streamer/001-so-path.patch mjpg-streamer/002-pidfile.patch mjpg-streamer/003-memleaks.patch
mjpg-streamer/000-build.patch
patching file mjpg-streamer/Makefile
patching file mjpg-streamer/plugins/input_control/Makefile
patching file mjpg-streamer/plugins/input_file/Makefile
patching file mjpg-streamer/plugins/input_gspcav1/Makefile
patching file mjpg-streamer/plugins/input_testpicture/Makefile
patching file mjpg-streamer/plugins/input_uvc/Makefile
patching file mjpg-streamer/plugins/input_uvc/v4l2uvc.h
patching file mjpg-streamer/plugins/output_autofocus/Makefile
patching file mjpg-streamer/plugins/output_file/Makefile
patching file mjpg-streamer/plugins/output_http/httpd.c
patching file mjpg-streamer/plugins/output_http/Makefile
patching file mjpg-streamer/plugins/output_udp/Makefile
patching file mjpg-streamer/plugins/output_viewer/Makefile
patching file uvc-streamer/Makefile
patching file uvc-streamer/v4l2uvc.h
mjpg-streamer/001-so-path.patch
patching file mjpg-streamer/Makefile
patching file mjpg-streamer/mjpg_streamer.c
mjpg-streamer/002-pidfile.patch
patching file mjpg-streamer/mjpg_streamer.c
patching file mjpg-streamer/mjpg_streamer.h
mjpg-streamer/003-memleaks.patch
patching file mjpg-streamer/plugins/input_uvc/v4l2uvc.c
tar -xzf ntfs-3g/ntfs-3g-2011.1.15.tgz -C /usr/src/rtn/broadcom/src/gateway
/usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway/ntfs-3g-2011.1.15
Looking for last applied patch
mv /usr/src/rtn/broadcom/src/gateway/ntfs-3g-2011.1.15 /usr/src/rtn/broadcom/src/gateway/ntfs-3g
[ -d /usr/src/rtn/broadcom/src/gateway/upnp ] || \
tar -xjf upnp.tar.bz2 -C /usr/src/rtn/broadcom/src/gateway
[ ! -f upnp.diff ] || /usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh -Z /usr/src/rtn/broadcom/src/gateway upnp.diff
Looking for last applied patch
upnp.diff already applied
tar -zxf libbcmcrypto-5.20.41.tar.gz -C /usr/src/rtn/broadcom/src/gateway
/usr/src/rtn/broadcom/src/1.9.2.7-rtn/patch.sh /usr/src/rtn/broadcom/src/gateway/libbcmcrypto libbcmcrypto-5.20.41.patch
Looking for last applied patch
Patching /usr/src/rtn/broadcom/src/gateway/libbcmcrypto with libbcmcrypto-5.20.41.patch
libbcmcrypto-5.20.41.patch
patching file Makefile
tar -C /usr/src/rtn/broadcom/src -xjf asustrx.tar.bz2
tar -C . --exclude .svn -cf - dhcpv6 | tar -C /usr/src/rtn/broadcom/src/gateway -xf -
tar: dhcpv6: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
Sources prepared for compilation
Забыли добавить dhcpv6 в репозиторий?
данные системы:
pilson@xen2:/usr/src/rtn/broadcom/src/1.9.2.7-rtn$ uname -a
Linux xen2 2.6.32-5-xen-amd64 #1 SMP Wed Jan 12 05:46:49 UTC 2011 x86_64 GNU/Linux
pilson@xen2:/usr/src/rtn/broadcom/src/1.9.2.7-rtn$ cat /etc/issue.net
Debian GNU/Linux 6.0
P.S. Как в этом форуме прятать текст под спойлер?
P.S.2 Исправил содержание ошибки на первоначальную, до экспериментов.
Пытался собрать rtn прошивку из svn (2585) по гайду, но на пункте 4.1 получаю ошибку:
Я так понимаю это нормально, дальше все в любом случае собирается.
Забыли добавить dhcpv6 в репозиторий?
Забыл убрать после переноса в busybox, поправил в r2586. Спасибо за репорт.
Я так понимаю это нормально, дальше все в любом случае собирается.
да
pilson66
12-02-2011, 08:44
Ага, спасибо, теперь обновил до 2586, доставил несколько пакетов в систему, пошло дальше, до пункта 4.2, собирается...
Также я наблюдаю в п.4.1 много ругани типа
Hunk #3 succeeded at 971 (offset 62 lines).
Hunk #4 succeeded at 1051 (offset 67 lines).
Hunk #5 succeeded at 1090 (offset 15 lines).
Это вроде как и нормально, но его не должно быть.
pilson66
12-02-2011, 09:29
Теперь застрял вот тут:
[ ! -d radvd ] || make -C radvd EXTRACFLAGS="-mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26"
make[1]: Entering directory `/usr/src/rtn/broadcom/src/gateway/radvd'
make all-am
make[2]: Entering directory `/usr/src/rtn/broadcom/src/gateway/radvd'
/bin/bash ./ylwrap scanner.l .c scanner.c -- /bin/bash /usr/src/rtn/broadcom/src/gateway/radvd/missing --run flex
make[2]: *** [scanner.c] Error 1
make[2]: Leaving directory `/usr/src/rtn/broadcom/src/gateway/radvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/rtn/broadcom/src/gateway/radvd'
make: *** [radvd] Error 2
Перед этим ругалось что отсутствует flex - установил.
Hunk #4 succeeded at 1051 (offset 67 lines).
Hunk #5 succeeded at 1090 (offset 15 lines).[/code]
Это вроде как и нормально, но его не должно быть.
Патчи создавались для более ранних версий файлов, потому это нормально.
pilson66
12-02-2011, 15:51
Вобщем что я хочу сказать.
На x86_64 операционке прошивка собираться отказалась
На x86 - собралась без проблем.
На x86_64 операционке прошивка собираться отказалась
У меня OpenSUSE 11.3 x86_64 - собирается как-то :p
theMIROn
12-02-2011, 20:01
Вобщем что я хочу сказать.
На x86_64 операционке прошивка собираться отказалась
На x86 - собралась без проблем.
постарайтесь сделать как все, выкинуть make 3.82 :)
pilson66
12-02-2011, 20:24
да как бы не 3.82 совсем...
pilson@xen2:~$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
theMIROn
12-02-2011, 20:28
ок. у меня и леонида собирается, только что проверил.
ок. у меня и леонида собирается, только что проверил.
У меня make 3.81, даже по-моему не первый раз в форуме об этом пишу ;)
pilson66
12-02-2011, 21:25
ок. у меня и леонида собирается, только что проверил.
Хм...
Пересоздал заново - все собралось нормально. Мистика...
FilimoniC
14-02-2011, 19:44
Прошу помощи. не собирается
HN root@KAORI> svn up
At revision 2601.
......
HN root@KAORI> make
grep: /opt/wl500g-f/broadcom/src/linux/linux-2.6/include/linux/utsrelease.h: No such file or directory
[ ! -d libbcmcrypto ] || make -C libbcmcrypto EXTRACFLAGS="-mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26"
find: `/opt/wl500g-f/broadcom/src/gateway/mipsel-uclibc/target'/bin/sh: file: not found
: No such file or directory
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libbcmcrypto'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libbcmcrypto'
make -C libusb10
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
make all-recursive
make[2]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
Making all in libusb
make[3]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libusb10/libusb'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libusb10/libusb'
Making all in doc
make[3]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libusb10/doc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libusb10/doc'
make[3]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
make[2]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/libusb10'
make -C /opt/wl500g-f/broadcom/src/linux/linux-2.6 include/linux/version.h
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/linux/linux-2.6.22.19'
CHK include/linux/version.h
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/linux/linux-2.6.22.19'
make -C /opt/wl500g-f/broadcom/src/linux/linux-2.6 include/linux/autoconf.h
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/linux/linux-2.6.22.19'
make[1]: Nothing to be done for `include/linux/autoconf.h'.
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/linux/linux-2.6.22.19'
make -C iptables BINDIR=/usr/sbin LIBDIR=/usr/lib KERNEL_DIR=/opt/wl500g-f/broadcom/src/linux/linux-2.6 COPT_FLAGS="-Os -mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26" EXTRA_LDFLAGS="-Wl,-rpath /lib" DO_MULTI=1
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/iptables'
make[1]: Nothing to be done for `default'.
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/iptables'
[ ! -d netconf ] || make -C netconf EXTRACFLAGS="-mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26"
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/netconf'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/netconf'
[ ! -d shared ] || make -C shared EXTRACFLAGS="-mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26"
make[1]: Entering directory `/opt/wl500g-f/broadcom/src/gateway/shared'
mipsel-uclibc-gcc -I. -I/opt/wl500g-f/broadcom/src/include -I../httpd -Wall -mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 -DLINUX26 -fPIC -s -O2 -c -o nvparse.o nvparse.c
nvparse.c:32:23: error: bcmconfig.h: No such file or directory
make[1]: *** [nvparse.o] Error 1
make[1]: Leaving directory `/opt/wl500g-f/broadcom/src/gateway/shared'
make: *** [shared] Error 2
theMIROn
14-02-2011, 20:00
Прошу помощи. не собирается
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
FilimoniC
14-02-2011, 20:44
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
вот эта строка смущает...
grep: /opt/wl500-f/broadcom/src/linux/linux-2.6/include/linux/utsrelease.h: No such file or directory
можно ли создать смесь оригинальной прошивки и прошивки от Олега?
что для этого потребуется и пинок в нужную сторону)
можно ли создать смесь оригинальной прошивки и прошивки от Олега?
что для этого потребуется и пинок в нужную сторону)
Если кто-нибудь ещё не в курсе, все асусовские прошивки уже были ранее доработаны Олегом для адаптации под российских ISP ... ;)
И пинки нужно адресовать только Асусу для скорейшего внесения в свои поделки всех новых фич прошивок Олега и энтузиастов ... :D
З.Ы. Кстати, в наших нетбайнетах эти прошивки работают отлично, в отличии от всяких корбилайнов и прочих остальных онлаймов ... :cool:
theMIROn
16-02-2011, 01:02
Если кто-нибудь ещё не в курсе, все асусовские прошивки уже были ранее доработаны Олегом для адаптации под российских ISP ... ;)
к сожалению требования и закидоны ISP периодически меняются
И пинки нужно адресовать только Асусу для скорейшего внесения в свои поделки всех новых фич прошивок Олега и энтузиастов ... :D
судя по бетам процессы в эту сторону и идут :)
Свежий 2709:
./523-mcast1-common-code.patch
Can not apply ./523-mcast1-common-code.patch cleanly
make[1]: *** [patch] Ошибка 1
make[1]: Leaving directory `/asus/firmwarertn/1.9.2.7-rtn/kernel-2.6'
make: *** [kernel-patch] Ошибка 2
Дальше как снежный ком:
grep: /asus/firmwarertn/linux/linux-2.6/include/linux/utsrelease.h: No such file or directory
cp: cannot stat `/asus/firmwarertn/linux/linux-2.6/arch/mips/defconfig-bcm947xx': No such file or directory
и т.д.
Мои кривые руки?
[root@localhost asus]# patch -v
patch 2.5.4
[root@localhost asus]# make -v
GNU Make 3.81
[root@localhost asus]# gcc -v
Используются внутренние спецификации.
Целевая архитектура: i386-redhat-linux
Параметры конфигурации: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Модель многопотоковости: posix
gcc версия 4.1.2 20080704 (Red Hat 4.1.2-48)
Собиралось скриптом от WPtE :)
theMIROn
01-03-2011, 10:16
patch 2.5.4
у меня 2.5.9, накладывается ок.
у меня 2.5.9, накладывается ок.
$ patch -v
patch 2.6
Успешно собралось, спасибо.
dmolokanov
03-03-2011, 06:36
Есть задача: собрать из исходников прошивку от энтузиастов с ядром 2.6.х для роутера asus wl500gp v2.
Руководствовался вот этим мануалом: http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
Сама сборка проходит нормально. А после перепрошивки роутер не подает признаков жизни. В чем может быть проблема?
FilimoniC
03-03-2011, 07:09
Есть задача: собрать из исходников прошивку от энтузиастов с ядром 2.6.х для роутера asus wl500gp v2.
Руководствовался вот этим мануалом: http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware
Сама сборка проходит нормально. А после перепрошивки роутер не подает признаков жизни. В чем может быть проблема?
Собрали не под тот роутер?
dmolokanov
03-03-2011, 07:15
Все может быть. А как выбрать модель роутера при сборке? в мануале этого нет.
vladislav152
03-03-2011, 07:19
Столкнулся вчера с такой же проблемой. И тоже пришел к выводу, что собирается не под тот роутер. Но нигде не найду как выбрать целевую платформу. Пробовал сборку разными toolchain. Но роутер все равно мигает лампочкой питания после прошивки.
ryzhov_al
03-03-2011, 07:21
Собрали не под тот роутер?
Во-первых, после сборки прошивки она в названии будет содержать в названии файла модель роутера, во-вторых файл прошивки имеет сигнатуру модели роутера, которая проверяется на валидность после загрузки прошивки в web-интерфейсе.
$ tail --bytes=160 /tmp/harddisk/downloads/completed/RT-N16-1.9.2.7-rtn-r2722.trx
RT-N16
Столкнулся вчера с такой же проблемой. И тоже пришел к выводу, что собирается не под тот роутер. Но нигде не найду как выбрать целевую платформу. Пробовал сборку разными toolchain. Но роутер все равно мигает лампочкой питания после прошивки.
Во вчерашней ревизии r2719 ветки RTN была проблема с iptables. В r2722 уже всё работает, проверено с последним тулчейном hndtools-mipsel-uclibc-4.3.5-K26-2.tar.bz2.
dmolokanov
03-03-2011, 07:24
вот результат выполнения команды:
tail --bytes=160 WL500gpv2-1.9.2.7-rtn-r2707.trx
WL500gpv2
ryzhov_al
03-03-2011, 07:28
Все может быть. А как выбрать модель роутера при сборке? в мануале этого нет.
Неправда. п.4.2 (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware).
dmolokanov
03-03-2011, 07:33
Неправда. п.4.2 (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware).
И все? только так можно выбрать платформу? если да, то я так и сделал, но роутер не заводится(
ryzhov_al
03-03-2011, 07:43
И все? только так можно выбрать платформу? если да, то я так и сделал, но роутер не заводится(
Чтож, если у вас действительно wl500gp v2, а не D-Link DIR-320 с куцым флешем, то давайте дождёмся комментариев авторов прошивки.
Пока предлагаю освоить заход режим восстановления.
Вопрос неоднократно уже обсасывался в форуме, зачем было заводить отдельную тему мне непонятно.
Резюме: ядро должно быть MIPS32R1, а автоматизация в Makefile зачастую пока хромает.
dmolokanov
03-03-2011, 08:33
Вопрос неоднократно уже обсасывался в форуме, зачем было заводить отдельную тему мне непонятно.
Резюме: ядро должно быть MIPS32R1, а автоматизация в Makefile зачастую пока хромает.
А в каком файле надо указать MIPS32R1?
AndreyUA
03-03-2011, 10:08
А в каком файле надо указать MIPS32R1?
make menuconfig
и где-то там :)
ryzhov_al
03-03-2011, 10:52
make menuconfig
и где-то там :)
В ./broadcom/src/linux/linux-2.6 ^)
Между п.4.1 и п.4.2 по инструкции (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware). В менюшке make menuconfig это "CPU Selection".