Page 2 of 93 FirstFirst 12341252 ... LastLast
Results 16 to 30 of 1392

Thread: Entware - новый репозиторий для роутеров Asus (MIPS)

  1. #16
    Quote Originally Posted by ryzhov_al View Post
    подменить в структуре сборки optware тулчейн uclibc+gcc, приживив тулчейн энтузиастов. При этом не придётся править никакие пути, всё останется в директории /opt.
    C моей колокольни принципиальных проблем тут не видно.
    Quote Originally Posted by ryzhov_al View Post
    ...чуть более, чем дофига.
    IMHO - это специфика пакетов openwrt - подробить все на мелкие части, выкинуть man'ы и т.п., уменьшить размер - насколько возможно, чтобы поместить в "overlay"=jffs2.

  2. #17
    Quote Originally Posted by ryzhov_al View Post
    ...чуть более, чем дофига.
    Quote Originally Posted by Zyxmon View Post
    IMHO - это специфика пакетов openwrt - подробить все на мелкие части, выкинуть man'ы и т.п., уменьшить размер - насколько возможно, чтобы поместить в "overlay"=jffs2.
    Ну ладно, вернёмся к optware:
    Code:
    $ wget -q http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.gz
    $ zcat ./Packages.gz | grep "^Package:" | wc -l
    1251
    То есть чуть менее, чем дофига в отличие от предыдущего случая. Всё равно я не готов клепать патчи к каждой софтине.
    Last edited by ryzhov_al; 03-10-2011 at 20:19.

  3. #18
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Если будет автоматический инструмент - место и его работу обеспечу, но сервак на Debian 5.0 со всеми вытекающими, переставлять немного проблематично.
    Канал сотня дуплекс. Гигов 50 RAID1 найдется.
    Посильную помощь в рамках способностей окажу, но не всегда есть время.
    Last edited by vectorm; 03-10-2011 at 20:34.

  4. #19
    Quote Originally Posted by ryzhov_al View Post
    ...То есть чуть менее, чем дофига в отличие от предыдущего случая. Всё равно я не готов клепать патчи к каждой софтине.
    Может быть я не врубился, влез посередине разговора вечером. ИМХО патчить нужно будет гораздо меньше, чем при том подходе, что у меня.

    Я не стал собирать optware пакеты для кинетика по простой причине - отсутствовала папка /opt в rootfs. Перепаковать прошивку (с /opt) труда не составляло. Но т.к. разработчики от zyxel наотрез отказались добавлять /opt - забил. Сейчас уже привык к openwrt пакетам, как правило сделать патч труда не составляет. Sorry за небольшой offtopic.

  5. #20
    Quote Originally Posted by ryzhov_al View Post
    В первом приближении мне видятся два варианта:
    1. подменить в структуре сборки optware тулчейн uclibc+gcc, приживив тулчейн энтузиастов. При этом не придётся править никакие пути, всё останется в директории /opt.
    2. упросить создателей прошивки сделать корневую папку файловой системы (упрощаю) доступной на запись. Что позволит использовать сторонние mipsel-репозитории.

    Оба варианта не требуют написания патчей к каждому из пакетов. В OpenWRT тех пакетов, напомню...
    Code:
    $ wget -q http://downloads.openwrt.org/backfire/10.03/brcm47xx/packages/Packages.gz
    $ zcat ./Packages.gz | grep "^Package:" | wc -l
    2377
    ...чуть более, чем дофига.

    Хочу также заметить, что второй вариант мне видится не менее интересным, чем первый. Не нужно будет городить свой репозиторий, необходимо лишь грамотно подключить сторонний. Вон, тов.linvinus эксплуатирует полноценный Debian на RT-N16 и обновляется по apt-get upgrade. Я приглашу его к нашему обсуждению для того, чтобы он выразил своё мнение по поводу эксплуатации Debian на роутере. Переходом на большой Debian мы бы убили двух зайцев: старого - в лице optware, и кастрированного - в лице uClibc. На вскидку в Debian@RT-N16 видятся три проблемы:
    • полновесного libc, стиснённого окружением mipsel @400MHz/128Mb RAM,
    • общепринятых имён сетевых интерфейсов и других моментов, принятых по умолчанию в Debian.
    • использования debian-софтом возможностей, появившихся в ядрах позже 2.6.22.19.
    Всем привет!
    Я не совсем понимаю чего вы хотите достичь?
    У вас хороший роутер с хорошей веб мордой, и он как законченное устройство отлично работает.
    Главное ваше преимущество в том что у вас официальные драйвера от броадкома. И решены основные недочёты официальной прошивки.

    Внедрить в него ещё и возможность ставить пакеты это конечно здорово, но тогда вам нужно будет тянуть на себе все проблемы связанные с портированием.
    Есть ли среди вас всемогущий Патрик? И на кого тогда будет рассчитан дистрибутив?

    К тому же Openwrt уже поддерживает rt-n16. патчи и образы тут http://www.znau.edu.ua/temp/asus-rt-n16/

    Если ставить дебиан, то это уже не домашний роутер, а полноценный сервер, со всеми вытекающими. Т.е. для его использования нужна соответствующая квалификация, или как минимум большое желание ковыряться в коммандной строке.

    Если брать второй вариант то всё уже сделано см проект http://www.debwrt.net/

    Если идти с другой стороны, как шёл я. У меня был роутер и мне нужно было иметь возможность настроить на нём дополнительные сервисы.
    1. я упёрся в виртуальные директории и извращения с /tmp/etc и т.п.
    2. отсутствие готовых пакетов.

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

    Со вторым сложнее, т.к. проблемы в кострированной libc и возможности заменить её нет т.к. закрытые бинарники от броадкома скомпилены под неё.
    Я по началу изворачивался с LD_PRELOAD, но упёрся в iptables которая не поддерживала необходимые команды, в результате shorewall падал через раз при старте.

    Самый простой вариант, как мне кажется, просто добавить возможность запуска init с chroot в котором уже либо debian либо openwrt
    Только если пользователь захочет переконфигурировать robo-switch то ваша веб морда нормально работать не сможет, поэтому лучше в неё встроить максимум возможностей по конфигурированию сети, чтобы не делать этого из chroot.
    И добавить возможность выключить все сервисы типа dnsmaq и pppt.
    В остальном проблем быть не должно.
    Last edited by linvinus; 04-10-2011 at 09:04.
    wl500w 300MHz/128Mb спасибо Олегу за инструкцию и Danya0w за перепайку.
    RT-N16 - debian Squeeze/2.6.37->wheezy/3.8.13 (теперь bgmac работает стабильно)

  6. #21
    Спасибо, что присоединились к нам.
    Quote Originally Posted by linvinus View Post
    Я не совсем понимаю чего вы хотите достичь?
    У вас хороший роутер с хорошей веб мордой, и он как законченное устройство отлично работает.
    ...с репозиторием Optware, который постепенно теряет актуальность, так как завязан на gcc 4.1.1 + uClibc 0.9.28 и рассчитан на работу с kernel 2.4, поэтому...
    Quote Originally Posted by linvinus View Post
    Главное ваше преимущество в том что у вас официальные драйвера от броадкома. И решены основные недочёты официальной прошивки.
    ...стоит задача при сохранении этих преимуществ обеспечить возможность пользования более современным софтом в лице:
    1. либо обновлёного репозитория optware, пересобранного с помощью актуального тулчейна,
    2. либо готового стороннего репозитория, рассчитанного на современную uClibc и kernel 2.6.
    Прошивку модифицировать не планируется: она продолжает со своим функционалом жить своей жизнью, а софт стороннего репозитория - своей. Другими словами, речь идёт о подключении внешнего репозитория. Ровно так же, как сейчас используется optware.
    Quote Originally Posted by linvinus View Post
    Внедрить в него ещё и возможность ставить пакеты это конечно здорово, но тогда вам нужно будет тянуть на себе все проблемы связанные с портированием.
    Есть ли среди вас всемогущий Патрик? И на кого тогда будет рассчитан дистрибутив?
    В связи с тем, что Всемогущий Патрик в последнее время разленился и не хочет становиться мейнтейнером собственного обновлёного репозитория optware (вариант a), то нами рассматривается возможность подключения готовых существующих репозиториев. Выбор среди которых, кстати, тоже не велик:
    1. OpenWRT. Рассчитан на большой класс устройств и тоже имеет своё собственное наследие. В нём, кстати, версии libtorrent\rtorrrent также не актуальны, как и в репо Optware.
    2. Репозиторий Debian. Актуальный и богатый, но, как подсказывают коллеги, полнокровный libC на embedded-устройствах выглядит громоздким.

    Quote Originally Posted by linvinus View Post
    Если брать второй вариант то всё уже сделано см проект http://www.debwrt.net/
    Спасибо за ссылку. Как раз там можно будет почерпнуть материал о приживлении репозитория debian к ядру openwrt.

    Наш разговор возник на почве вечного стремления к перфекционизму. Вроде бы можно жить дальше с устаревшим репозиторием и тулчейном Optware, но при компиляции устаёшь натыкаться на отсутствие реализации epoll, posix_memalign\posix_fallocate и других механизмов.

  7. #22
    IMHO Следует сначала определить, куда (в какие папки) устанавливаются дополнительные пакеты-приложения.
    1. Есть optware - все ставится в /opt (симлинк или подмонтировано mount -o bind). Приложения ищут shared libraries прежде всего с помощью пробитого внутрь rpath.
    2. Есть openwrt - предполагает или загрузку с usb и стандартные пути установки, или установку в overlay. Это не подходит.

    C п.1 все в целом понятно. В варианте п.2 т.к. rootfs readonly ("Нет, это неприемлемый вариант. рут - только RO" (C) lly) нужно часто патчить исходники. (В optware это уже сделано, если было нужно).

    Вот и нужно сначала определить - что из этого более приемлемо.

    PS Проект http://www.debwrt.net/ подробно не смотрел, не скажу.

  8. #23
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by Zyxmon View Post
    C п.1 все в целом понятно. В варианте п.2 т.к. rootfs readonly нужно часто патчить исходники. (В optware это уже сделано, если было нужно).
    Если есть нормальный configure или параметры в Makefile, то ставится --prefix=/opt и ничего патчить не нужно. /tmp и /var естественно RW.

  9. #24
    Quote Originally Posted by lly View Post
    Если есть нормальный configure или параметры в Makefile, то ставится --prefix=/opt и ничего патчить не нужно. /tmp и /var естественно RW.
    К сожалению --prefix в configure не всегда достаточно. Хорошо бы еще и /etc RW

  10. #25
    Понятно, тогда вам нужно пересобрать все пакеты как они были только с новым тулчейном, и со всеми костылями которые были раньше.

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

    Лучше всего сосредоточить силу на тулчейне по аналогии с openwrt чтобы можно было легко добавлять пакеты для сборки.

    Фактически вам нужно портировать вашу сборку под опенврт, т.е. ваш собственный target, и собственный toolchain , а затем портировать пакеты которые будут зависеть от этого тулчейна.
    Ничего сложно в этом нет.

    По сути openwrt это очень гибкий набор правил и make-файлов для сборки.
    wl500w 300MHz/128Mb спасибо Олегу за инструкцию и Danya0w за перепайку.
    RT-N16 - debian Squeeze/2.6.37->wheezy/3.8.13 (теперь bgmac работает стабильно)

  11. #26
    Quote Originally Posted by Zyxmon View Post
    IMHO Следует сначала определить, куда (в какие папки) устанавливаются дополнительные пакеты-приложения.
    Определили ранее. Это частности.

  12. #27
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by Zyxmon View Post
    К сожалению --prefix в configure не всегда достаточно. Хорошо бы еще и /etc RW
    Извиняюсь, не подумал что может быть иначе У прошивок Олега и производных /etc это симлинк на /tmp/etc (ramfs, tmpfs) заполняемый при старте из rootfs, nvram и/или flashfs (.tar.gz архив в отдельном разделе mtd)

    Quote Originally Posted by ryzhov_al View Post
    Определили ранее. Это частности.
    Если мы замахиваемся на замену ВСЕГО Optware, то я не вижу смысла держать одновременно и старый и новый варианты. Мы меняем ссылки в ipkg.conf с nslu2-linux на новый репозитарий и юзаем /opt/lib безо всяких гвоздей.

  13. #28
    Quote Originally Posted by linvinus View Post
    Понятно, тогда вам нужно пересобрать все пакеты как они были только с новым тулчейном, и со всеми костылями которые были раньше.
    Верно!
    Quote Originally Posted by linvinus View Post
    Фактически вам нужно портировать вашу сборку под опенврт, т.е. ваш собственный target, и собственный toolchain , а затем портировать пакеты которые будут зависеть от этого тулчейна.
    Угу. Или использовать тулчейн энтузиастов со скриптами\makefile'ами OpenWRT.
    Quote Originally Posted by linvinus View Post
    Ничего сложно в этом нет.
    На мой взгляд ключевой проблемой будет поиск Всемогущего Патрика, который будет неустанно поддерживать новый target в актуальном состоянии. В отличие от разовой работы по организации target'а.

    Только есть одна засада: несмотря на привлекательный актуальный тулчейн OpenWRT, у них по умолчанию принято другое расположение файлов (/etc, /usr), которое не совместимо с энтузиасткой прошивкой. Выходит, что новым target'ом не обойтись.

    В свете этого наиболее жизнеспособным видится путь: тулчейн энтузиастов + скрипты\makefile'ы OpenWRT. Причём придётся написать средство для трансляции обновлений, приходящих в OpenWRT для своего репозитория.
    Last edited by ryzhov_al; 04-10-2011 at 11:30.

  14. #29
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by ryzhov_al View Post
    На мой взгляд ключевой проблемой будет поиск Всемогущего Патрика, который будет неустанно поддерживать новый target в актуальном состоянии. В отличие от разовой работы по организации target'а.
    Самая сложная работа здесь будет - это организация доступа доверенным лицам на обновление репозитария и внедрение хоть какого-нибудь сертификата для проверки целостности, чтобы не вышло как с kernel.org.

    А об остальном не стоит особо беспокоится - мы поддерживаем свой тулчейн в живом состоянии, а если автор оригинального пакета его сломает, то самым правильным будет откатиться, т.к. всё чинить своими силами нереально.

  15. #30
    Quote Originally Posted by lly View Post
    Извиняюсь, не подумал что может быть иначе У прошивок Олега и производных /etc это симлинк на /tmp/etc (ramfs, tmpfs) заполняемый при старте из rootfs, nvram и/или flashfs (.tar.gz архив в отдельном разделе mtd)
    Беглый поиск по папке sources (в optware) показывает, что на все пакеты около 100 патчей, которые меняют, например, /etc на /opt/etc или "/var/lib/vnstat" на "/opt/var/lib/vnstat" (расположение базы vnstat) и т.п.. Это очень мало на фоне общего числа пакетов. Но вот автоматически транслировать для таких приложений обновления может быть проблематичным.

    По поводу скриптов openwrt:
    Для смены prefix при вызове configure следует отредактировать
    скрипт include/package-defaults.mk, изменить в нем CONFIGURE_PREFIX и подправить CONFIGURE_ARGS. Возможно, следует добавить rpath к переменной CONFIGURE_VARS (LDFLAGS). Внешний тулчейн прикручивается к openwrt через make menuconfig. Часть пакетов openwrt после таких простейших правок соберутся корректно.
    Last edited by Omega; 11-09-2016 at 21:53.

Page 2 of 93 FirstFirst 12341252 ... LastLast

Similar Threads

  1. Replies: 85
    Last Post: 29-01-2019, 08:11
  2. Новый роутер Asus RT-N12 B1/C1/D1/HP/VP
    By Omega in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 148
    Last Post: 03-05-2015, 15:29
  3. Entware MIPS/ARM
    By Omega in forum German Discussion - Deutsch (DE)
    Replies: 3
    Last Post: 31-03-2015, 19:28
  4. Entware MIPS/ARM
    By Omega in forum English Discussion
    Replies: 0
    Last Post: 06-03-2015, 00:42
  5. Есть ли место в репозитории EntWare категории Games ?
    By MercuryV in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 53
    Last Post: 24-11-2014, 01:23

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •