1

Temat: Maszyna do kompilacji OpenWRT.

Jako że „nowy” witam serdecznie wszystkich!
Mam pytanie do Was ogółu, a w szczególności do Sz.P. Cezara dotyczące maszyny do kompilacji OpenWRT. U mnie kompilacja na 2 platformy trwa ~4H co przy częstych zmianach – doprowadza mnie do szewskiej pasji. Czarku ty jako osoba „wyjątkowo płodna” smile posiadać farmę kompilacyjną 100xi7 i prywatną elektrownie????
Ja z przyczyn organizacyjno-logistycznych (niestety) kompiluje w VB i to jakby główny problem, no ale 4h???

DLINK DIR320, TP-LINK WDR 4300, TP-LINK WDR 4900 v.1, MIKROTIK RB1100

2

Odp: Maszyna do kompilacji OpenWRT.

SWM napisał/a:

Ja z przyczyn organizacyjno-logistycznych (niestety) kompiluje w VB i to jakby główny problem, no ale 4h???

Nie napisałeś jak masz skonfigurowaną maszynę wirtualną (jakie zasoby jej przydzieliłeś) i jakimi zasobami sprzętowymi dysponuje cała platforma.

3

Odp: Maszyna do kompilacji OpenWRT.

Już spieszę z doprecyzowaniem, ale wcześniej WIELKI SZACUN za pracę która wykonałeś z ubocikiem......
no ale do rzeczy:
Tak jak pisałem wcześniej nie korzystam z natywnego Debiana (niestety) lecz z virtualki.
A dokładnie:
Gospodarz: CPU i7@1,7GHz, 8GB RAM, SSD ,Win7, VB 4.3.18,
Gość wheezy 7.7 64b jajko Linux 3.2.0-4-amd6, maszyna gościa 4xCORE,4GB
Kompilacje puszczam jako:
make V=s  –j=5  2>&1 | tee build.log

DLINK DIR320, TP-LINK WDR 4300, TP-LINK WDR 4900 v.1, MIKROTIK RB1100

4

Odp: Maszyna do kompilacji OpenWRT.

No to tak, zrezygnuj z V=s - to się przydaje, jak coś się nie buduje. I z tego build.log też zrezygnuj jeżeli nic się nie dzieje - to niepotrzebnie spowalnia cały proces budowania. I nie jestem pewien tego: "-j=X", składnia jest raczej taka: -j X (lub -jX).

Ja jak już jestem pewien, że całość się buduje bez problemów to robię tylko: make -j8, idę napić się kawy, wracam po 10 minutach i jest (zakładając, że wcześniej zbudowany jest już toolchain, bo to jego budowa trwa chyba najdłużej, a nie trzeba go budować za każdym razem - wystarczy raz, dla konkretnej architektury).

5

Odp: Maszyna do kompilacji OpenWRT.

1.Racja! -j 5 a nie jak napisałem -j=5
2. Zdaję sobie sprawę, że logowanie i szczegółowe debugi wyciągają czas.....
3. Te debugi to po to by mi łatwiej było znaleźć problem, teraz od 2 dni nie jestem w stanie doprowadzić "mejkowania" do końca, wywala różne błędy, a jestem na etapie budowy BB z Quaga.
4. Ze względu na SSD wyłączyłem SWAPa w gościu jak i gospodarzu
5. Pepe2k napisz proszę coś o twojej maszynie, wydaję mi się że kiedyś wspominałeś też coś o virtualce?

DLINK DIR320, TP-LINK WDR 4300, TP-LINK WDR 4900 v.1, MIKROTIK RB1100

6

Odp: Maszyna do kompilacji OpenWRT.

Za pierwszym razem zanim wszystko ściągnie to może tyle trwać. Potem już leci.

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

7

Odp: Maszyna do kompilacji OpenWRT.

3. Nie znajdziesz problemu budując z -j. Te różne błędy to właśnie dlatego ze nie wiesz z czego pochodzą.

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

8

Odp: Maszyna do kompilacji OpenWRT.

Cezary napisał/a:

3. Nie znajdziesz problemu budując z -j. Te różne błędy to właśnie dlatego ze nie wiesz z czego pochodzą.

OK THX!
Ja tylko chciałem by było szybciej.... sad
ps. Czarku, napisz coś o swojej maszynie i uzyskanych czasach...

DLINK DIR320, TP-LINK WDR 4300, TP-LINK WDR 4900 v.1, MIKROTIK RB1100

9

Odp: Maszyna do kompilacji OpenWRT.

SWM napisał/a:

3. Te debugi to po to by mi łatwiej było znaleźć problem, teraz od 2 dni nie jestem w stanie doprowadzić "mejkowania" do końca, wywala różne błędy, a jestem na etapie budowy BB z Quaga.

Tak jak napisał Cezary, złota zasada - nie buduje się? To budujesz tak: make V=s. Zatrzyma Ci się na konkretnym błędzie i wszystko będziesz miał podane na talerzu.

SWM napisał/a:

5. Pepe2k napisz proszę coś o twojej maszynie, wydaję mi się że kiedyś wspominałeś też coś o virtualce?

