Skocz do zawartości

Wpływ instalacji pakietów na czas ładowania systemu?


Pomocna odpowiedź

To ja inaczej...

RPi to jest normalny komputer dorównujący mocą obliczeniową np. Laptopowi sprzed paru lat (np. Acer Aspire One). Typowym systemem operacyjnym jest Raspbian (czyli Debian dostosowany do konkretnej architektury). Kurs omawia podstawy, natomiast jeśli ktoś chce poznać możliwości systemu, powinien zainteresować się forami/stronami poświęconymi Debianowi (np.forum.dug.net.pl).

Celem kursu jest nauczenie zastosowania RPi w robotyce, a nie szczegółowe omawianie niuansów konfiguracji czy UI, ze szczególnym uwzględnieniem różnic między Linuksem a Windows.

Może być?

//Dyskusja została wydzielona z tematu: Kurs Raspberry Pi - #9 - edytory tekstów, konsola cd.

Link to post
Share on other sites

Dodam tylko, że to też nie jest cała i jedyna prawda. Po pierwsze można na Raspberry używać innych niż Linux systemów - więc to co pokazujemy to tylko "typowe" podejście. Można nawet pisać programy na goły procesor, zupełnie od podstaw. W sieci jest bardzo dobry tutorial programowania w asemblerze na RPi 1, który ktoś przerobił na wersję w C. Malinka udostępnia wyprowadzenia JTAG-a, więc jak ktoś chce za nieduże pieniądze mieć platformę do pisania programów jak na Arduino ale z niewyobrażalnymi zasobami, może z tego skorzystać. Jest nawet dostępny prawie "gotowiec", niestety oparty o język Pascal: https://ultibo.org/make/ - mamy wtedy prawie Arduino, ale z 1GB RAM-u i ogromną mocą obliczeniową.

Kolejna opcja to Windows CE - mam do narzędzi tej firmy głęboką niechęć, ale do podobno działa i pozwala na pisanie programów w platformie .Net czy innych wynalazkach.

Są jeszcze bardziej egzotyczne systemy, jak chodziażby RISC OS.

Jak chodzi o Linux-a to też istnieje kilka podejść. "Typowe", które w kursie nieco powielamy to instalacja Raspbiana i robienie z Malinki nieco powolnego komputera PC.

Jednak prawdziwe skrzydła taka platforma rozwija jeśli zamiast desktopowej dystrybucji użyjemy własnej. W ten sposób wykorzystywany jest Linux w typowych wbudowanych zastosowaniach, np. dekoderach telewizji. Nie instaluje się wówczas na docelowym urządzeniu dużych i ciężkich pakietów, jak np. kompilator gcc, a zamiast tego całe programowanie wykonuje na PC, tylko gotowe programy uruchamia na płytce.

Dzięki takiemu podejściu system uruchamia się kilka sekund, a z powolnego komputera zmienia się w prawdziwą rakietę. Co więcej odpowiednio konfigurując dostęp do systemu plików można wyeliminować takie problemy, które często są opisywane na forach - jak na przykład zużywanie kart SD. To tylko wynika z próby zrobienia z platformy embedded pełnego komputera 🙂

Równie typowe jak używanie pełnego Debiana jest wykorzystywanie dedykowanych dystrybucji pod konkretne zastosowania - chociażby RetroPie do emulacji starszych komputerów, OctoPi do sterowania drukarkami 3D, czy Kodi które pozwala zamienić malinkę w centrum multimedialne.

  • Lubię! 1
Link to post
Share on other sites

@Elvis: przeczytaj to co napisałeś, najlepiej ze dwa razy.

Po pierwsze: Kodi to nie dystrybucja. Dystrybucją dedykowaną do uruchomienia Kodi jest OSMC, Kodi możesz odpalić równie dobrze na Raspbianie, Ubuntu, PLD czy nawet na Windowsie.

Paru drugie: jeśli chcesz omawiać jakieś egzotyczne OS-y to chyba nie tu.

