давайте я на sf.net заведу местечко для выкладывания релизов и патчей и репозитарий, а то потом концов не найти бедет.
Printable View
давайте я на sf.net заведу местечко для выкладывания релизов и патчей и репозитарий, а то потом концов не найти бедет.
Я уже об этом думал, да и логин у меня самого есть на sf.net. Ждал еще мнения Олега, так как лидер и основатель всей прошивки то он, без него очень тяжко. Я сделал большой кусок черновой работы по миграции на новое ядро/тулчейн, а на будущее с удовольствием оставил бы себе какую-то часть, а вот ведение и координацию всего проекта сдал обратно Олегу... как изначально весной с ним и договаривались. Но пауза затянулась :(
по редиректу: в данном случае он больше вреден, т.к:
1. можно легко украсть пароль, при редиректе на внешний адрес (т.е сервер не проверяется, соответственно уязвимость)
2. сервер zoneedit отвечает редиректом как временной мерой для старых клиентов, не знающих корректный адрес, т.е это не стандартное поведение, как если бы сервер редиректил на страницы ошибок
3. код крив бо используется goto для уменьшения объема изменений, лучше бы рекурсию, но оно тут не нужно
4. патч никогда не войдет в оффсорц и пакеты для других дистрибутивов, т.к задача решается изменением конфигурационного файла, поддерживать этот функционал никто не собирается
5. возможность соверрайдить дефолтные настройки ez-ipupdate с помощью конффайла уже есть в гораздо более понятном и изящном виде :)
убедил?
p.s можно перевыложить прошивку в скомпилированном виде с последними патчами, хочу заюзать, а в виртуалке тупо места нет для распаковки сорцов и всего прочего
p.p.s работоспособность установленных пакетов сохранится? gcc 4.1.1, uClibc 28я
Если сервер взломан, то что стоит подменить оригинальную страничку не парясь с редиректом?
Ну не настолько уж и крив, ты себе льстишь :rolleyes:Quote:
3. код крив бо используется goto для уменьшения объема изменений, лучше бы рекурсию, но оно тут не нужно
Проект похоже вообще заморожен :(Quote:
4. патч никогда не войдет в оффсорц и пакеты для других дистрибутивов, т.к задача решается изменением конфигурационного файла, поддерживать этот функционал никто не собирается
Почти, сделаю через #ifdef по умолчанию в 0Quote:
5. возможность соверрайдить дефолтные настройки ez-ipupdate с помощью конффайла уже есть в гораздо более понятном и изящном виде :)
убедил?
Вечером выложу. Места в виртуалке мне на работе хватает 5Gb с лихвой.Quote:
p.s можно перевыложить прошивку в скомпилированном виде с последними патчами, хочу заюзать, а в виртуалке тупо места нет для распаковки сорцов и всего прочего
p.p.s работоспособность установленных пакетов сохранится? gcc 4.1.1, uClibc 28я
gcc тут вообще ни при делах. Если пакет использует uClibc из /opt - тогда вообще не о чем заботится, иначе возможны ньюансы, например, как с vsftpd.
добавлено:
Выложил исходники и бинарники.
нашел микробаг на этапе компиляции:
в файле Makefile.diff [строки 334-335]
так не работает:
зато работает по старому (так было в 10й версии):PHP Code:
+<----->$(MAKE) -C $(LINUXDIR)/scripts/squashfs mksquashfs-lzma \
+<-----><------>LZMAPATH=$(SRCBASE)/lzma/SRC/7zip/Compress/LZMA_Lib CC=$(HOSTCC) CXX=$(HOSTCC)
lzma и mksquash-lzma должны компилиться похоже с помощью g++, а не gccPHP Code:
+<----->$(MAKE) -C $(LINUXDIR)/scripts/squashfs mksquashfs-lzma \
+<-----><------>LZMAPATH=$(SRCBASE)/lzma/SRC/7zip/Compress/LZMA_Lib CC=gcc CXX=g++
Второй даже не микро, а скорее нанобаг --- известен давно, тем не менее. Перед началом полной компиляции прошивки необходимо удалить директорию src/lzma
Иначе, make lzma придется делать вручную, причем предварительно все равно удалив директорию src/lzma. При наличии этой директории никаких действий при этом не выполняется. Почему --- х.з.
А версия gcc? У меня сработало на 4.3.2, но всё равно еще раз гляну - спасибо
глянул: lzma создается только при make kernel. Зависимость очень простая - наличие каталога src/lzma. В каких случаях у тебя проявляется сбой? У меня было только один раз, когда сапгрейдил SuSeQuote:
Второй даже не микро, а скорее нанобаг --- известен давно, тем не менее. Перед началом полной компиляции прошивки необходимо удалить директорию src/lzma
Иначе, make lzma придется делать вручную, причем предварительно все равно удалив директорию src/lzma. При наличии этой директории никаких действий при этом не выполняется. Почему --- х.з.
Пошагово не расскажу - это тема отдельной статьи. Вкратце: нужен линукс, взять тулчейн из первого поста данной темы, развернуть в /opt/brcm/ , прописать путь /opt/brcm/hndtools-mipsel-uclibc-4.1.2/bin
компилятор зовется mipsel-uclibc-gcc
взять исходники aria2c, прочитать README, скорее всего там есть стандартный configure, тогда
и должно собраться.Code:./configure --host=mipsel-linux --prefix=/opt
make
P.S. aria2c - это http://sourceforge.net/projects/aria2/ ?
Просьба к владельцам wl-500gp V2 - пришлите кто-нибудь результат вывода следующих команд:
А то что-то в инете вывешены противоречивые данные :confused:PHP Code:
nvram get boardtype
nvram get boardnum
nvram get boardrev
nvram get boardtype
0x48E
nvram get boardnum
45
nvram get boardrev
0x10
Выходит, что для 500GPV2/520GU/520GC невозможно определить по этим значениям модель, т.к. они одинаковые...
В исходниках 520gc последней официальной прошивки, в rc.c, выкрутились по-другому
Code:/* predefined config for WL520gu, WL520gc -- check boardtype for others */
/* there is no easy way to do LANx to real port number mapping, so we use array */
if (nvram_match("boardtype", "0x48E") && (nvram_match("boardnum", "45")))
{
/* why don't you use different boardnum??? */
if (nvram_match("productid","WL500gpv2"))
{
Все будет хорошо, выкрутимся. Устройства можно идентифиицировать и по объему инициализируемой оперативной памяти(параметр sdram_init). Например для Dlink DIR-320 это выглядело бы так:
3074 if (nvram_match ("boardtype", "0x048e") && !nvram_match("boardrev", "0x35") && !nvram_match("sdram_init", "0x000b"))
Значения удаленно проверил на роутере Dlink DIR-320 зятя.
:rolleyes:
Я сегодня закончил краткую инструкцию о том как организовать линуксовое окружение для сборки пакетов и компиляции прошивки под windows, может кому пригодится...
http://code.google.com/p/wl500g/wiki/colinux