Jump to content

Установка скомпилированных пакетов (Keenetic Viva)


Recommended Posts

Всем привет. Не ходя вокруг, да около, сразу к вопросу. Роутер у меня - Keenetic Viva. После компиляции тулчейна и всего прилагающегося к нему, компилирую первый попавшийся пакет: unrar. Захожу на роутер через фтп и копирую в папку tmp готовый ipk-пакет из папки bin/mipsel-3x-glibc/packages. Запускаю установку пакета через opkg и получаю следующее:

/opt/tmp # opkg install ./unrar_5.4.5-1_mipsel-3x.ipk --verbosity=2
opkg_conf_parse_file: Loading conf file /opt/etc/opkg.conf.
pkg_hash_load_feeds: 
pkg_hash_load_status_files: 
pkg_info_preinstall_check: Updating file owner list.
pkg_hash_fetch_best_installation_candidate: Best installation candidate for unrar:
pkg_hash_fetch_best_installation_candidate: apkg=unrar nprovides=2.
pkg_hash_fetch_best_installation_candidate: Adding unrar to providers.
pkg_hash_fetch_best_installation_candidate: Adding unrar to providers.
pkg_hash_fetch_best_installation_candidate: unrar arch=keenle arch_priority=10 version=5.4.5.
pkg_hash_fetch_best_installation_candidate: unrar arch=mipsel-3x arch_priority=0 version=5.4.5.
pkg_hash_fetch_best_installation_candidate: unrar arch=keenle arch_priority=10 version=5.4.5.
pkg_hash_fetch_best_installation_candidate: unrar arch=mipsel-3x arch_priority=0 version=5.4.5.
pkg_hash_fetch_best_installation_candidate: Candidate: unrar 5.4.5.
pkg_arch_supported: Arch keenle (priority 10) supported for pkg unrar.
Installing unrar (5.4.5-1) to root...
Downloading http://pkg.entware-keenetic.ru/binaries/keenle/unrar_5.4.5-1_keenle.ipk.
pkg_run_script: Running script /tmp/opkg-Q8Yh7e/unrar-6TDvoo/preinst.
opkg_install_pkg: Installing maintainer scripts.
opkg_install_pkg: Installing data files for unrar.
install_data_files: Extracting data files to /.
pkg_write_filelist: Creating //opt/lib/opkg/info/unrar.list file for pkg unrar.
opkg_install_pkg: Resolving conf files for unrar
opkg_configure_packages: Configuring unpacked packages.
opkg_configure_packages: Reordering packages before configuring them...
Configuring unrar.
pkg_run_script: Running script //opt/lib/opkg/info/unrar.postinst.
write_status_files_if_changed: Writing status file.
pkg_write_changed_filelists: Saving changed filelists.

Т.е. opkg видит пакет, пытается его установить, спотыкается об неправильную архитектуру и скачивает "правильный" пакет по своему усмотрению. При этом если вручную скачать пакет из предлагаемого URL и также локально попытаться установить его, все устанавливается нормально.

Что я делаю не так? Для Viva нужна какая-та другая архитектура или я все-таки что-то просто упустил в инструкции?

Edited by dobby007
Link to comment
Share on other sites

23 часа назад, zyxmon сказал:

При компиляции нужно увеличить PKG_RELEASE в Makefile. Если есть 2 одинаковых пакета , то установится из репы.

Попробовал увеличить PKG_RELEASE - то же самое. Вот лог:

/opt/tmp # opkg install ./unrar_5.4.5-99912_mipsel-3x.ipk 
Installing unrar (5.4.5-1) to root...
Downloading http://pkg.entware-keenetic.ru/binaries/keenle/unrar_5.4.5-1_keenle.ipk.
Configuring unrar.
/opt/tmp # opkg remove unrar
Package unrar version 5.4.5-99912 has no valid architecture, ignoring.
Removing package unrar from root...
/opt/tmp # 

Если я меняю версию пакета (например, ставлю 5.4.6), то пакет не может скачаться еще на этапе компиляции.

Что с этим анраром не так? Что ему надо?

 

UPDATE:

Убрал определение репы из /opt/etc/opkg.conf, обновил список пакетов и при установке получил уже следующее:

/opt/tmp # opkg install ./unrar_5.4.5-99912_mipsel-3x.ipk 
Unknown package 'unrar'.
Collected errors:
 * pkg_hash_fetch_best_installation_candidate: Packages for unrar found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package unrar.


Т.е. он мне прям уже не намекает, а явно говорит, что я ставлю пакет с неправильно архитектурой. Как такое может быть? Что это за архитектура такая неопознанная у Viva?

Edited by dobby007
Link to comment
Share on other sites

10 часов назад, dobby007 сказал:

 ... Если я меняю версию пакета (например, ставлю 5.4.6), то пакет не может скачаться еще на этапе компиляции...

если не скачивается архив с исходниками, то или "не существует в природе", или указана неверная ссылка в PKG_SOURCE_URL:=

решение: проверить на наличие; указать правильную ссылку

 

Link to comment
Share on other sites

11 час назад, zyxmon сказал:

Так у Вас действительно разные архитектуры. Соберите для правильной.

Вы устанавливаете пакет, собранный для Entware-3x в Entware-keenetic.

При выборе репозитория Entware-3x я руководствовался информацией, обозначенной в следующей теме:

Там написано: "Репозиторий предназначен для устройств с прошивками 2.07 и выше". Т.е. для Viva с прошивкой 2.07 он все-таки не подходит?

А как вы определили, что у меня в роутере стоит архитектура Entware-keenetic?

И еще вопрос: мне сейчас нужно перекомпилировать заново весь тулчейн, так?

19 минут назад, TheBB сказал:

если не скачивается архив с исходниками, то или "не существует в природе", или указана неверная ссылка в PKG_SOURCE_URL:=

решение: проверить на наличие; указать правильную ссылку

 

Дело в том, что zyxmon мне посоветовал увеличить PKG_RELEASE в makefile. Я увеличил и мне это не помогло. Я поменял версию и тогда пакет вообще перестал скачиваться. Это была просто попытка устранения проблемы. Сейчас я все вернул на место. Пакет существует и скачивается нормально.

Link to comment
Share on other sites

12 минуты назад, dobby007 сказал:

А как вы определили, что у меня в роутере стоит архитектура Entware-keenetic?

Скачиваются пакеты из этого репозитория.

12 минуты назад, dobby007 сказал:

И еще вопрос: мне сейчас нужно перекомпилировать заново весь тулчейн, так?

Проще (и правильнее) снести Entware-keenetic на usb носителе и поставить Entware-3x.

 

PKG_RELEASE увеличивать нужно (если не увеличивать, то пакет будет сложно поставить).

  • Thanks 1
Link to comment
Share on other sites

В 24.01.2017 в 12:09, zyxmon сказал:

Проще (и правильнее) снести Entware-keenetic на usb носителе и поставить Entware-3x.

Ваш совет помог. Я установил Entware-3x и все заработало. Думал, что изначально его и ставил, но видимо что-то напутал с архивами.

Вы бы не могли еще подсказать есть ли какая-нибудь инструкция, где описаны "лучшие практики" по разработки пакетов? Например, я хочу писать в своей любимой IDE при этом держать исходники где-нибудь у себя в папке home. Как мне при это запускать make, чтоб он не пытался скачать исходники из интернета и при этом корректно отрабатывал?

Link to comment
Share on other sites

6 минут назад, dobby007 сказал:

есть ли какая-нибудь инструкция, где описаны "лучшие практики" по разработки пакетов?

2000+ пакетов entware и есть эта инструкция. Архивы исходников храните в отдельной папке и делайте dl симлинком для нее. Если сами пишите - тогда исходники размещайте в папке src.

Link to comment
Share on other sites

33 минуты назад, zyxmon сказал:

2000+ пакетов entware и есть эта инструкция. Архивы исходников храните в отдельной папке и делайте dl симлинком для нее.

Вы имеете в виду сделать симлинк в Entware-ng-3x/build_dir/target-mipsel_mips32r2_glibc-2.23 для какой-то своей папки? А они не будут перезатираться при запуске make оригинальными исходниками из интернета?

33 минуты назад, zyxmon сказал:

Если сами пишите - тогда исходники размещайте в папке src.

А что за папка src?

Edited by dobby007
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...