1

Temat: Budowanie nowego kernela dla Openwrt

Cześć, chciałbym nałożyć patcha naprawiającego rebootowanie na moim NanoPi R4S.  Patcha nałożyłem (https://github.com/openwrt/openwrt/pull/4860), widzę w logu że jest aplikowany podczas budowania źródeł ale po zbudowaniu zdaje się nie działać oraz co dziwniejsze nie mogę zainstalować paczek kmod-* wygenerowanych w katalogu packages obok obrazu. Opkg twierdzi, że są skompilowane dla innego kernela. Czy to możliwe, że pod sam koniec podczas generowania obrazu instaluje mi się domyślny kernel z repo Openwrt?

NanoPi R4S OpenWrt 23.05 // MikroTik CRS310-8G+2S+ // AP MikroTik hAP ax2

2

Odp: Budowanie nowego kernela dla Openwrt

Nie. Ściąga ci po prostu z repo openwrt co jest złe bo sam kompilowałeś. Wywal repo openwrt i używaj swojego.

A że łatka nie chce działać... cóż, pisz do autora że nie działa.

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

3 (edytowany przez mjnck 2022-01-16 14:34:17)

Odp: Budowanie nowego kernela dla Openwrt

Wydaje mi się, że próbuje moje pakiety instalować, wrzuciłem cały katalog packages do /root/packages/ i dodałem takie coś do /etc/opkg/customfeeds.conf

src/gz local file:///root/packages/

i zakomentowałem linijkę openwrt_kmods w /etc/opkg/distfeeds.conf

Próbowałem też instalować bezpośrednio plik ipk

root@OpenWrt:~# opkg list-installed | grep kernel
kernel - 5.10.90-1-baffe5e1fc6d6f8f2565817720a4384d
root@OpenWrt:~# opkg install packages/kmod-wireguard_5.10.90-1_aarch64_generic.ipk 
Installing kmod-wireguard (5.10.90-1) to root...
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.90-1-6496358dd826241e4337717c1bcd3c09) for kmod-crypto-hash
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-crypto-hash found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.90-1-6496358dd826241e4337717c1bcd3c09) for kmod-crypto-lib-blake2s
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-crypto-lib-blake2s found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.90-1-6496358dd826241e4337717c1bcd3c09) for kmod-crypto-lib-chacha20
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-crypto-lib-chacha20 found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.90-1-6496358dd826241e4337717c1bcd3c09) for kmod-crypto-lib-poly1305
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-crypto-lib-poly1305 found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.90-1-6496358dd826241e4337717c1bcd3c09) for kmod-crypto-lib-chacha20poly1305
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-crypto-lib-chacha20poly1305 found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.90-1-6496358dd826241e4337717c1bcd3c09) for kmod-crypto-kpp
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-crypto-kpp found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.90-1-6496358dd826241e4337717c1bcd3c09) for kmod-crypto-lib-curve25519
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-crypto-lib-curve25519 found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.90-1-6496358dd826241e4337717c1bcd3c09) for kmod-udptunnel4
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-udptunnel4 found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.90-1-6496358dd826241e4337717c1bcd3c09) for kmod-udptunnel6
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-udptunnel6 found, but incompatible with the architectures configured
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-wireguard:
 *     kernel (= 5.10.90-1-6496358dd826241e4337717c1bcd3c09)
 * opkg_install_cmd: Cannot install package kmod-wireguard.
root@OpenWrt:~# 

Aha, zapomniałem o najważniejszym, po wpisaniu uname -a oraz w dmesgu data i godzina budowania kernela nie zgadza się z datą kiedy to buduję. Robię dokładnie wg. tej instrukcji https://openwrt.org/docs/guide-develope … uildsystem z tym, że buduję z głównego repo bo moje urządzenie nie jest jeszcze wspierane przez stabilną wersję openwrt.

NanoPi R4S OpenWrt 23.05 // MikroTik CRS310-8G+2S+ // AP MikroTik hAP ax2

4

Odp: Budowanie nowego kernela dla Openwrt

Data może się nie zgadzać bo jak już jest kernel skompilowany i nic się nie zmieniło to nie się buduje.
Właśnie pokazałeś że zainstalowałeś jedno a chcesz moduły z innego builda. Musisz mieć system i moduły DOKŁADNIE z tego samego builda, nie możesz później coś dokompilować i próbować tego używać.

Więc - skompiluj sobie system, skopiuj moduły na bok, zainstaluj system i używaj dokładnie  tych modułów z tego builda a nie żadnych innych.

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

5 (edytowany przez mjnck 2022-01-16 16:01:07)

Odp: Budowanie nowego kernela dla Openwrt

Spróbowałem zacząć z czystymi sklonowanymi źródłami + skopiowany patch i config i zadziałało smile

Cezary napisał/a:

Data może się nie zgadzać bo jak już jest kernel skompilowany i nic się nie zmieniło to nie się buduje.

I to chyba właśnie gdzieś tutaj był tego powód. Bo wcześniej już budowałem te same źródła grzebiąć przy sterowniku do karty sieciowej od portu LAN. Gdzieś musiałem coś po drodze chyba namieszać.

Dzięki za pomoc smile

NanoPi R4S OpenWrt 23.05 // MikroTik CRS310-8G+2S+ // AP MikroTik hAP ax2