1

Temat: opkg - własne repo

chciałbym zapytać czy jest możliwe  "podpięcie"  własnego  repo   np. z nośnika  z usb routera  lub  z lokalizacji sieciowej w lanie   tak  aby  opkg  pobierał  i instalował   z   niego pliki  .    Czasami  ręczna instalacja  jest  uciążliwa   bo  wiele pakietów  posiada całe drzewa  zależności    a  opkg  rozwiązuje  to za nas .
Załóżmy ze  dodam wpis   do    etc/opkg/distfeeds.conf     np.  /mnt/sda1/repo    ( w katalogu  repo   wrzucam  wszystko co skompilowało się )   
czy to bedzie działać  ?  ewentualnie   jak to  rozwiązać  ?

2

Odp: opkg - własne repo

Tak, zobacz np. https://wiki.openwrt.org/doc/techref/opkg

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: opkg - własne repo

dzięki   fajnie działa
zmieniłem  wpis  w   etc/opkg/distfeeds.conf

src/gz local file:///mnt/sda1/targets/lantiq/xrx200/packages
src/gz base file:///mnt/sda1/packages/mips_24kc/base
src/gz luci file:///mnt/sda1/packages/mips_24kc/luci
src/gz packages file:///mnt/sda1/packages/mips_24kc/packages
src/gz routing file:///mnt/sda1/packages/mips_24kc/routing

#src/gz reboot_core [url]http://downloads.lede-project.org/snapshots/targets/lantiq/xrx200/packages[/url]
#src/gz reboot_base [url]http://downloads.lede-project.org/snapshots/packages/mips_24kc/base[/url]
#src/gz reboot_luci [url]http://downloads.lede-project.org/snapshots/packages/mips_24kc/luci[/url]
#src/gz reboot_packages [url]http://downloads.lede-project.org/snapshots/packages/mips_24kc/packages[/url]
#src/gz reboot_routing [url]http://downloads.lede-project.org/snapshots/packages/mips_24kc/routing[/url]
#src/gz reboot_telephony [url]http://downloads.lede-project.org/snapshots/packages/mips_24kc/telephony[/url]

aktualizacja

root@LEDE:/mnt/sda1# opkg update
Downloading file:///mnt/sda1/targets/lantiq/xrx200/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/local
Downloading file:///mnt/sda1/targets/lantiq/xrx200/packages/Packages.sig
Signature check passed.
Downloading file:///mnt/sda1/packages/mips_24kc/base/Packages.gz
Updated list of available packages in /var/opkg-lists/base
Downloading file:///mnt/sda1/packages/mips_24kc/base/Packages.sig
Signature check passed.
Downloading file:///mnt/sda1/packages/mips_24kc/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/luci
Downloading file:///mnt/sda1/packages/mips_24kc/luci/Packages.sig
Signature check passed.
Downloading file:///mnt/sda1/packages/mips_24kc/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/packages
Downloading file:///mnt/sda1/packages/mips_24kc/packages/Packages.sig
Signature check passed.
Downloading file:///mnt/sda1/packages/mips_24kc/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/routing
Downloading file:///mnt/sda1/packages/mips_24kc/routing/Packages.sig
Signature check passed.

instalacja pakietu

root@LEDE:/mnt/sda1# opkg install cifsmount
Installing cifsmount (6.4-2) to root...
Downloading file:///mnt/sda1/packages/mips_24kc/packages/cifsmount_6.4-2_mips_24kc.ipk
Installing kmod-crypto-hmac (4.9.58-1) to root...
Downloading file:///mnt/sda1/targets/lantiq/xrx200/packages/kmod-crypto-hmac_4.9.58-1_mips_24kc.ipk
Installing kmod-crypto-md5 (4.9.58-1) to root...
Downloading file:///mnt/sda1/targets/lantiq/xrx200/packages/kmod-crypto-md5_4.9.58-1_mips_24kc.ipk
Installing kmod-crypto-md4 (4.9.58-1) to root...
Downloading file:///mnt/sda1/targets/lantiq/xrx200/packages/kmod-crypto-md4_4.9.58-1_mips_24kc.ipk
Installing kmod-crypto-des (4.9.58-1) to root...
Downloading file:///mnt/sda1/targets/lantiq/xrx200/packages/kmod-crypto-des_4.9.58-1_mips_24kc.ipk
Installing kmod-crypto-sha256 (4.9.58-1) to root...
Downloading file:///mnt/sda1/targets/lantiq/xrx200/packages/kmod-crypto-sha256_4.9.58-1_mips_24kc.ipk
Installing kmod-fs-cifs (4.9.58-1) to root...
Downloading file:///mnt/sda1/targets/lantiq/xrx200/packages/kmod-fs-cifs_4.9.58-1_mips_24kc.ipk
Configuring kmod-crypto-md4.
Configuring kmod-crypto-md5.
Configuring kmod-crypto-hmac.
Configuring kmod-crypto-des.
Configuring kmod-crypto-sha256.
Configuring kmod-fs-cifs.
Configuring cifsmount.

 
smile

