Page 10 of 10 FirstFirst ... 8910
Results 136 to 143 of 143

Thread: Переход от нативной компиляции к кросс-компиляции

  1. #136
    Join Date
    Oct 2009
    Posts
    529
    Blog Entries
    1

    Lightbulb Entware: compile single package mini how-to

    Quote Originally Posted by Toher View Post
    Если я правильно понимаю, сам тулчейн не должен занимать много места, а все "At least 20Gb of disk space" уходят на сборку существующих пакетов репозитория.
    Возможно ли избежать сборки всего ненужного и скачиватьсобирать только зависимые пакеты?
    Конечно возможно.

    1) в инструкции из файла INSTALL вместо последней команды ($ make) нужно выполнить
    Code:
    $ make -C toolchain/mipsel-hardfloat
    $ make -C buildroot/mipsel-hardfloat
    $ make -C packages
    $ make -C "../openwrt_trunk" tools/compile
    $ make -C "../openwrt_trunk" tools/install
    соберется всё, кроме собственно пакетов репозитория

    2) если нужно собрать пакет из OpenWRT, который еще не был нами добавлен в Entware

    2.1 находите каталог пакета в ~/Entware/openwrt_trunk/feeds/packages - там основные пакеты (или в ~/Entware/openwrt_trunk/feeds/routing или в ~/Entware/openwrt_trunk/feeds/telephony или в ~/Entware/openwrt_trunk/package - в общем там, где его разместили опервртшники)

    2.2 правите Makefile (а также патчи или конфиги, если нужно). Правка в самом простом случае заключается в изменении путей (добавление префикса /opt).

    2.3 выбираете нужный пакет в menuconfig
    Code:
    $ cd ~/Entware/openwrt_trunk/
    $ make menuconfig
    далее нужно найти интересующий пакет, отметить его для установки (m) и выйти с сохранением конфига

    2.4 компилируете пакет
    Code:
    $ cd ~/Entware/openwrt_trunk/
    $ make package/PACKAGENAME/compile V=s
    сначала соберутся все зависимости пакета (если это не делалось ранее), затем сам пакет
    2.4.1 если сыпятся ошибки, то пункт 2.2 затем 2.4

    2.5 если пакет собрался, забираете его из ~/Entware/openwrt_trunk/bin/entware/packages

    3) если нужно добавить новый пакет, отсутствующий в проекте OpenWRT
    рекомендую сначала загрузить наш фид (в качестве образца, также можно будет туда добавлять Makefile для своих пакетов)
    Code:
    $ cd ~/Entware
    $ svn co http://wl500g-repo.googlecode.com/svn/feeds/ ./feeds
    изменить для фида rtndev путь на локальный в файле ~/Entware/openwrt_trunk/feeds.conf
    для этого закомментировать строку src-svn rtndev ...
    и раскомментировать #src-link rtndev ... изменив путь на свой (/home/USERNAME/Entware/feeds/rtndev)

    3.1 Cоздаете каталог для нового пакета в ~/Entware/feeds/rtndev и пишете Makefile и патчи (если нужно)

    3.2 Обновляете пакеты из фида rtndev
    $ cd ~/Entware/openwrt_trunk
    $ scripts/feeds/update rtndev
    $ scripts/feeds install -a
    3.3 см. пункт 2.3 и далее

    4. Если хотите, чтобы новые пакеты появились в Entware, то присылаете, что наделали ryzhov_al или мне.

    Также настоятельно рекомендуется к изучению wiki

    P.S. просьба к модераторам перенести сообщение сюда или в другую уместную тему, чтобы не затерялось.
    Last edited by MercuryV; 15-12-2013 at 20:36. Reason: make -C packages

  2. #137

    Где-то что-то я недочитал.

    Итак, вроде по порядку, создали папку Ентваре, зашли в нее, утянули SVN-ом транк, зашли в папку rtn.
    Пока, вроде несложно, но был WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-Gk9Joe/pkcs11: Нет такого файла или каталога
    В итоге сообщение:
    Code:
    Получена редакция 1492
    А дальше, как то необычно:
    Code:
    $ cd rtn/
    /rtn$ make toolchain
    make: Цель `toolchain' не требует выполнения команд.
    /rtn$ make buildroot
    make: Цель `buildroot' не требует выполнения команд.
    Или так и должно быть?
    Last edited by Toher; 15-12-2013 at 15:00. Reason: ошибки

  3. #138
    Join Date
    Oct 2009
    Posts
    529
    Blog Entries
    1
    Toher, просто make уже запускали ранее? возможно тулчейн уже собран?
    пробуйте с "чистого листа" (удалите ~/Entware и /opt/entware-toolchain если есть)

  4. #139
    загадил я ветку своими сообщениями
    Попробовал rm -rf Entware и sudo rm -rf /opt/*
    Все то же самое.
    Цель `toolchain' не требует выполнения команд.

    Попробовал танцы с бубном:
    cd Entware/rtn/buildroot/mipsel-hardfloat/
    make
    cd Entware/rtn/toolchain/mipsel-hardfloat
    make

    30 мин. спустя раздел прибавил в весе на 3Гб, проесс продолжается... Надеюсь на лучшее, но предполагаю окончание по нехватке места...
    1:30 Качаем uClibc ... использовано 3.7 Гб
    2:15 Процесс идет. Риторический вопрос: а если бы я собирал все пакеты на своем калькуляторе (Atom N550 1.5GHz), то на неделю бы затянулось. Хотя..а почему грузится только одно проц.ядро из 4?
    3:00 с начала сборки... что-то собралось, завтра буду смотреть..
    Last edited by Toher; 15-12-2013 at 18:54. Reason: процесс окончен

  5. #140
    Join Date
    Oct 2009
    Posts
    529
    Blog Entries
    1
    Quote Originally Posted by Toher View Post
    Попробовал танцы с бубном:
    cd Entware/rtn/buildroot/mipsel-hardfloat/
    make
    cd Entware/rtn/toolchain/mipsel-hardfloat
    make
    Это не танцы с бубном, это я оплошал с инструкцией. Использовал старый текст для зарубежных камрадов и запамятовал, что сборка теперь иначе идет. Готовимся потихоньку к поддержке других архитектур.
    Так что это не танцы, а верные команды.
    Или, если в изначальной стилистике, будет так:
    $ make -C toolchain/mipsel-hardfloat
    $ make -C buildroot/mipsel-hardfloat
    Изначальную инструкцию поправил.

    Quote Originally Posted by Toher View Post
    почему грузится только одно проц.ядро из 4?
    По умолчанию сборка идет однопоточная.
    Явно указать, что нужно собирать в X потоков, можно так: make -jX ...
    Правда это может стать причиной ошибок. Я в несколько потоков делаю полную пересборку репозитория.

    P.S. если проблемы с дисковым пространством, то после выполнения пункта №1 инструкции, можно удалить содержимое каталога ~/Entware/downloads
    Для сборки пакетов эти файлы не нужны. Это освободит сразу 570+ мегабайт.
    В дальнейшем при компилировании будут пухнуть каталоги
    ~/Entware/downloads - сюда будут скачиваться архивы с исходниками
    ~/Entware/openwrt_trunk/build_dir/target-mipsel-linux-gnu - здесь развернуты исходники и происходит собственно сборка. Самое значимое потребление диска.
    Например, сборка пакетов {bash,dnscrypt-proxy,htop,iftop,mc,nano,screen,wget,xinetd} с зависимостями - требует уже 619 мегабайт
    ~/Entware/openwrt_trunk/bin/entware/packages - здесь собственно готовые пакеты (можно пренебречь)
    Эти каталоги можно очищать при суровой необходимости. Сборку это не поломает. Но замедлит, так как любой "стертый" пакет, попав в зависимости, пройдет полный цикл: загрузка исходников, разворачивание исходников, применение патчей, компилирование, сборка пакета.
    Разумеется, такие манипуляции имеют смысл только если речь идет о сборке одного или нескольких новых пакетов.
    Last edited by MercuryV; 15-12-2013 at 22:03. Reason: hint

  6. #141

    Сборка программ в Entwere

    Здравствуйте.
    Подскажите пожалуйста какие нужно установить пакеты для сборки своих программ в Entware?

    Так как для Optware это такие пакеты:
    buildroot optware-devel make

  7. #142
    Quote Originally Posted by sergldom View Post
    Подскажите пожалуйста какие нужно установить пакеты для сборки своих программ в Entware?
    Для Entware (как и в OpenWRT) нет нативных инструментов, только кросс-компиляция.

  8. #143

    компиляция программ

    Quote Originally Posted by ryzhov_al View Post
    Для Entware (как и в OpenWRT) нет нативных инструментов, только кросс-компиляция.

    Ну как это нет, я на роутере dir320 лично собирал dongle в optware, какие пакеты я установил я перечислил ранее.
    Это же маленькая прожка, 10 мин компиляции и все работает.

Page 10 of 10 FirstFirst ... 8910

Similar Threads

  1. Entware - новый репозиторий для роутеров Asus (MIPS)
    By ryzhov_al in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1391
    Last Post: 04-01-2021, 21:16
  2. Переход на летнее время - проблема с timezone
    By ABATAPA in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 101
    Last Post: 22-12-2014, 11:45
  3. Кросс-компиляция rTorrent
    By al37919 in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 94
    Last Post: 22-04-2012, 19:48

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
  •