Aktualnie na bardzo mocnej maszynie z 6 fizycznymi rdzeniami.

10

Odp: Maszyna do kompilacji OpenWRT.

A ja na zwykłym laptopie z i5.

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

11 (edytowany przez mar_w 2014-12-05 21:25:11)

Odp: Maszyna do kompilacji OpenWRT.

Ja też nie mogłem doprowadzić "mejkowania" do końca jak zaznaczyłem zbyt dużo pakietów wbudowanych do obrazu.
W zależności od cyfry X ( -jX) proces zatrzymywał się za każdym razem w innym miejscu. Potem została tylko metoda małych kroczków, aż do uzyskania max objętości pliku pod dany model....

Czasem można zapomnieć o tym ograniczeniu...

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

12

Odp: Maszyna do kompilacji OpenWRT.

mar_w napisał/a:

Ja też nie mogłem doprowadzić "mejkowania" do końca jak zaznaczyłem zbyt dużo pakietów wbudowanych do obrazu.
Czasem można zapomnieć o tym ograniczeniu...

mar_w - tez mnie to spotkało, tylko wydaje mi się ze domyślna akcją toolchana w takim przypadku jest ....nie tworzenie bina z obrazem? I to bez żadnego piergnięcia (czyt ostrzeżenia czy błędu)!!!
Dlatego ja zawsze generuje pełny "ramdisk: root filesystem" który służy jako flaga czy allOK i squsha właściwego do routerka. U mnie się wyjaśniły 2dniowe problemy, rozjechały się feedsy w stosunku do źródła właściwego smile
Pomogło:
./scripts/feeds update
./scripts/feeds install -a
no ale wracając do sedna napisczcie w szczegółach czym kopilujecie (mamy Czarka i Piotrka), iteresujące będzie
1. CPU
2. RAM
3. OS platformy kopilatora (dokladna wersja z szerokością szyny)
4. [opcjonalny] OS platformy gospodarza
i czas kopilacji po clean-nie
Będziemy mieli motywator do wydania kaski no nową zabawkę smile

DLINK DIR320, TP-LINK WDR 4300, TP-LINK WDR 4900 v.1, MIKROTIK RB1100

13 (edytowany przez build000 2014-12-06 03:00:18)

Odp: Maszyna do kompilacji OpenWRT.

Serwerowa stacja robocza, w skrócie:
Architektura x64, 16 rdzeni, zegar coś ok. 4 GHz, 64 GB RAM, dyski SAS w raid 0 (tylko na same potrzeby budowania - na system jest SSD w raid 0), system zawsze debianopodobny - preferuję osobiście ubuntu LTS, z tych które pasują pod daną kompilację różnych rzeczy (zgodność bibliotek, inne myki, i.t.d.).

Użycie:
Dostęp zdalny po openvpn przez x2go na LXDE. Graficznie czasem coś robię, czy zwyczajnie jest łatwiej - sama kompilacja już w czystej konsoli (wtedy dostęp po ssh), jak wszystko pewne: "make -j17 V=99". Jak chcę mieć pełny debug zapisuję do pliku lub robię pod LXDE w jakimś graficznym emulatorze terminala z wyłączoną wielkością bufora (ustawiony na nieograniczoną ilość wyświetlanych linii).
wink
EDIT: ...jest nawet szybko... big_smile
Jak się coś chrzani to wtedy bez -j --- wtedy jest różnie i trwa do ok. 1.5-2 h.
Używam również tego dedyka do innych rzeczy, więc musi być moc i uniwersalność - koszt miesięczny ok. 180 zeta
- korzystam z różnych zniżek jako wieloletni klient, czy też korzystnych, okresowych promocji - normalnie byłoby na start coś ok. 450-500 PLN/m-ąc.

14

Odp: Maszyna do kompilacji OpenWRT.

Od zera do bohatera smile - wraz z toolchainem, trochę dodatkowych paczek, jedna platforma - godzina z hakiem, do półtorej w wersji max. Bez toolchaina - dużo szybciej.
8-letni thinkpad z Core2duo 2.4 i 3 GB RAM, pod lubuntu.

ZTE F601 GPON - Xiaomi Mi Router 3G - Orange Pi PC2

15 (edytowany przez Gruberek 2014-12-06 09:39:22)

Odp: Maszyna do kompilacji OpenWRT.

Witam.
Nie korzystałem nigdy z wirtualizacji i nie wiem co zainstalować. VirtualBox, VMWare czy może coś innego polecacie? Najlepiej darmowego oczywiście. Laptop z i7-4700MQ, 8GB ram i dyskiem SSD ( Windows 8.1 x64 ).

Home: ZyXEL NBG6817 (OpenWrt)
NAS: HP ProLiant MicroServer Gen8 E3-1265L V2, 16 GB (PVE)

16 (edytowany przez build000 2014-12-06 09:41:34)

Odp: Maszyna do kompilacji OpenWRT.

Dla linucha wystarczy darmowy Virtualbox - kwestie grafiki są drugorzędne (w zasadzie w tym VMware jest lepszy, pomijając bardziej rozbudowane scenariusze portalowe, i.t.d.).

