1

Temat: Brak statycznego adresu IPv4 w obrazie

Witam.

Mając chwilę wolnego czasu wygrzebałem nigdy nieużywany Lamobo R1 /BPI-R1 i skompilowałem obraz OpenWRT pod niego i wrzuciłem na kartę SD.  Niestety, nie mogę dostać się do urządzenia po adresacji IPv4 i gdzieś w internecie znalazłem informacje, że statyczny adres IPv4 nie jest ustawiony tylko IPv6 w obrazach OpenWRT.  Próbowałem też uruchamiać DHCP po mojej stronie, ale nie pomagało.

Kabelka UART nie mam (tj mam, ale na nie na USB tylko na stare gniazdko COM, swoją droga kupić pierwszy lepszy czy coś polecacie?)

Ale  zgodnie z info na stronie

http://wiki.geiges.net/doku.php?id=openwrt_bpi-r1

Mogę wrzucić pliki w obraz poprzez

Strona napisał/a:

Injecting files into image
If you want to inject some config files (or whatever) into the final image, create a files folder under ~/openwrt/openwrt, consider files as being the / of the image. For example, to add an /etc/hostname file:

# mkdir ~/openwrt/files
# cd ~/openwrt/files
# mkdir etc
# echo "routerboard" > ./etc/hostname]

Ipv6 nie wiem jak użyć stąd pytanie co mogę wrzucić w obraz, co by ustawiło statyczny adres IPv4? Albo uruchomiło klienta DHCP?

Pozdrawiam, Krzysiek

2

Odp: Brak statycznego adresu IPv4 w obrazie

R1 normalnie ma ustawiany lan na 192.168.1.1. Widziałeś kiedyś obraz który nie ma ipv4? Zacznij od wrzucenia obrazu z openwrt.org zamiast swojego bo przypuszczam że czegoś po prostu nie skompilowałeś.

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

3

Odp: Brak statycznego adresu IPv4 w obrazie

Obraz ze strony

https://openwrt.org/toh/lamobo/bananapi_r1

czyli

http://downloads.openwrt.org/releases/1 … ard.img.gz

zadziałał u mnie


Czyli coś po mojej stronie, okazało, że zabrakło u mnie poniższego polecenia

root@debian:/openwrt# git checkout openwrt-19.07
Checking out files: 100% (9345/9345), done.
Branch 'openwrt-19.07' set up to track remote branch 'openwrt-19.07' from 'origin'.
Switched to a new branch 'openwrt-19.07'

Ale wywołaniu poniższych poleceń:

# ./scripts/feeds update -a
# ./scripts/feeds install -a

Pojawiała się masa warningów, która nie pozwalały mi zrobić make. Po całym dniu walki udało mi się warningy wyeliminować na koncie root, ale na koncie usera cały czas są. A kompilacje mogę wykonać tylko na koncie usera.

Ogólnie poległem, nie mogę teraz skompilować jądra. A oryginalny OpenWRT bez feeds nie ma obsługuje Lamobo R1? Na strona OpenWRT o Lamobo R1 nie wspomina o takich dziwnych polecaniach związanych z feeds.

Pozdrawiam, Krzysiek

4

Odp: Brak statycznego adresu IPv4 w obrazie

Nie kompiluj jako root.... Jeżeli to robiłeś to zmień właściciela plików całego drzewa źródeł, bo inaczej nie masz uprawnień.

Szukaj ogólnego poradnika o kompilacji (np. u mnie na eko.one.pl), strona o lambo opisuje tylko ten model i nic więcej, a w szczególności nie jest kompletnym poradnikiem o kompilacji.

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

5

Odp: Brak statycznego adresu IPv4 w obrazie

Przeczytałem Twój porawdnik i w zasadzie to samo mam co w innych przy: make package/symlinks

...
Resolving deltas: 100% (75/75), done.
Create index file './feeds/freifunk.index'
Collecting package info: done
Collecting target info: done
/bin/sh: 1: 8: Bad file descriptor
Collecting package info: done
Collecting target info: done
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libgnutls', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libopenldap', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libidn2', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libssh2', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
WARNING: Makefile 'package/network/utils/nftables/Makefile' has a dependency on 'jansson', which does not exist
Installing all packages from feed packages.
Installing package 'acl' from packages
Installing package 'attr' from packages
Installing package 'acme' from packages
Installing package 'wget' from packages
....

dalej nawet nie próbuje, bo wywali się na braku symblinków itd.

6

Odp: Brak statycznego adresu IPv4 w obrazie

Pakiety których szuka są własnie w feedsach. Więc coś zepsułeś że nie dociągnęło ci zależności.

Usuń źródła i zrób to jeszcze raz jako zwykły użytkownik, nie root. Po kolei wszystkie kroki.

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

7 (edytowany przez oneiro 2020-11-17 09:02:40)

Odp: Brak statycznego adresu IPv4 w obrazie