4

Odp: opkg - własne repo

możesz też postawić w lanie serwer ftp z paczkami.

5

Odp: opkg - własne repo

jednak  mały problem   
zbudowałem  dzisiaj  bo wcześniej  tego nie zaznaczyłem  pakiet  logrotate   ( ma on 2 zaleznosci  )  przegrałem  to  do  katalogu   na   router       zrobiłem  opkg update    -  ale  opkg  nie widzi  tych nowych  pakietów 
przeglądam 
usr/lib/opkg
w   /info   jest  lista
w  /lists    nie ma nic
w  status   jest  informacja o kazdym  pakiecie 
Co zrobić  by  opkg  zobaczyło  dograne  pakiety ?

6

Odp: opkg - własne repo

Zaktualizować listę pakietów - plik packages/packages.gz...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: opkg - własne repo

próbowałem  róznych poleceń  -  nie wiem  jaka  ma byc prawidłowa składnia tego  dla
logrotate_3.10.0-2_mips_24kc.ipk 
może to  banalne  ale  nie wiem sad

8

Odp: opkg - własne repo

Wiesz że w źródłach jest scripts/ipkg-make-index.sh który takie pliki indeksów robi?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9 (edytowany przez ad2014 2017-11-08 23:28:57)

Odp: opkg - własne repo

teraz juz  wiem  hmm   przegladam go   ale  dalej  nie wiem  jak zrobic by  zakualizowac to liste na routerze   ?    moze  jakaś  jaśniejsza  wskazówka  neutral
w źródłach  mam  3 pliki
Packages
Packages.sig
Packages.manifest

a na routerze  4 pliki

Packages
Packages.gz 
Packages.sig
Packages.manifest

Spróbowalem  tak  usunołem  cały  katalog  packages z routera  , wgrałem  nowy  z  tymi nowymi pakietami    i  dalej   opkg  widzi  tylko te  stare  pakiety    -  więc  jest to bardziej  złożone   jak by się  wydawało

10

Odp: opkg - własne repo

Masz katalog z pakietami. Zrób w nim ./ipkg-make-index.sh . > Packages zrobi index. A później go zgipuj i masz Packages.gz, gotowy index.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: opkg - własne repo

dziekuję   za  cierpliwośc   -  zmuszasz do myślenia   > wydawało by się wszystko  jasne  ale  jednak  .
Skopiowałem ten  skrypt  do  katalogu z pakietami  i  uruchomiłem go  ale  dostaje błąd :

adam@Z51 ~/lede/bin/packages/mips_24kc/packages $ ./ipkg-make-index.sh . > Packages
Generating index for package ./adblock_3.0.3-1_all.ipk
./ipkg-make-index.sh: linia 21: mkhash: nie znaleziono polecenia

pomyślałem  że bład  dotyczy  adblock   - wywaliłem go z katalogu   ale   znowu  zatrzymuje sie   na alsa    i teraz  nie wiem  co dalej

adam@Z51 ~/lede/bin/packages/mips_24kc/packages $ ./ipkg-make-index.sh . > Packages
Generating index for package ./alsa-lib_1.1.4.1-1_mips_24kc.ipk
./ipkg-make-index.sh: linia 21: mkhash: nie znaleziono polecenia

dalej     > w linii   21    niby  jest "cos  nie haloo"