17

Odp: Maszyna do kompilacji OpenWRT.

build000 napisał/a:

Dla linucha wystarczy darmowy Virtualbox - kwestie grafiki są drugorzędne (w zasadzie w tym VMware jest lepszy, pomijając bardziej rozbudowane scenariusze portalowe, i.t.d.).

OK, dzięki za info. Zainstaluję najnowsze Ubuntu i zobaczymy co z tego będzie smile

Home: ZyXEL NBG6817 (OpenWrt)
NAS: HP ProLiant MicroServer Gen8 E3-1265L V2, 16 GB (PVE)

18

Odp: Maszyna do kompilacji OpenWRT.

Najnowsze to Ci odradzam - jak już to 12.04 (góra 14.04 - tu więcej jednak problemów) jak chcesz mieć mniej kłopotów z dostosowaniem wszystkich wymogów bibliotek, i.t.d.

19

Odp: Maszyna do kompilacji OpenWRT.

build000 napisał/a:

Najnowsze to Ci odradzam - jak już to 12.04 (góra 14.04 - tu więcej jednak problemów) jak chcesz mieć mniej kłopotów z dostosowaniem wszystkich wymogów bibliotek, i.t.d.

Chodziło mi oczywiście o LTS czyli 14.04 ale jak mówisz żeby 12.04 instalować to tak zrobię. Wersja Desktop czy Serwer?

Home: ZyXEL NBG6817 (OpenWrt)
NAS: HP ProLiant MicroServer Gen8 E3-1265L V2, 16 GB (PVE)

20 (edytowany przez build000 2014-12-06 09:59:21)

Odp: Maszyna do kompilacji OpenWRT.

To już kwestia osobistych preferencji - jak kto woli - masz nie za ostry ten laptop, więc chyba lepiej wersję serwer - łączyć się możesz też z tą wirtualną maszyną po ssh (wygodniej niż to co oferuje z automatu okienko virtualbox'a) - czyli pod windą jakiś putty czy cuś. Nie zapominaj, że to tylko wirtualna maszyna - żre ostro przy kompilacji z zasobów gospodarza...tak więc...

21

Odp: Maszyna do kompilacji OpenWRT.

Hmm, nie za ostry? Wydaje mi się, że 4 fizyczne rdzenie taktowane na 2.4 w zupełności powinny wystarczyć do kompilacji. Ten VirtualBox nie obsługuje systemów x64? Czy jakąś złą wersję ściągnąłem, bo na liście systemów mam tylko x86.

Home: ZyXEL NBG6817 (OpenWrt)
NAS: HP ProLiant MicroServer Gen8 E3-1265L V2, 16 GB (PVE)

22 (edytowany przez build000 2014-12-06 10:01:06)

Odp: Maszyna do kompilacji OpenWRT.

Obsługuje - sprawdź dokładnie ustawienia i to co zassałeś - dla Ciebie, jak zrozumiałem, to nowy soft, więc trzeba Ci się trochę z nim "oswoić".

23 (edytowany przez pepe2k 2014-12-06 11:14:21)

Odp: Maszyna do kompilacji OpenWRT.

Widać, kto dawno nie kompilował, bo V=99 zniknęło ho ho ho czasu temu (~3 lata temu: https://dev.openwrt.org/changeset/31484).

Jak maszyna wirtualna, to VirtualBox, do tego Ubuntu 12.04 lub 14.04, wyłącznie w 32-bitowej wersji (0 problemów, i tak robimy cross kompilację na zupełnie inną architekturę). Nie ma sensu alokować więcej niż 4 GB RAM dla takiej maszyny, bo przy kompilacji jednego obrazu, dla jednego targetu to i tak jest jakieś 2 razy za dużo (chyba nigdy nie pożarło mi więcej jak 2 GB, włącznie z pracującym systemem).

Na przeciętnym 4-rdzeniowym i7, z dwoma fizycznymi rdzeniami oddelegowanymi dla maszyny wirtualnej, pełna kompilacja BB zajmie około godzinę.

24

Odp: Maszyna do kompilacji OpenWRT.

No u mnie już wszystko się skompilowało. Zero błędów. Oddelegowałem 2 rdzenie fizyczne, 4 GB ram i poszło bardzo szybko. Użyłem VMWare Player, Ubuntu 12.04 LTS x64.

Niestety na tą chwilę to OpenWRT to czarna magia i nie zaryzykuję wgrania tego obrazu do routera big_smile
Poczekam na Gargulca BB i wtedy będę się bawił.

Home: ZyXEL NBG6817 (OpenWrt)
NAS: HP ProLiant MicroServer Gen8 E3-1265L V2, 16 GB (PVE)

25

Odp: Maszyna do kompilacji OpenWRT.

Gruberek napisał/a:

Niestety na tą chwilę to OpenWRT to czarna magia i nie zaryzykuję wgrania tego obrazu do routera big_smile
Poczekam na Gargulca BB i wtedy będę się bawił.

A co to za router?