Page 1 of 2 12 LastLast
Results 1 to 15 of 31

Thread: OpenWRT (Buildroot & FPU)

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Post OpenWRT (Buildroot & FPU)

    lly, theMIROn, несмотря на то, что ваш тулчейн сконфигурирован с UCLIBC_HAS_FLOATS=y, у меня с ним не собирается zlib.so при использовании CFLAGS="... -msoft-float":
    Code:
    (cd /media/openwrt/trunk/build_dir/target-mipsel-unknown-linux-gnu/zlib-1.2.5; AR=mipsel-uclibc-ar AS="mipsel-uclibc-gcc -c -Os -pipe -mips32 -mtune=mips32 -fno-caller-saves -fhonour-copts -msoft-float" LD=mipsel-uclibc-ld NM=mipsel-uclibc-nm CC="mipsel-uclibc-gcc" GCC="mipsel-uclibc-gcc" CXX="mipsel-uclibc-g++" RANLIB=mipsel-uclibc-ranlib STRIP=mipsel-uclibc-strip OBJCOPY=mipsel-uclibc-objcopy OBJDUMP=mipsel-uclibc-objdump SIZE=mipsel-uclibc-size LDSHARED="mipsel-uclibc-gcc -shared -Wl,-soname,libz.so.1" CFLAGS="-Os -pipe -mips32 -mtune=mips32 -fno-caller-saves -fhonour-copts -msoft-float -fpic -fhonour-copts" ./configure --prefix=/usr --shared --uname=Linux );
    Checking for shared library support...
    Tested mipsel-uclibc-gcc -w -c -Os -pipe -mips32 -mtune=mips32 -fno-caller-saves -fhonour-copts -msoft-float -fpic -fhonour-copts -fPIC ztest17214.c
    Tested mipsel-uclibc-gcc -shared -Wl,-soname,libz.so.1 -Os -pipe -mips32 -mtune=mips32 -fno-caller-saves -fhonour-copts -msoft-float -fpic -fhonour-copts -fPIC -o ztest17214.so ztest17214.o
    /opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-linux-uclibc-ld: Warning: ztest17214.so uses hard float, ztest17214.o uses soft float
    No shared library support; try without defining CC and CFLAGS
    Почему? У нас в тулчейне всё же используется hard float и мне необходимо подкрутить OpenWRT Buildroot для того, чтобы исключить ключ -msoft-float из CFLAGS?

  2. #2
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by ryzhov_al View Post
    lly, theMIROn, несмотря на то, что ваш тулчейн сконфигурирован с UCLIBC_HAS_FLOATS=y, у меня с ним не собирается zlib.so при использовании CFLAGS="... -msoft-float":
    А откуда ты вытащил "-msoft-float"? Я его не вижу в zlib/Makefile, значит в .config SOFT_FLOAT=y ?
    "-msoft-float" имеет смысл только в случае отсутствия FPU, FPU-эмулятора в ядре и наличия хорошей математической библиотеки. А у нас эмулятор в ядре.

  3. #3
    Quote Originally Posted by lly View Post
    А откуда ты вытащил "-msoft-float"?
    OpenWRT buildroot подарил, в дефолтной конфигурации. Напомню, что я пересобираю им пакеты.
    ОК, я уберу soft float. Посмотри, пожалуйста, на другие ключи в составе CFLAGS постом выше. Всё ли в порядке?

  4. #4
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by ryzhov_al View Post
    OpenWRT buildroot подарил, в дефолтной конфигурации.
    Придётся поднастроить...
    Посмотри, пожалуйста, на другие ключи в составе CFLAGS постом выше. Всё ли в порядке?
    1. зачем-то два раза пробилось -fhonour-copts, но это косметика
    2. я бы очень внимательно посмотрел зачем добавили -fno-caller-saves , обычно эта опция не нужна. Cпецифично для zlib?

  5. #5
    Quote Originally Posted by lly View Post
    Придётся поднастроить...

    1. зачем-то два раза пробилось -fhonour-copts, но это косметика
    Мой косяк.
    Quote Originally Posted by lly View Post
    1. я бы очень внимательно посмотрел зачем добавили -fno-caller-saves , обычно эта опция не нужна. Cпецифично для zlib?
    Нет. Тоже OpenWRT Buildroot подарил, в CONFIG_TARGET_OPTIMIZATION. Убрал.
    Last edited by ryzhov_al; 07-11-2011 at 06:36.

  6. #6
    Quote Originally Posted by lly View Post
    А откуда ты вытащил "-msoft-float"? Я его не вижу в zlib/Makefile, значит в .config SOFT_FLOAT=y ?
    "-msoft-float" имеет смысл только в случае отсутствия FPU, FPU-эмулятора в ядре и наличия хорошей математической библиотеки. А у нас эмулятор в ядре.
    Странно как-то. В моём TP-Link TL-MR3020 полноценный FPU есть, но при сборки софта OpenWRT'шники всё равно используют soft float. Почему?
    • kernel 3.3.8,
    • gcc 4.6.3,
    • uClibc 0.9.33.2.

    Или тулчейн сам перенаправляет float point операции в FPU блок? В составе тулчейна libm есть, в составе /lib/* на устройстве тоже.

  7. #7
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by ryzhov_al View Post
    Странно как-то. В моём TP-Link TL-MR3020 полноценный FPU есть, но при сборки софта OpenWRT'шники всё равно используют soft float. Почему?
    А с чего ты взял что там железный FPU? Я спеки поленился искать, есть линк?
    Они видимо считают что soft-float быстрее чем FPU-эмулятор в ядре.

  8. #8
    Quote Originally Posted by lly View Post
    А с чего ты взял что там железный FPU? Я спеки поленился искать, есть линк?
    Нет, спеки на AR9331 не нашёл, только Wiki по роутеру.
    С чего взял? Только по косвенным признакам:

    • нет упоминаний о Algorithmics/MIPS FPU Emulator в dmesg,
    • шустро проходит FPU-test, наравне с Raspberry Pi, где FPU, насколько знаю, есть,

    Но в конфиге ядра CONFIG_MIPS_FPU_EMU=y. Противоречиво как-то.
    Вот бутлог и содержимое /proc/cpuinfo.

    Quote Originally Posted by AndreyUA View Post
    Интересная железка, а как у него работают 3G модемы с родной прошивой? Я игрался с WL-330N3G, там rt3070 и хороший мешочек
    Нет, заводскую прошивку снёс первым делом после сохранения оригинального образа флеша. Оригинальная прошивка при использовании роутера для своих нужд малопригодна.
    А железяка да, рулит. Я, скажем, не ожидал, что она будет читать с подключенного USB-HDD со скоростью 34МБайт/c.
    Last edited by ryzhov_al; 18-10-2012 at 10:05.

  9. #9
    Join Date
    Jan 2009
    Location
    Kazan, Russia
    Posts
    1,163
    Сначала взял MR3020 (999р. месяц назад).. Поковырял.. Получился 3020+. (64MB RAM)
    Есть же WR703! В России ,почему-то, нет его. Зато есть WR702..
    Купил в ДНС WR702 (790р. две недели как). Он на "микротике".
    ОЗУ 16МБ, Флеш 2МБ. С виду (по внутренностям) .. ну полный отстой... Однако - полный аналог 703.
    Традиционно - перепаиваем оперативку, флеш, допаиваем USB разъем..
    Получаем 3020+, реально WR702 +++ (RAM, FLASH, USB).

    + Меньше размером и дешевле ~на 30%.
    - Serial - маленькие площадки. Кому-то будет трудно сделать консоль.
    жирный минус Нужны ОЗУ и Флеш , паяльник и программатор.

    Мне, офигенно, понравилось в опенвроте работа с флешкой!! ВАЩЕ прозрачно!
    поясняю - на jaffs флеш встаёт в "оверлей" и .. Читаем матчасть на OpenWRT.

    А что наиболее!!! --- С полпинка, на UBUNTU ВСЁ СОБИРАЕТСЯ БЕЗ БУБНОВ!!!
    Правильные, главное, рабочие тулчейны для сборки. Не отваливаются из за отсутствия, какого-либо, пакета.
    Просто докачивает его, тихо... Аттитуда... меня очень порадовала!!!

    RyzhovAl угу это правда Раз уж разговорились... Вот ..как-то.. так, IMHO.
    Last edited by Omega; 19-10-2012 at 20:13. Reason: fixed
    Asus RT-AC66U, Xerox Phaser 3160B, on the shelf RT-N16 (Killed by lightning)
    WL-500gPv1 128MB, WL-500W 300MHz/128M, LCD 40x4, DIR-320 8Mb/64MB
    WL-700g 128MB, MNV25E2+ and more and more devices. provod.beeline.ru

    -------------------------------------------
    Computers. Since 1984. First one - "МИР-1"

  10. #10
    Quote Originally Posted by LnrMn View Post
    Традиционно - перепаиваем оперативку.
    Приятный сюрприз в том, что используются те же чипы, что и для апгрейда Wl-500g premium v1.

  11. #11
    Quote Originally Posted by ryzhov_al View Post
    Странно как-то. В моём TP-Link TL-MR3020 полноценный FPU есть, но при сборки софта OpenWRT'шники всё равно используют soft float. Почему?
    • kernel 3.3.8,
    • gcc 4.6.3,
    • uClibc 0.9.33.2.

    Или тулчейн сам перенаправляет float point операции в FPU блок? В составе тулчейна libm есть, в составе /lib/* на устройстве тоже.
    Интересная железка, а как у него работают 3G модемы с родной прошивой? Я игрался с WL-330N3G, там rt3070 и хороший мешочек
    ASUS RT-N15U

  12. #12
    staticroute, Megagloom, обратите внимание на очень убедительный FPU Emulator в новых чипах Atheros'а. Что в TL-MR3020, что в WNDR3800, что в TL-WDR4300.
    Может у них числодробилка FPU аппаратная?

  13. #13
    Quote Originally Posted by ryzhov_al View Post
    staticroute, Megagloom, обратите внимание на очень убедительный FPU Emulator в новых чипах Atheros'а. Что в TL-MR3020, что в WNDR3800, что в TL-WDR4300.
    Может у них числодробилка FPU аппаратная?
    интересно, пока что-то ничего не нагуглил

  14. #14

    Lightbulb А хотите OpenWRT?

    Да, да, я всё ещё ношусь с chroot и ищу куда его присунуть

    Для того, чтобы воспользоваться ванильным репозиторием OpenWRT на текущей прошивке необходимо:

    1. Подготовить образ корневой файловой системы OpenWRT

    Проще всего с помощью Image Builder'а на PC:
    Code:
    wget http://downloads.openwrt.org/attitude_adjustment/12.09/brcm47xx/generic/OpenWrt-ImageBuilder-brcm47xx-for-linux-i486.tar.bz2
    tar -xf ./OpenWrt-ImageBuilder-brcm47xx-for-linux-i486.tar.bz2
    cd ./OpenWrt-ImageBuilder-brcm47xx-for-linux-i486/
    make image
    cd ./build_dir/target-mipsel_uClibc-0.9.33.2/
    tar -cvzf ./root-brcm47xx.tgz ./root-brcm47xx/
    и переправить его на носитель, подключенный к роутеру. Не важно стоит ли на роутере Optware/Entware, лишь бы был доступен аплет chroot. Если его в составе вашей прошивки нет, воспользуйтесь моим статическим бинарником.

    2. Подготовить образ на роутере

    Code:
    cd <folder>
    tar -xvzf ./root-brcm47xx.tgz
    mount -o bind /dev <folder>/root-brcm47xx/dev
    mount -o bind /proc <folder>/root-brcm47xx/proc
    mount -o bind /sys <folder>/root-brcm47xx/sys
    3. Всё!

    Пора нырять в OpenWRT:
    Code:
    chroot ./root-brcm47xx
    mkdir /var/lock
    opkg update
    opkg install <you name it>
    /etc/init.d/<you name it> start
    Будет работать подавляющее большинство пакетов. Только приготовьтесь к редким глюкам, связанными с отсутствующими в нашем ядре syscall'ами: прошивка OpenWRT основана на более современном ядре.

    MercuryV, ты планировал портировать Entware на Iomega iConnect? Пожалуйста! Только выбери target kirkwood.
    Я планировал использовать Entware на своём WD My Book Live. Пожалуйста! Только мне придётся выбрать target ppc40x.

    Засада теоретически может возникнуть только в отсутствии chroot на нужной платформе.
    Last edited by ryzhov_al; 01-12-2013 at 05:24. Reason: Поправил ссылку на бинарник chroot

  15. #15

    Where do you want to go today? © Microsoft

    Вообще, Entware подходит к интересному рубежу (MercuryV, я тебе уже проговаривал это): нам скоро будет больше нечего взять от OpenWRT. Топ NN пакетов у них в более-менее актуальном состоянии, остальные — в довольно замшелом, требующим обновления. Можно, конечно, уйти в отрыв от OpenWRT, поддерживая у себя идиллию, но у нас на это просто не хватит человеческих ресурсов. Нам до сих пор всё успешно удаётся разруливать по той причине, что мы не ввязываемся в крупные авантюры, например, не пытаемся поддерживать несколько target'ов, только MIPSEL.

    У нас за это время родился свой собственный фид с довольно уникальными наработками. Что дальше? Можно влиться со своими наработками в OpenWRT комьюнити и использовать свои наработки только что показанным способом у нас здесь. Это просто один из многих вариантов.

    Я очень рад, что мне удалось привлечь в ряды разработчиков Entware таких толковых коллег. Нам, коллеги надо определяться: куда будем двигаться дальше? Приглашаю к дискуссии.

    ЗЫ Вариант вливания в OpenWRT один из самых стрёмных: во-первых, там мы себе больше не хозяева, во-вторых, половину наших наработок просто не примут, в-третьих, OpenWRT — это вечная бета в десяти скомпилированных вариантах, несовместимых друг с другом.

    Скорее всего всё закончится изысканием «второго дыхания», чтобы уйти в отрыв от первоисточников.
    Last edited by ryzhov_al; 18-04-2013 at 17:34.

Page 1 of 2 12 LastLast

Similar Threads

  1. Error en ipkg install buildroot
    By suscrip00 in forum Spanish Discussion - Espaсol (ES)
    Replies: 1
    Last Post: 07-11-2011, 18:44
  2. Oleg's vs DD-WRT v23 SP2 vs OpenWRT
    By citro in forum WL-500gP Firmware Discussion
    Replies: 6
    Last Post: 14-10-2009, 20:17
  3. OpenWRT and hdd spindown
    By clausbruun in forum WL-700g Q&A
    Replies: 6
    Last Post: 04-04-2007, 16:56
  4. Flashing OpenWrt in WL-HDD
    By ineiti in forum WL-HDD Custom Development
    Replies: 6
    Last Post: 14-02-2006, 16:17
  5. OpenWrt
    By Kaloz in forum WL-500g Custom Development
    Replies: 15
    Last Post: 13-05-2004, 22:01

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
  •