Co to jest Raspbian?

20

Będąc nowym w Linuksie, może to głupie pytanie! Nie do końca rozumiem, jak to wszystko działa, czy Raspbian po prostu skompilował pakiety z kodem źródłowym pobranym z poszczególnych repozytoriów odpowiednich pakietów? Czy wymagane są zmiany w kodzie źródłowym, aby utworzyć dystrybucję, jeśli tak, na przykład czy istnieje oddział lub repozytorium GitHub? I na koniec, jak to się ma do „linux” tutaj github.com/raspberrypi/linux ?

Uszy psa
źródło
Żadne pytanie nie jest głupim pytaniem! Nie mam czasu na udzielenie pełnej odpowiedzi, ale repozytorium, z którym się połączyłeś, to załatane jądro Linuksa , podczas gdy Raspbian jest dystrybucją Linuksa .
Alex Chamberlain,
Sam proces zadawania pytań pomógł mi zrozumieć, niewielka ilość! Czekam na twoją odpowiedź. Pozdrawiam Uszy.
Dog Ears
Podstawowym problemem jest to, że dystrybucja Debian Linux nie obsługuje procesora w Pi w wersji ARM - (pomyśl 486 w porównaniu z Pentium) - więc wolontariusze muszą ponownie skompilować system, aby pracować nad Pi.
Thorbjørn Ravn Andersen

Odpowiedzi:

27

Raspbian jest dystrybucją Linuksa . Wszystko, co jest zbudowane na jądrze Linuxa, można nazwać Linux Distibution.

Zamiast zupełnie nowego systemu operacyjnego, Raspbian jest zmodyfikowaną wersją popularnej dystrybucji Debian Squeeze Wheezy (która jest obecnie w fazie stabilnych testów ). Działa na poprawionej wersji jądra systemu Linux, którą można znaleźć w GaspHub Raspberry Pi . Ta wersja dodaje kilka optymalizacji Raspberry Pi do źródeł jądra.

Raspbian po prostu skompilował pakiety z kodem źródłowym pobranym z poszczególnych repozytoriów odpowiednich pakietów

Najważniejszą różnicą w Raspbian jest to, że jest on zbudowany z obsługą Hard Floating Point , co znacznie poprawia wydajność. Pakiety są zwykle dostarczane jako źródło i mogą być kompilowane z dowolnym kompilatorem, w tym przypadku każdy pakiet (najwyraźniej obecnie w obszarze 35000) musiał zostać zbudowany specjalnie dla Raspberry Pi przy użyciu kompilatora typu hard float (i niektórych innych optymalizacji ).

Czy wymagane są zmiany w kodzie źródłowym, aby utworzyć dystrybucję, jeśli tak, na przykład czy istnieje oddział lub repozytorium GitHub?

Czy jesteś zainteresowany dystrybucją? Możesz zacząć od zapoznania się z procesami, przez które przeszli deweloperzy Raspbian, rozpoczynając. Oto ciekawy post na forach, który warto przeczytać. A potem zastanów się, czy nie poświęcić kilka dni na zapoznanie się z projektem Linux From Scratch .

Jivings
źródło
1
Jest to port wersji debian wheezy (testowanie), a nie ścisnięcie (ostatnia stabilna wersja). Dzięki temu jest to aktualizacja, ale nie oprogramowanie w wersji beta (byłoby to sid). Stabilny oznacza tutaj, że nastąpiło całkowite zawieszenie oprogramowania i tylko aktualizacje zabezpieczeń / poprawek błędów są aktualizowane.
keiki
@darrenjw Wciąż błędnie wpisuję nazwę wszędzie. Dokonane poprawki. Dzięki.
Jivings
Czy to jądro w Github jest jedynym portem dla RPI? Sądzę, że fundacja musi to zrobić z powodu zamkniętych plików binarnych? Czy wszystkie inne dystrybucje, takie jak qtonpi i arch, używają tego samego źródła jądra? Czy to byłoby źródło, którego potrzebowałbym, gdybym eksperymentował z LFS?
Dog Ears
@ Dogears Tak na wszystkie te pytania. Nie jestem pewien co do innych dystrybucji, ponieważ każda z nich będzie miała własne podejście do konfiguracji jądra. Ale spodziewam się, że są oparte na tym źródle.
Jivings
@Jivings - Moje ostatnie pytanie o zmiany w kodzie źródłowym, aby dokonać dystrybucji, takie jak flagi kompilacji i takie nadal pozostają bez odpowiedzi, pracuję przez długi wątek Raspbian, ale wydaje się, że nie widzę żadnej wzmianki o repozytorium (kod źródłowy), w którym czy te zmiany idą?
Dog Ears
6

