Temat: n2n v1 w CC
Ubolewam nad brakiem tego pakietu w najnowszym wydaniu. Chętnie bym go sobie skompilował, ale nie wiem jak .
Istnieje na to jakiś prosty sposób z wykorzystaniem źródeł z poprzednich wersji?
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → n2n v1 w CC
Zaloguj się lub zarejestruj by napisać odpowiedź
Ubolewam nad brakiem tego pakietu w najnowszym wydaniu. Chętnie bym go sobie skompilował, ale nie wiem jak .
Istnieje na to jakiś prosty sposób z wykorzystaniem źródeł z poprzednich wersji?
Tak, po prostu weź makefile z BB i skompiluj. Lub zainstaluj pakiet z BB.
Znalazłem makefile w BB wraz z katalogiem files a w nim 2 plikami: n2n.config oraz n2n.init.
Gdzie go skopiować do katalogu ze źródłami CC by był widoczny w make menuconfig?
Co zrobić, żeby ten program (lub inne) znalazł się w pliku z obrazem systemu, a nie trzeba było go dodatkowo instalować?
Cały katalog n2n skopiuj bezpośrednio do katalogu package w źródłach. Wtedy się pojawi.
Zaznaczyć go jako <*>, czytaj: http://eko.one.pl/?p=openwrt-kompilacja
Odnośnie do <*>: zrobiłem tak, ale wielkość skompilowanego obrazu się nie zmieniła, nawet tego nie instalowałem. Usunąłem cały katalog i ściągnąłem od nowa. Spróbuję teraz skompilować. Niestety trochę to potrwa, bo na win10 nie działa mi wirtualizacja .
Dzięki Cezary!
Wielkość obrazu może się nie zmienić. Obraz jest robiony blokami np. po 64KB, więc o ile miałeś jeszcze miejsce wolne w takim bloku i to co dodajesz skompresowane jeszcze się mieści - może się nic nie zmienić.
Dodałem też masę innych rzeczy i było to dużo więcej niż 64kB. Z resztą teraz to nie ma znaczenia, bo już wszystko wywaliłem.
Jeszcze szybkie pytanie: jak wywalić obsługę ipv6? Co mogę usunąć?
W menu jest opcja wyłączenia IPV6 - tyle że ogólnie musisz rekompilacje całości zrobić.
Jest pewien problem: Kompilacja zakończyła się bez błędów:
...
Generating index for package ./zlib_1.2.8-1_ramips_24kec.ipk
Generating index for package ./libmysqlclient_5.1.73-1_ramips_24kec.ipk
Generating index for package ./libpcre_8.37-2_ramips_24kec.ipk
Generating index for package ./mysql-server_5.1.73-1_ramips_24kec.ipk
Generating index for package ./php5-cgi_5.6.8-1_ramips_24kec.ipk
Generating index for package ./php5-mod-mysql_5.6.8-1_ramips_24kec.ipk
Generating index for package ./php5_5.6.8-1_ramips_24kec.ipk
Generating index for package ./zoneinfo-core_2015d-1_ramips_24kec.ipk
Signing package index...
make[2]: Leaving directory `/home/ghost/cc'
make[1]: Leaving directory `/home/ghost/cc'
Tak przynajmniej mi się wydaje.
Brak jednak plików *sysupgrade* i *factory*.
Dlaczego?
Nie zmieniałem nic prócz kompilacji kilku pakietów, dodania n2n i zmiany rozmiaru pamięci w pliku /target/linux/ramips/dts/A5-V11.dts.
Więc jednak za dużo wpakowałeś. Ten php itd też w kompilowałeś?
Tak, jak widać.
Mysql, php i uhttpd nie zmieszczą się w 16MB?
Pewnie niewiele da się zaoszczędzić. Nie doszedłem jednak w którym miejscu mogę wywalić ipv6, a wydaje mi się, że dokładnie przejrzałem całe menu...
Rozmiar powstałego obrazu jest w target/linux/ramips/image/Makefile
Image/Build/Profile/A5-V11=$(call BuildFirmware/Poray4M/$(1),$(1),a5-v11,A5-V11)
Domyślnie są 4M (i to co masz w dts nie wpływa na rozmiar budowane obrazu). Jak dodałeś tyle to się to w 4M nie mieści.
Dzięki Cezary. Jak po sznurku
Czyli jeśli zmienię na Image/Build/Profile/A5-V11=$(call BuildFirmware/Poray16M/$(1),$(1),a5-v11,A5-V11) to będzie git?
Odpowiem sobie sam: nie, nie będzie git
Trzeba jeszcze dopisać jakieś zaklęcie w tym miejscu:
# Sign Poray images
define BuildFirmware/Poray4M/squashfs
$(call BuildFirmware/Default4M/$(1),$(1),$(2),$(3))
if [ -e "$(call sysupname,$(1),$(2))" ]; then \
mkporayfw -B $(3) -F 4M \
-f $(call sysupname,$(1),$(2)) \
-o $(call imgname,$(1),$(2))-factory.bin; \
fi
endef
BuildFirmware/Poray4M/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
define BuildFirmware/Poray8M/squashfs
$(call BuildFirmware/Default8M/$(1),$(1),$(2),$(3))
if [ -e "$(call sysupname,$(1),$(2))" ]; then \
mkporayfw -B $(3) -F 8M \
-f $(call sysupname,$(1),$(2)) \
-o $(call imgname,$(1),$(2))-factory.bin; \
fi
endef
BuildFirmware/Poray8M/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
define BuildFirmware/PorayDualSize/squashfs
$(call BuildFirmware/DefaultDualSize/$(1),$(1),$(2),$(3))
if [ -e "$(call sysupname,$(1),$(2)-4M)" ]; then \
mkporayfw -B $(3) -F 4M \
-f $(call sysupname,$(1),$(2)-4M) \
-o $(call imgname,$(1),$(2)-4M)-factory.bin; \
fi
if [ -e "$(call sysupname,$(1),$(2)-8M)" ]; then \
mkporayfw -B $(3) -F 8M \
-f $(call sysupname,$(1),$(2)-8M) \
-o $(call imgname,$(1),$(2)-8M)-factory.bin; \
fi
endef
BuildFirmware/PorayDualSize/initramfs=$(call BuildFirmware/DefaultDualSize/initramfs,$(1),$(2),$(3))
define BuildFirmware/Gemtek/squashfs
$(call BuildFirmware/Default4M/$(1),$(1),$(2),$(3))
if [ -e "$(call sysupname,$(1),$(2))" ]; then \
mkheader_gemtek "$(call sysupname,$(1),$(2))" \
"$(call imgname,$(1),$(2))-factory.bin" $(2) || \
rm -f "$(call imgname,$(1),$(2))-factory.bin"; \
fi
endef
BuildFirmware/Gemtek/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
Czyżby wystarczyło dodać
define BuildFirmware/Poray16M/squashfs
$(call BuildFirmware/Default16M/$(1),$(1),$(2),$(3))
if [ -e "$(call sysupname,$(1),$(2))" ]; then \
mkporayfw -B $(3) -F 16M \
-f $(call sysupname,$(1),$(2)) \
-o $(call imgname,$(1),$(2))-factory.bin; \
fi
endef
BuildFirmware/Poray16M/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
? Czy to nie jest takie proste?
Albo Poray8M albo sobie z moich łatek CC skopiuj dla 16M - ja robię tak dla WT3020.
Albo Poray8M albo sobie z moich łatek CC skopiuj dla 16M - ja robię tak dla WT3020.
Nie rozumiem. Co to znaczy? Skąd mam je (łatki) wziąć i co z nimi zrobić? Całe 16M byłoby 2x fajniejsze niż 8 .
To zmiany w moich obrazach CC: http://dl.eko.one.pl/chaos_calmer/cc-r47662.patch
Prawie na samym dole masz makro Poray16M, skopuj je sobie do target/linux/ramips/image/Makefile
I zamieniasz Image/Build/Profile/A5-V11=$(call BuildFirmware/Poray4M/$(1),$(1),a5-v11,A5-V11) na
Image/Build/Profile/A5-V11=$(call BuildFirmware/Poray16M/$(1),$(1),a5-v11,A5-V11)
I tyle.
OK, thx.
Dam znać jak się skompiluje na jednym rdzeniu.
Pamiętaj jeszcze o
- $(call Image/Build/Profile/A5-11,$(1))
+ $(call Image/Build/Profile/A5-V11,$(1))
bo to bug w CC jest.
Dodałem tą sekcję "Poray16M" z palca a wcześniej kompilowało się bez problemu, więc chyba to nie problem.
Udało się skompilować, ale jest problem:
root@OpenWrt:~# /etc/init.d/n2n restart
10.11.12.15
18/Dec/2015 01:32:46 [ edge.c:1138] Using supernode 5.39.95.124:9876
ERROR: ioctl() [No such file or directory][2]
Co to znaczy?
Instalacja przebiegła jakby nic dodatkowego się nie zainstalowało, a wydaje mi się, że na BB były jakieś zależności.
root@OpenWrt:~# opkg install /tmp/n2.ipk
Installing n2n (3875-4) to root...
Configuring n2n.
A supernode masz w tej samej wersji co skompilowany n2n? kmod-tun w sumie tylko był w zależnościach.
Ten supernode jest uruchomiony przez Gruberka, użytkownika tego forum. Używam go do mojej sieci v1 i wydaje mi się, że w takiej właśnie wersji skompilowałem (skopiowałem po prostu katalog n2n z BB, a tam chyba w oficjalnych źródłach nie było v2?), ale to chyba bez znaczenia, bo błąd występuje niezależnie od tego jaki adres skonfiguruję.
Kmod-tun mam zainstalowany.
...ale nie ma modułu tun:
root@OpenWrt:/dev# modprobe tun
failed to find a module named tun
root@OpenWrt:/dev# insmod kmod-tun
Failed to find kmod-tun. Maybe it is a built in module ?
Usunąłem cały katalog ze źródłami openwrt, ściągnąłem ponownie, podmieniłem jedynie plik .dts, skompilowałem i kupa:
root@OpenWrt:~# opkg install /tmp/n2n_3875-4_ramips_24kec.ipk
Installing n2n (3875-4) to root...
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for n2n:
* kernel (= 3.18.20-1-c8b57a131072a3198e594822481af3e0) *
* opkg_install_cmd: Cannot install package n2n.
Na obrazie Cezarego działa bez problemu, WTF?
W związku z tym Mam do Cezarego prośbę:
Skompiluj mi proszę obraz z tym plikiem .dts.
Proste - n2n zależy od kmo-tun a ten masz zainstalować ze swojego builda a nie z repozytorium openwrt. Nie ta sygnatura buildu.
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → n2n v1 w CC
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc