Własna kompilacja tomato by Shibby
|
pedro |
Dodano 31-05-2018 14:24
|
Moderator
Posty: 1001
Dołączył: 21/09/2015 15:03
|
Zacznijmy od tego, co kompilujesz?
ARM, MIPS? Która gałąź?
Netowski 1Gb/1Gb
Huawei E3372s-153 non-hilink + 2x15dBi MIMO
FreshTomato: Asus RT-AC3200 + RT-N18U + RT-N66U + RT-N12
|
|
|
|
Boczek |
Dodano 31-05-2018 19:37
|
Power User
Posty: 206
Dołączył: 02/05/2014 21:09
|
Kompiluję wersję MIPS.
Make uruchamiam w katalogu /home/boczek/FreshTomato-MIPS/release/src/
$ make n V1=1 V2=boczek-n-v1
Wcześniej make clean.
PATH tak wygląda:
boczek@srv1:~/FreshTomato-MIPS/release/src$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/boczek/FreshTomato-MIPS/tools/brcm/hndtools-mipsel-linux/bin:/home/boczek/FreshTomato-MIPS/tools/brcm/hndtools-mipsel-uclibc/bin:/bin:/sbin:/usr/bin:/usr/X11R6/bin
Linki z instrukcji.
boczek@srv1:~/FreshTomato-MIPS/release/src$ cd /opt/brcm
boczek@srv1:/opt/brcm$ ls -la
total 16
drwxr-xr-x 4 boczek boczek 4096 May 31 09:02 .
drwxr-xr-x 3 boczek boczek 4096 May 29 22:45 ..
drwxr-xr-x 3 boczek boczek 4096 May 29 22:45 K24
drwxr-xr-x 3 boczek boczek 4096 May 29 22:45 K26
lrwxrwxrwx 1 root root 32 May 31 09:02 hndtools-mipsel-linux -> K24/hndtools-mipsel-uclibc-4.2.4
lrwxrwxrwx 1 root root 32 May 31 09:02 hndtools-mipsel-uclibc -> K24/hndtools-mipsel-uclibc-4.2.4
Kompilacja wykłada się tak:
AR editors/lib.a
AR libbb/lib.a
AR e2fsprogs/lib.a
make[4]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src/router/busybox'
Makefile:711: recipe for target 'busybox' failed
make[3]: *** [busybox] Error 2
make[3]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src/router'
Makefile:91: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src'
Makefile:712: recipe for target 'bin' failed
make[1]: *** [bin] Error 2
make[1]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src'
Makefile:729: recipe for target 'n' failed
make: *** [n] Error 2
EdgeRouter X: EdgeOS
RT-AX56U: AsusWRT
EA6900: tbd
EA6350: tbd
|
|
|
|
pedro |
Dodano 31-05-2018 23:20
|
Moderator
Posty: 1001
Dołączył: 21/09/2015 15:03
|
W /src niczego nie skompilujesz - to jest z kernelem 2.4, gałąź została porzucona w 2014 roku na wersji 124:
http://tomato.groov.pl/download/K24/
Większość paczek już nie jest kompatybilna z tym kernelem (albo raczej na odwrót).
Kompiluj w /src-rt.
Netowski 1Gb/1Gb
Huawei E3372s-153 non-hilink + 2x15dBi MIMO
FreshTomato: Asus RT-AC3200 + RT-N18U + RT-N66U + RT-N12
|
|
|
|
Boczek |
Dodano 01-06-2018 17:44
|
Power User
Posty: 206
Dołączył: 02/05/2014 21:09
|
ok. Wróciłem z linkami w /opt/brcm do K26:
lrwxrwxrwx 1 root root 32 Jun 1 17:15 hndtools-mipsel-linux -> K26/hndtools-mipsel-uclibc-4.2.4
lrwxrwxrwx 1 root root 32 Jun 1 17:15 hndtools-mipsel-uclibc -> K26/hndtools-mipsel-uclibc-4.2.4
Kompilacja poszła znacznie dalej. Padło po breakpointcie "openssl 25/93".
make[6]: Entering directory '/home/boczek/FreshTomato-MIPS/release/src/router/openssl/crypto/rsa'
mipsel-uclibc-gcc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -ffunction-sections -fdata-sections -DOPENSSL_NO_ERR -DL_ENDIAN -DTERMIO -O3 -DLINUX26 -DCONFIG_BCMWL5 -pipe -DBCMWPA2 -funit-at-a-time -Wno-pointer-sign -mtune=mips32 -mips32 -DOPENSSL_SMALL_FOOTPRINT -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DAES_ASM -c -o rsa_eay.o rsa_eay.c
mipsel-uclibc-gcc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -ffunction-sections -fdata-sections -DOPENSSL_NO_ERR -DL_ENDIAN -DTERMIO -O3 -DLINUX26 -DCONFIG_BCMWL5 -pipe -DBCMWPA2 -funit-at-a-time -Wno-pointer-sign -mtune=mips32 -mips32 -DOPENSSL_SMALL_FOOTPRINT -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DAES_ASM -c -o rsa_gen.o rsa_gen.c
make[6]: *** No rule to make target '../../include/openssl/engine.h', needed by 'rsa_lib.o'. Stop.
make[6]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src/router/openssl/crypto/rsa'
Makefile:88: recipe for target 'subdirs' failed
make[5]: *** [subdirs] Error 1
make[5]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src/router/openssl/crypto'
Makefile:287: recipe for target 'build_crypto' failed
make[4]: *** [build_crypto] Error 1
make[4]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src/router/openssl'
Makefile:790: recipe for target 'openssl' failed
make[3]: *** [openssl] Error 2
make[3]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src/router'
Makefile:91: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src-rt'
Makefile:712: recipe for target 'bin' failed
make[1]: *** [bin] Error 2
make[1]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src-rt'
Makefile:821: recipe for target 'f' failed
make: *** [f] Error 2
boczek@srv1:~/FreshTomato-MIPS/release/src-rt$
Jeśli dobrze to rozumiem to coś z kompilacją RSA pod OpenSSL. Coś mnie zastanawia src i src-rt na zmainę w błędach widzę. Czy to jest ok?
EdgeRouter X: EdgeOS
RT-AX56U: AsusWRT
EA6900: tbd
EA6350: tbd
|
|
|
|
pedro |
Dodano 01-06-2018 18:37
|
Moderator
Posty: 1001
Dołączył: 21/09/2015 15:03
|
Z tego co widzę, to masz nie up-to-date repo w stosunku do mojego.
Musisz zaktualizować, bo tam m.in. jest poprawka dla target'a "f" i "r2f".
Netowski 1Gb/1Gb
Huawei E3372s-153 non-hilink + 2x15dBi MIMO
FreshTomato: Asus RT-AC3200 + RT-N18U + RT-N66U + RT-N12
|
|
|
|
Boczek |
Dodano 01-06-2018 22:23
|
Power User
Posty: 206
Dołączył: 02/05/2014 21:09
|
@pedro,
Dzięki za sugestie!
# Create generic TRX image
Creating TRX: image/freshtomato-K26_RT-MIPSR1-2018.3.001freshtomato-boczek-f-v1-Mini.trx
TRX Image:
Total Size .... : 4022272 (3928.0 KB) (3.8 MB)
Images ...... : 4020196 (0x003d57e4)
Padding ..... : 2048
Avail. for jffs :
4MB, 128K CFE : 0 EBs + 0
4MB, 256K CFE : 0 EBs + 0
8MB, 256K CFE : 61 EBs + 40960
Note : Netgear routers have 6 EBs less available!
CRC-32 ........ : 83D3069F
128K Blocks ... : 31 (0x0000001F)
64K Blocks ... : 62 (0x0000003E)
Offsets:
0: 0x0000001C lzma-loader/loader.gz
1: 0x00000AD8 /home/boczek/FreshTomato-MIPS/release/src-rt/linux/linux-2.6/arch/mips/brcm-boa
2: 0x000D8800 router/mipsel-uclibc/target.image
-----------------
2018.3.001 MIPSR1freshtomato-boczek-f-v1 K26 Mini ready
-----------------
make[2]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src-rt'
make[1]: Leaving directory '/home/boczek/FreshTomato-MIPS/release/src-rt'
Myślę o kolejnym stopniu wtajemniczenia ;-)
Obraz za duży dla mojego WRT54GL. Jak Shiby radził tym wątku metodę małych kroczków. Spróbuję teraz własny target skonfigurować.
EdgeRouter X: EdgeOS
RT-AX56U: AsusWRT
EA6900: tbd
EA6350: tbd
|
|
|
|
pedro |
Dodano 02-06-2018 11:45
|
Moderator
Posty: 1001
Dołączył: 21/09/2015 15:03
|
Oczywiście, zawsze można coś w targecie pokombinować, dodać, odjąć i zrobić to co się używa bez zbędnych pierdółek
PS. Powinien "MiniIPv6" wejść.
Netowski 1Gb/1Gb
Huawei E3372s-153 non-hilink + 2x15dBi MIMO
FreshTomato: Asus RT-AC3200 + RT-N18U + RT-N66U + RT-N12
|
|
|
|
Boczek |
Dodano 02-06-2018 13:32
|
Power User
Posty: 206
Dołączył: 02/05/2014 21:09
|
Udało mi się zejść do 3,5MB wyłączając ficzery. Nie wiem za co odpowiada B=I ale chyba to ustawiając we własnym targecie zyskałem najwięcej miejsca.
Wydaje mi się też, że lista ficzerów w Makefile nie jest kompletna. Np. Adblocka mam na WRT54GL gdzie nie jest mi potrzebny.
EdgeRouter X: EdgeOS
RT-AX56U: AsusWRT
EA6900: tbd
EA6350: tbd
|
|
|
|
pedro |
Dodano 02-06-2018 19:12
|
Moderator
Posty: 1001
Dołączył: 21/09/2015 15:03
|
A Mini MIPSR2 nie wchodzi?
Jest mniejszy niż MIPSR1.
Połączony z 02 czerwiec 2018 20:12:39:
No jasne, przecież potrzebujesz do R1, więc po co Ci R2
Edytowany przez pedro dnia 02-06-2018 20:12
Netowski 1Gb/1Gb
Huawei E3372s-153 non-hilink + 2x15dBi MIMO
FreshTomato: Asus RT-AC3200 + RT-N18U + RT-N66U + RT-N12
|
|
|
|
Boczek |
Dodano 03-06-2018 08:48
|
Power User
Posty: 206
Dołączył: 02/05/2014 21:09
|
EdgeRouter X: EdgeOS
RT-AX56U: AsusWRT
EA6900: tbd
EA6350: tbd
|
|
|
|
overflow2 |
Dodano 03-06-2018 09:25
|
Super User
Posty: 612
Dołączył: 28/01/2008 08:36
|
Nie musisz robić downgrade, kompiluje się bez problemu zarówno MIPS jak i ARM. Robiłem wg opisu świeżą instalację na ubuntu 18.04.
Asus RT-AC56U FT-AIO
|
|
|
|
Boczek |
Dodano 03-06-2018 09:39
|
Power User
Posty: 206
Dołączył: 02/05/2014 21:09
|
@overflow2 Już kompilację uruchomiłem z powodzeniem. Wcześniejsze pytanka mnie interesują - licencje i wszystkie ograniczenia Tomato.
Połączony z 10 czerwiec 2018 09:51:19:
Chcę samodzielnie dodać wsparcie dla kolejnego routera - Linksys EA6350 v1 i v2 (tego drugiego posiadam). Oglądam wcześniejsze pull requesty.
Skąd wziąć pewne dane. Np. boardtype, boardrev i boarnum ?
Połączony z 10 czerwiec 2018 11:21:41:
Ok. Chyba z nvram.
Połączony z 01 lipiec 2018 10:20:19:
Doszukałem się, że wartości: boardtype, boardrev i boarnum są zapisane w CFE.
Pytanie o przekazywanie zmiennych z web-gui do nvram. Czy dobrze podejrzewam, że to robi funkcja nvram(), która jest w komentarzu w plikach *.asp ?
Połączony z 29 grudzień 2018 09:54:23:
Cytat Pytanie o przekazywanie zmiennych z web-gui do nvram. Czy dobrze podejrzewam, że to robi funkcja nvram(), która jest w komentarzu w plikach *.asp ?
Panowie jak to działa?
Edytowany przez Boczek dnia 29-12-2018 09:54
EdgeRouter X: EdgeOS
RT-AX56U: AsusWRT
EA6900: tbd
EA6350: tbd
|
|
|