Po trzecie: od kiedy instalacja ciężkiego (co to znaczy?) pakietu typu gcc zmienia cokolwiek oprócz zajętości karty? Mam na RPi2 OSMC+Kodi, trochę własnych usprawnień, do tego gcc z dużą ilością bibliotek, to samo python... Jakoś nie widzę, aby zmieniło mi to prędkość odtwarzania filmu full hd z domowego dlna...

Poza tym: Raspbiana zawsze można przyciąć (wywalając po instalacji niepotrzebne pakiety), lub zainstalować wersję mini (a potrzebne sobie później doinstalować).

Załóżmy jednak, że początkujący ma Raspbiana. Może być?

BTW. nie Win CE a Win10 IoT, darmowy zresztą.

Link to post
Share on other sites

Jest pewnie trochę literówek albo niedociągnięć stylistycznych, ale nie mam teraz czasu na dopieszczanie wpisów, czasem trzeba poudawać że się pracuje 🙂

Co do terminów to nie będę się spierał, chodziło mi o gotowy obraz dostosowany do konkretnych zastosowań - możesz to sobie nazywać jakkolwiek, dla mnie to się niewiele różni od dedykowanej dystrybucji.

Zainstalowanie pakietów ma wpływ na prędkość działania systemu - chociażby większa liczba bibliotek spowalnia wyszukiwanie plików podczas ładowania. Tak samo start systemu, każdy niepotrzebny moduł, czy usługa to czas.

Można oczywiście przycinać dystrybucje, ale spóbuj kiedyś zbudować np. za pomocą buildroot-a własny obraz i zobaczysz różnicę.

Zainstalowanie gcc na docelowym systemie sprawia, że biblioteki muszą być w wersji z symbolami, więc pliki są większe, czytaj ładowanie ich działą wolniej. Budując własny system na PC zostawiasz pełene wersje, na embedded wgrywasz tylko obcięte (stripped). Możesz też wybrać biblioteki zoptymalizowane dla platform wbudowanych (np. uClib), komipilację wykonujesz pod własny model procesora.

Ale faktycznie to nie jest dyskusja na potrzeby kursu dla początkujących 🙂

[ Dodano: 05-02-2018, 14:57 ]

Faktycznie, teraz Win CE nazywają Win10 IoT - nie nadążam za działem marketingu M$. Jak ostatni raz programowałem na WinCE to nazywało się PocketPC, jednak to ciągle to samo...

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Zainstalowanie pakietów ma wpływ na prędkość ładowania systemu???

Kolego, bardzo Cię szanuję, ale przetrzeźwiej trochę zanim jeszcze raz coś takiego napiszesz.

Jeśli chcesz się spierać to napisz, jaki wpływ ma zainstslowanie gcc ze stoma develami na czas startu.

Link to post
Share on other sites

Podobno każdy ocenia innych według siebie, więc skoro proponujesz mi przetrzeźwieć może sam nie czujesz się najlepiej.

Poczytaj o optymalizacji czasu startu systemu, sam zobaczysz. Oczywiście nie kazdy pakiet daje zauważalne opóźnienie, ale niektóre jak najbardziej.

Jak już wcześniej ustaliliśmy, to nie jest temat związany z kursem dla początkujących. Ale jeśli chcesz o tym podyskutować, możesz założyć nowy. Konkretynych wyników nie mam w tej chwili pod ręką, ale mogę pomierzyć dla sama5d2, bo przy tym teraz pracuję.

Link to post
Share on other sites

Nie.

Proszę o konkret: o ile zwalnia start systemu po zainstalowaniu gcc ze wszystkimi możliwymi develami.

Link to post
Share on other sites

Niestety niewiele mogę zrobić w kwestii pomiarów czasu startu Raspbiana. Od razu ma zainstalowane gcc i wszystkie biblioteki, więc ciężko to porównywać.

W każdym razie zmierzony czas startu systemu wychodz od 37 do 40 sekund (od pojawienia się Booting Linux do logowania).

Dla buildroot-a z domyślnymi ustawieniami czas bootowania to 10 - 11 sekund dla tej samej płytki i karty SD.

Mam nadzieję, że te wyniki pokazują różnicę między gotową dystrybucją, a budowaniem własne.

Natomiast do admina mam prośbę o wydzielenie wątku jako zupełnie niezwiązanego z tematem.

Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.