Zrobiłem po kolei wszystko i te same błędy. Nawet nową maszynę VM postawiłem od zera.
Ale poradziłem sobie z tym, wyszło że dopiero 2x odpalenia "make package/symlinks" / "feeds install -a" pomaga.  Gdzieś wyczytałem, że za pierwszym feeds ich jeszcze nie przemielił bibliotek, a są one potrzebne dla innych pakietów. Stąd drugie zapuszczenie pomaga i też tak było w moim przypadku.

Niemniej i tak się wysypało pod koniec kompilacji:

lto1: internal compiler error: compressed stream: data error
0x7eb5a7 lto_end_uncompression(lto_compression_stream*)
        /home/krzysiek/openwrt/build_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.5.0_musl_eabi/gcc-7.5.0/gcc/lto-compress.c:293
0x7e9a60 lto_get_section_data(lto_file_decl_data*, lto_section_type, char const*, unsigned long*, bool)
        /home/krzysiek/openwrt/build_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.5.0_musl_eabi/gcc-7.5.0/gcc/lto-section-in.c:164
0x5bcf9e cgraph_node::get_untransformed_body()
        /home/krzysiek/openwrt/build_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.5.0_musl_eabi/gcc-7.5.0/gcc/cgraph.c:3611
0x5c6c39 cgraph_node::expand()
        /home/krzysiek/openwrt/build_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.5.0_musl_eabi/gcc-7.5.0/gcc/cgraphunit.c:2012
0x5c8253 expand_all_functions
        /home/krzysiek/openwrt/build_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.5.0_musl_eabi/gcc-7.5.0/gcc/cgraphunit.c:2178
0x5c8253 symbol_table::compile()
        /home/krzysiek/openwrt/build_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.5.0_musl_eabi/gcc-7.5.0/gcc/cgraphunit.c:2536
