Temat: n2n v1 w CC

Ubolewam nad brakiem tego pakietu w najnowszym wydaniu. Chętnie bym go sobie skompilował, ale nie wiem jak smile.
Istnieje na to jakiś prosty sposób z wykorzystaniem źródeł z poprzednich wersji?

2

Odp: n2n v1 w CC

Tak, po prostu weź makefile z BB i skompiluj. Lub zainstaluj pakiet z BB.

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

3

Odp: n2n v1 w CC

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ć?

4

Odp: n2n v1 w CC

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

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

5

Odp: n2n v1 w CC

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 sad.
Dzięki Cezary!

6

Odp: n2n v1 w CC

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ć.

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

7

Odp: n2n v1 w CC

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ąć?

8

Odp: n2n v1 w CC

W menu jest opcja wyłączenia IPV6 - tyle że ogólnie musisz rekompilacje całości zrobić.

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

9

Odp: n2n v1 w CC

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.

10

Odp: n2n v1 w CC

Więc jednak za dużo wpakowałeś. Ten php itd też w kompilowałeś?

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

11 (edytowany przez kurwicycek 2015-12-17 12:21:38)

Odp: n2n v1 w CC

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...

12

Odp: n2n v1 w CC

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.

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

13 (edytowany przez kurwicycek 2015-12-17 14:44:23)

Odp: n2n v1 w CC

Dzięki Cezary. Jak po sznurku smile
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 smile
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?

14

Odp: n2n v1 w CC

Albo Poray8M albo sobie z moich łatek CC skopiuj dla 16M - ja robię tak dla WT3020.

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

15

Odp: n2n v1 w CC

Cezary napisał/a:

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 smile.

16

Odp: n2n v1 w CC

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

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

17

Odp: n2n v1 w CC

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.

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

18

Odp: n2n v1 w CC

OK, thx.
Dam znać jak się skompiluje na jednym rdzeniu.

19

Odp: n2n v1 w CC

Pamiętaj jeszcze o
-    $(call Image/Build/Profile/A5-11,$(1))
+    $(call Image/Build/Profile/A5-V11,$(1))

bo to bug w CC jest.

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

20

Odp: n2n v1 w CC

Dodałem tą sekcję  "Poray16M" z palca a wcześniej kompilowało się bez problemu, więc chyba to nie problem.

21 (edytowany przez kurwicycek 2015-12-18 01:45:10)

Odp: n2n v1 w CC

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.

22

Odp: n2n v1 w CC

A supernode masz w tej samej wersji co skompilowany n2n? kmod-tun w sumie tylko był w zależnościach.

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

23 (edytowany przez kurwicycek 2015-12-18 14:38:21)

Odp: n2n v1 w CC

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 ?

24

Odp: n2n v1 w CC

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.

25

Odp: n2n v1 w CC

Proste - n2n zależy od kmo-tun a ten masz zainstalować ze swojego builda a nie z repozytorium openwrt. Nie ta sygnatura buildu.

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