Benötigen Sie Rat zum Erstellen einer benutzerdefinierten Linux-Distribution (von Grund auf oder mit einer bereits vorhandenen Distribution?)

Benötigen Sie Rat zum Erstellen einer benutzerdefinierten Linux-Distribution (von Grund auf oder mit einer bereits vorhandenen Distribution?)

Ich arbeite an einer Anwendung auf einem bootfähigen USB-Laufwerk, die beim Start ausgeführt wird (und dem Benutzer keinen Zugriff auf etwas anderes als dieses Programm gewährt). Ich dachte, ich würde eine vorhandene Distribution verwenden, alles Überflüssige entfernen und einen Weg finden, die Anwendung von Anfang an zu starten. Ich möchte sie so klein wie möglich halten, da sie auf einem USB-Laufwerk liegt und ich nicht so viel brauche. Ich habe keinerlei Erfahrung mit irgendeiner Linux-Distribution. Ich habe mir auch Linux From Scratch als Möglichkeit angesehen, ebenso wie andere, aber ich könnte ein paar erfahrenere Ideen gebrauchen, welche Distribution ihr mir vorschlagen würdet. Letztendlich brauche ich hochrangigen Zugriff für Tastatur-/Maus-Eingabe, Festplattenzugriff (zumindest Lesen [Schreiben kann ausschließlich auf dem USB-Laufwerk selbst erfolgen]) und Zugriff auf Direct Rendering Manager (oder gleichwertig). Alles mit einer Lizenz, die eine kommerzielle Nutzung erlauben muss. Die Anwendung selbst wird wenn möglich in C(++) sein, aber das ist keine Notwendigkeit).

Weitere wichtige Informationen?: Ich habe vor, alles unter Windows zu programmieren, wobei ich Visual Studios als IDE verwende und VisualGDB, CMake und VM Virtual Box nutze. Als absoluter „Neuling“ in Sachen Linux dachte ich, dass dies der produktivste Weg wäre, anstatt mich auch in die Programmierung unter Linux zu vertiefen.

Zusätzliche Hinweise: Stackoverflow-Benutzer haben einige Vorschläge gemacht, wie etwa TinyCore Linux, Damn Small Linux und Debian.

tl;dr: Ich brauche eine Distribution, die ein hohes Niveau bietet: Tastatureingabe, Festplattenzugriff, Rendering, die von einem USB-Stick gebootet werden kann und eine Lizenz für die kommerzielle Nutzung hat. Was meint ihr?

Antwort1

OK, ich berate Sie gerne zu selbst entwickelten Distributionen im Vergleich zu Standard-Distributionen.

JEDES Mal Standard. Denken Sie nicht einmal daran, Ihr eigenes System zu entwickeln. Als Linux-Anfänger, selbst mit Erfahrung, wäre der Wartungsaufwand viel zu hoch.

Nehmen Sie stattdessen eine der anerkannten Barebone-Distributionen. Mein persönlicher Favorit ist Debian, da es stabil, klein und effizient ist. Es bietet aber auch hervorragenden Support und hat sich bewährt. Und wenn Sie Debian kennen, ist die Arbeit mit jeder der Debian-basierten Superdistributionen wie Ubuntu unkompliziert.

Antwort2

Ich bin etwas spät dran, aber die Meta-DistributionGentoowäre eine großartige Wahl. Aus eigener Erfahrung würde ich es „Linux von Grund auf leicht gemacht“ nennen und es hat eine der besten Dokumentationen, die ich je gesehen habe.

Sie beginnen mit einem sehr kleinen Satz vorkompilierter Programme für Ihre CPU-Architektur, die bei Bedarf sofort neu kompiliert werden können. Es gibt einen Paketmanager, der sich um Abhängigkeiten kümmert und Ihnen ermöglicht, jeden Aspekt der Programmkompilierung anzupassen. Außerdem können Sie Ihren eigenen Kernel kompilieren, was für kleine und/oder eingebettete Systeme unglaublich hilfreich ist. Sie können auch Treiber außerhalb des Kernels kompilieren, sodass Sie fast jede erdenkliche Hardware unterstützen können, während Sie nur die Treiber laden, die Sie benötigen. So bleibt das System während der Laufzeit klein und schnell. Gentoo verwendet standardmäßig auch Open RC, was sehr einfach und unglaublich anpassbar ist.

Leider ist die Lernkurve sehr steil (selbst für Linux-Erfahrene), aber die Dokumentation gehört zu den besten, die ich je gesehen habe, und Sie könnten im Grunde Ihre eigene Distribution erstellen, ohne sich um Paketverwaltung und Abhängigkeiten kümmern zu müssen.

verwandte Informationen