0x555997 lto_main()
        /home/krzysiek/openwrt/build_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.5.0_musl_eabi/gcc-7.5.0/gcc/lto/lto.c:3367
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://bugs.openwrt.org/> for instructions.
make[5]: *** [/home/krzysiek/openwrt/tmp/ccyXhDmd.mk:8: /home/krzysiek/openwrt/tmp/ccEWJ51A.ltrans2.ltrans.o] Error 1
lto-wrapper: fatal error: make returned 2 exit status
compilation terminated.
/home/krzysiek/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.5.0_musl_eabi/lib/gcc/arm-openwrt-linux-muslgnueabi/7.5.0/../../../../arm-openwrt-linux-muslgnueabi/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:213: dropbearmulti] Error 1
make[4]: Leaving directory '/home/krzysiek/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/dropbear-2019.78'
make[3]: *** [Makefile:167: /home/krzysiek/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/dropbear-2019.78/.built] Error 2
make[3]: Leaving directory '/home/krzysiek/openwrt/package/network/services/dropbear'
time: package/network/services/dropbear/compile#4.68#2.23#6.62
make[2]: *** [package/Makefile:113: package/network/services/dropbear/compile] Error 2
make[2]: Leaving directory '/home/krzysiek/openwrt'
make[1]: *** [package/Makefile:107: /home/krzysiek/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/krzysiek/openwrt'
make: *** [/home/krzysiek/openwrt/include/toplevel.mk:227: world] Błąd 2

Widać nie jest mi dane skompilować samodzielnie obrazu, skorzystam z gotowego obrazu.

8

Odp: Brak statycznego adresu IPv4 w obrazie

Daj kilka linii wcześniej. Na jakim system to kompilujesz?

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

9

Odp: Brak statycznego adresu IPv4 w obrazie

Na Debianie w VM na laptopie.

Ale uruchomiłem na moim fizycznym NAS: OpenMediaVault (w sumie to też Debian) te same kroki co wykonywałem w VM i poszło, utworzyły się obrazy z obsługą sieci. Kompilowałem dla gałęzi:

git checkout v19.07.4

A teraz w  systemie nie mogę części rzeczy zainstalować, dlaczego ?

root@OpenWrt:/mnt# opkg install kmod-fs-ntfs
Installing kmod-fs-ntfs (4.14.195-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.4/targets/sunxi/cortexa7/packages/kmod-fs-ntfs_4.14.195-1_arm_cortex-a7_neon-vfpv4.ipk
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-fs-ntfs:
 *      kernel (= 4.14.195-1-9801ec2dfc48e8fb2cc10a339283e7b0)
 * opkg_install_cmd: Cannot install package kmod-fs-ntfs.
root@OpenWrt:/mnt# uname
Linux
root@OpenWrt:/mnt# uname -a
Linux OpenWrt 4.14.195 #0 SMP PREEMPT Sun Sep 6 16:19:39 2020 armv7l GNU/Linux
root@OpenWrt:/mnt# opkg install ntfs-3g
Installing ntfs-3g (2017.3.23-2-fuseint) to root...
Downloading http://downloads.openwrt.org/releases/19.07.4/packages/arm_cortex-a7_neon-vfpv4/packages/ntfs-3g_2017.3.23-2-fuseint_arm_cortex-a7_neon-vfpv4.ipk
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for ntfs-3g:
 *      kernel (= 4.14.195-1-9801ec2dfc48e8fb2cc10a339283e7b0)
 * opkg_install_cmd: Cannot install package ntfs-3g.

10

Odp: Brak statycznego adresu IPv4 w obrazie

Tyle razy już było i do znudzenia powtarzam. Nawet w faq to jest. Jak sam skompilowałeś system to moduły też masz sam skompilować i zainstalować od siebie. Nie możesz korzystać z modułów z repozytorium openwrt, one mogę być niekompatybilne.

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

11

Odp: Brak statycznego adresu IPv4 w obrazie

Wybacz, ale nie znalazłem w Twoich artykułach i faq takiej informacji, ale wiedząc już czego szukać google znalazło taką informację w wielu wątkach z forum. Finalnie dodałem ścieżki do pliku /etc/opkg/distfeeds.conf i generalnie zadziałało.

Ale musiałem zapomnieć o jednej rzeczy - kontrolerze sata.  Co muszę skompilować, aby się pojawił?  Oraz czy mogę skompilować jeden kmod bez reszty, jeśli tak mogę prosić o podpowiedź?

12

Odp: Brak statycznego adresu IPv4 w obrazie

Generalna zasada - jeżeli instalujesz moduły kernela upewnij się że pochodzą z tego samego źródła co sam kernel. Czyli jeżeli używasz moich obrazów to używaj też moich modułów do kernela. Z innych źródeł niekoniecznie muszą działać.

To jest w faq.

Co do SATA - pewnie kmod-ata-sunxi

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

13

Odp: Brak statycznego adresu IPv4 w obrazie

Racja, musiałem to przeoczyć:/.
Ale mam jeszcze pytanie, czy da się skompilować sam jeden moduł jadra czy muszę całość?

I temat offtopic - będę chciał zrobić extroot, ale używam obrazu nie squasfs, ale ext4 i katalog overlay jest pusty. Bo całość od razy jest na ext4   bez squasfs.

root@OpenWrt:/# mount
/dev/root on / type ext4 (rw,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)

A będę chciał skopiować konfiguracje na nowy dysk podpięty pod interface SATA pełniący extroot, ale jak go zmapuje to jak mam skopiować wszystko?  Przecież w /mnt (tutaj zamontuje docelowy dysk) też się uwzględni i się zapętli kopiowanie.

14

Odp: Brak statycznego adresu IPv4 w obrazie

Jak dodasz i skompilujesz jeden moduł to znów się zmieni suma kontrolna. Więc skompiluj i zainstaluj obraz ponownie.

Proste - więc po prostu nie kopiuj zawartości /mnt. Naprawdę sam sobie problemów szukasz. Zresztą przecież w /mnt i innych katalog nie ma konfiguracji więc nie wiem po co chciałbyś to kopiować. Przemyśl sprawę jeszcze raz.

Co do extroota na ext4 - nie wiem, nigdy chyba nie miałem okazji robić tak. Sprawdź czy zadziała, ew po prostu podmontujesz sobie katalogi w systemie.

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

15

Odp: Brak statycznego adresu IPv4 w obrazie

Skompilowałem całość, dysk na SATA widoczny, skopiowałem wszystko z katalogu rootfs czyli z / poza /proc i /sys, utworzyłem fstaba (blocka detect...) zmieniałem montowanie  / na dysk SATA (podmiana uuid),  restart i....urządzenie umarło smile

Niestety, nie mam kabelka USB - RS232 (zamówiony, jest w drodze) więc nie wiem co się tam porobiło, ale na szczęście system jest na karcie uSD więc łatwo cofnę zmianę.

16

Odp: Brak statycznego adresu IPv4 w obrazie

Tak swoją drogą - skoro masz system na karcie i możesz sobie kupić większą kartę to po co robisz extroota?

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

17

Odp: Brak statycznego adresu IPv4 w obrazie

Znalazłem u siebie jakaś starą uSD kartę 2 GB, max w zapisie 5MB/s i z niej korzystam, jak system ją zaraz zajedzie to żadna strata, ale to jest powód dlaczego chcę skorzystać z extroot na HDD. Stąd nie chcę iść w większą kartę.

No chyba, że się mylę i karta uSD jest używana tylko jak coś sam zapisze i podczas uruchamiana systemu, a reszta w ramie rzeczy jest w pamięci RAM. Tego nie jestem pewny??

18

Odp: Brak statycznego adresu IPv4 w obrazie

OpenWrt sam w sobie nic nie zapisuje we flash/na karcie. O ile sam nie zapiszesz konfiguracji czy nie skonfigurujesz czegoś co będzie robiło zapis to ta karta będzie wieczna.

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