adam@Z51 ~/lede/bin/packages/mips_24kc/packages $ cat -n ipkg-make-index.sh
     1    #!/usr/bin/env bash
     2    set -e
     3    
     4    pkg_dir=$1
     5    
     6    if [ -z $pkg_dir ] || [ ! -d $pkg_dir ]; then
     7        echo "Usage: ipkg-make-index <package_directory>" >&2
     8        exit 1
     9    fi
    10    
    11    empty=1
    12    
    13    for pkg in `find $pkg_dir -name '*.ipk' | sort`; do
    14        empty=
    15        name="${pkg##*/}"
    16        name="${name%%_*}"
    17        [[ "$name" = "kernel" ]] && continue
    18        [[ "$name" = "libc" ]] && continue
    19        echo "Generating index for package $pkg" >&2
    20        file_size=$(ls -l $pkg | awk '{print $5}')
    21        sha256sum=$(mkhash sha256 $pkg)
    22        # Take pains to make variable value sed-safe
    23        sed_safe_pkg=`echo $pkg | sed -e 's/^\.\///g' -e 's/\\//\\\\\\//g'`
    24        tar -xzOf $pkg ./control.tar.gz | tar xzOf - ./control | sed -e "s/^Description:/Filename: $sed_safe_pkg\\
    25    Size: $file_size\\
    26    SHA256sum: $sha256sum\\
    27    Description:/"
    28        echo ""
    29    done
    30    [ -n "$empty" ] && echo
    31    exit 0

12

Odp: opkg - własne repo

Kurde... zrób to na komputerze... Jak widzisz do liczenia sumy potrzebny jest program mkhash, nie masz w routerze, ale w źródłach lede już jest.

Przecież wyraźnie Ci napisał że go nie znalazł...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: opkg - własne repo

ja  to robię na komputerze  adam@Z51   neutral

14

Odp: opkg - własne repo

To sobie przenieś mkhash (podpowiedź: jest w staging_dir/host/bin) do /usr/bin lub zmienną PATH sobie ustaw...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: opkg - własne repo

działa smile  dzięki

16

Odp: opkg - własne repo

no prawie  - jeszcze  jeden mały problem

Downloading file:///mnt/sda1/packages/mips_24kc/base/Packages.gz
Updated list of available packages in /var/opkg-lists/base
Downloading file:///mnt/sda1/packages/mips_24kc/base/Packages.sig
Signature check failed.

ale  poradziłem  sobie  przez  edycje pliku /etc/opkg.conf    i usuniecie 

option check_signature 1

zmiana na 0  nie  działała

17

Odp: opkg - własne repo

I tu ciąg dalszy historii - jak zbudowałeś nowe obrazy to i sygnatura się zmieniła, więc w obrazie należało by tą sygnaturę dodać...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: opkg - własne repo

czy  chodzi  o  plik  Packages.sig  ?

19

Odp: opkg - własne repo

Nie. O to co jest w /etc/opkg/keys. Packages.sig to po prostu podpis repozytorium.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

20

Odp: opkg - własne repo

nie budowałem  nowego obrazu
-  wszedłem w make menuconfig  i zanzaczyłem na M  pakiet  logrotate
- następnie  wydałem polecenie  make package/logrotate/compile   
- pakiet się zbudował 
- i tu był  problem  zmienił  sie index  -  z  Twoja pomocą  wygenerowałem  nowy index wrzuciłem  do repo
- ale  wyrzuca błąd o nieprawidłowe  sygnatury
- sprawdziłem  dokładnie  wszystkie  klucze  w  /etc/opkg/keys   mam  takie  same  na routerze  jak i  w  zbudowanym obrazie 
- jedno co sie zmienia to suma kontrolna obrazu  sha256sum
ale  pakiety  instalują sie prawidłowo  po wyłaczniu option check_signature 1   lub  ręcznie
skoro  klucze  sa takie same  to chyba powinno działac  a jednak  nie

21

Odp: opkg - własne repo

Zobacz czy to co masz w key-build.pub w katalogu ze źródłami lede  masz w /etc/opkg/keys

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

22

Odp: opkg - własne repo

jest dokładnie to samo   w pozycji   untrusted comment: Local build key   ( i tu jest klucz) 
jeszcze zrestartowałem router  by zapomniał  -  ale  dalej   Signature check failed

23

Odp: opkg - własne repo

Zrób

cd /mnt/sda1/packages/mips_24kc/base/
usign -V -m Packages -P /etc/opkg/keys
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

24

Odp: opkg - własne repo

verification failed   neutral

25

Odp: opkg - własne repo

Wiec sorry, albo nie masz poprawnego certyfikatu albo podpis się nie zgadza.
Albo sobie skompiluj jeszcze raz wszystkie pakiety to sdk zrobi automatycznie listę pakietów i to podpisze albo sam podpisz sobie to repo jeżeli jesteś pewien że masz faktcznie dobry certyfikat.

Podpisuje się
usign -S -m Packages -s key-build

Gdzie usign znajdziesz pewnie tam gdzie mkhash, key-build masz w katalogu głównym ze źródłami, Packages wiadomo czym jest. I jeszcze raz się upewnij że to co jest w key-build.pub faktycznie jest w /etc/opkg/keys na routerze.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.