Linux jest technicznie tylko jądrem, które jest podstawowym oprogramowaniem zapewniającym dostęp do sprzętu na niskim poziomie - takie rzeczy jak wysyłanie danych przez sieć, wyświetlanie grafiki, odtwarzanie dźwięku, uruchamianie i zatrzymywanie programów, czytanie i zapisywanie plików i tak dalej.

Oczywiście potrzebujesz znacznie więcej oprogramowania, aby mieć coś użytecznego. Potrzebujesz takich rzeczy jak powłoka (Command Terminal w Windows), GUI, programy do listy i kopiowania plików, a potem wszystko, co potrzebne, jak menedżer plików, przeglądarka internetowa, odtwarzacze multimedialne, kompilator, cokolwiek. Wszystko to wraz z jądrem stanowi „dystrybucję”. W świecie linuksa ludzie zwykle umieszczają wszystko w dystrybucjach. Na przykład każde oprogramowanie, jakie kiedykolwiek napisano.

Szczerze mówiąc, jest to niewłaściwy sposób, ale nikt nie wymyślił jeszcze lepszego sposobu, a powód jest prosty: różne dystrybucje są niespójne co do tego, jak rzeczy działają, więc często trzeba będzie nieco zmienić oprogramowanie, aby działało na różnych dystrybucjach . Na przykład mogą przechowywać pliki konfiguracyjne w różnych katalogach lub biblioteki nazw inaczej lub wszystkie inne zmiany, niektóre dobre, niektóre idiotyczne.

Jednym z największych sposobów, w jaki dystrybucje różnią się, jest sposób, w jaki obsługują, w tym każde oprogramowanie, jakie kiedykolwiek napisano . Oczywiście nie możesz zainstalować tego całego badziewia na komputerze - zamiast tego jest on gdzieś przechowywany na niektórych serwerach i używasz czegoś, co nazywa się menedżerem pakietów, aby uzyskać to, czego chcesz (w zasadzie sklep z aplikacjami Apple, ale o wiele bardziej wydajny i mniej przyjazny dla użytkownika i nieco mniej niezawodne).

Dwoma najpopularniejszymi menedżerami pakietów są APT (Myślę, że Advanced Package Tool), który jest używany przez bardzo popularną dystrybucję Debian, a także Ubuntu, które wywodzi się z Debiana (dzielą się wieloma rzeczami), oraz RPM (Menedżer pakietów Red Hat) można się domyślić), którego używa Red Hat. To jest bardziej popularne w świecie korporacyjnym.

Wracając do rzeczy, Raspbian to zmodyfikowana wersja Debiana, zoptymalizowana do pracy na Raspberry Pi. Optymalizacje to zasadniczo różne opcje kompilatora, dzięki czemu działa szybciej. Aha, i obejmuje wszystkie zamknięte sterowniki źródłowe i rzeczy niezbędne dla karty graficznej RPi. GPU. Cokolwiek.

Zasadniczo można to uznać za wersję systemu Windows RT systemu Linux.

Mam nadzieję, że to pomogło. Przepraszam, jeśli to było zbyt proste!

Tim
źródło