Was ist Raspbian?

20

Als Linux-Neuling ist das vielleicht eine blöde Frage! Ich verstehe nicht ganz, wie diese Distribution funktioniert. Ist Raspbian nur kompilierte Pakete mit Quellcode aus den einzelnen Repositorys der jeweiligen Pakete? Sind Quellcode-Änderungen erforderlich, um eine Distribution zu erstellen, wenn ja, gibt es beispielsweise eine Filiale oder ein GitHub-Repository? Und wie verhält es sich mit dem "Linux" hier github.com/raspberrypi/linux ?

Hundeohren
quelle
Keine Frage ist eine blöde Frage! Ich habe keine Zeit, eine vollständige Antwort zu geben, aber das Repo, mit dem Sie verbunden sind, ist der gepatchte Linux- Kernel , während Raspbian eine Linux- Distribution ist .
Alex Chamberlain
Schon die Beantwortung der Frage hat mir zum Verständnis verholfen, eine kleine Menge! Ich freue mich auf Ihre Antwort. Prost Ohren.
Hundeohren
Das Hauptproblem ist, dass die Debian-Linux-Distribution die CPU im Pi in ihrer ARM-Version nicht unterstützt (486 versus Pentium). Daher muss das System von Freiwilligen neu kompiliert werden, um am Pi zu arbeiten.
Thorbjørn Ravn Andersen

Antworten:

27

Raspbian ist eine Linux Distribution . Alles, was auf dem Linux-Kernel aufbaut, kann als Linux-Distribution bezeichnet werden.

Anstatt eines brandneuen Betriebssystems ist Raspbian eine modifizierte Version der beliebten Debian Squeeze Wheezy-Distribution (die sich derzeit in stabilen Tests befindet ). Es läuft auf einer gepatchten Version des Linux-Kernels, die auf dem Raspberry Pi GitHub zu finden ist . Diese Version fügt den Kernel-Quellen mehrere Raspberry Pi-Optimierungen hinzu.

Ist Raspbian nur kompilierte Pakete mit Quellcode aus den einzelnen Repositories der jeweiligen Pakete

Der wichtigste Unterschied von Raspbian besteht darin, dass es mit einer Unterstützung für harte Gleitkommazahlen ausgestattet ist , wodurch die Leistung drastisch verbessert wird. Pakete werden in der Regel als Quelle bereitgestellt und können mit jedem Compiler kompiliert werden. In diesem Fall musste jedes Paket (anscheinend derzeit in der Region von 35000) speziell für den Raspberry Pi mit einem Hard-Float-Compiler (und einigen anderen Optimierungen) erstellt werden ).

Sind Quellcode-Änderungen erforderlich, um eine Distribution zu erstellen, wenn ja, gibt es beispielsweise eine Filiale oder ein GitHub-Repository?

Interessieren Sie sich für eine Distribution? Sie könnten damit beginnen, die Prozesse zu lesen, die die Raspbian-Entwickler beim Start durchlaufen haben. Hier ist ein interessanter Beitrag in den Foren, der es wert ist, gelesen zu werden. Nehmen Sie sich ein paar Tage Zeit, um sich mit einem Linux From Scratch- Projekt vertraut zu machen.

Jivings
quelle
1
Es ist eine Portierung der Debian-Version Wheezy (Testing) und nicht Squeeze (Last Final Stable). Damit ist es up2date, aber keine Beta-Software (das wäre sid). Stabil bedeutet hier, dass es ein vollständiges Software-Einfrieren gibt und nur Sicherheits- / Bugfix-Releases aktualisiert werden.
Keiki
@darrenjw Ich schreibe den Namen überall falsch. Korrekturen vorgenommen. Vielen Dank.
Jivings
Ist dieser Kernel auf Github der einzige Port für das RPI? Ich denke, das muss von der Stiftung wegen der Closed-Source-Binaries gemacht werden? Verwenden alle anderen Distributionen wie qtonpi und arch dieselbe Kernelquelle? Wäre das die Quelle, die ich benötigen würde, wenn ich mit der LFS experimentieren würde?
Hundeohren
@ DogEars Ja zu all diesen Fragen. Bei den anderen Distributionen bin ich mir nicht sicher, da sie alle ihre eigenen Einstellungen für die Kernelkonfigurationen haben werden. Aber ich gehe davon aus, dass sie auf dieser Quelle basieren.
Jivings
@Jivings - Meine letzte Frage zu Quellcode-Änderungen, um die Distribution zu erstellen, wie Build-Flags und solche, bleibt unbeantwortet. Ich arbeite mich durch einen langen Raspbian-Thread, kann aber anscheinend keinen Hinweis auf ein (Quellcode-) Repository finden, in dem Gehen diese Änderungen?
Hundeohren
6

Linux ist technisch gesehen nur der Kernel, der als Kernsoftware den einfachen Zugriff auf die Hardware ermöglicht - beispielsweise das Senden von Daten über das Netzwerk, das Anzeigen von Grafiken, die Tonausgabe, das Starten und Beenden von Programmen, das Lesen und Schreiben von Dateien usw.

Natürlich braucht man viel mehr Software, um etwas Nützliches zu haben. Sie benötigen eine Shell (Command Terminal in Windows), eine grafische Benutzeroberfläche, Programme zum Auflisten und Kopieren von Dateien und dann alles, was Sie brauchen, wie Dateimanager, Webbrowser, Media Player, Compiler usw. All das zusammen mit dem Kernel ist eine "Distribution". In der Linux-Welt tendieren die Leute dazu, alles in Distributionen zu stecken . Wie jedes Stück Software, das jemals geschrieben wurde.

Es ist ehrlich gesagt der falsche Weg, aber niemand hat sich einen besseren Weg ausgedacht, und der Grund ist einfach: Unterschiedliche Distributionen sind uneinheitlich in Bezug auf die Funktionsweise, so dass die Software häufig ein wenig geändert werden muss, um auf verschiedenen Distributionen zu arbeiten . Zum Beispiel können sie Konfigurationsdateien in verschiedenen Verzeichnissen speichern oder Bibliotheken unterschiedlich benennen oder alle Arten von anderen Änderungen, manche gut, manche idiotisch.

Eine der größten Unterschiede zwischen den Distributionen ist der Umgang mit jeder Software, die jemals geschrieben wurde . Natürlich können Sie diesen ganzen Mist nicht auf Ihrem Computer installieren - stattdessen wird er irgendwo auf einigen Servern gespeichert, und Sie verwenden einen sogenannten Paketmanager, um das zu bekommen, was Sie wollen (im Grunde wie Apples App Store, aber viel leistungsfähiger und viel weniger benutzerfreundlich und etwas weniger zuverlässig).

Die zwei beliebtesten Paketmanager sind APT (Advanced Package Tool, glaube ich), das von der sehr beliebten Distribution Debian verwendet wird, und Ubuntu, das von Debian abgeleitet ist (sie teilen eine Menge Dinge) und RPM (Red Hat Package Manager) man würde raten), die von Red Hat verwendet wird. Das ist in der Geschäftswelt beliebter.

Um auf den Punkt zurückzukommen, ist Raspbian eine modifizierte Version von Debian, die für die Arbeit am Raspberry Pi optimiert wurde. Die Optimierungen sind grundsätzlich verschiedene Compileroptionen, damit es schneller läuft. Oh und es enthält alle Closed-Source-Treiber und die für die RPi-Grafikkarte erforderlichen Dinge. GPU. Wie auch immer.

Sie können es sich im Grunde wie die Linux-Version von Windows RT vorstellen.

Hoffe das hat geholfen. Entschuldigung, wenn es zu einfach war!

Tim
quelle