Wenn Linux nur ein Kernel ist, wie wurden dann seine ersten Versionen (ohne Distribution) verwendet?

112

Linux ist nur ein Kernel, und wenn Benutzer ihn verwenden möchten, benötigen sie eine vollständige Distribution. Wie wurden die ersten Linux-Versionen verwendet, als es noch keine Linux-Distributionen gab?

nein
quelle
66
Die Prämisse Ihrer Frage ist fehlerhaft. Sie benötigen keine Distribution, um Linux zu verwenden. Sie benötigen den Linux-Kernel und einen Userland-Code. Das ist es. Eine "Distribution" ist einfach das, was wir es nennen, wenn jemand anderes sie für Sie zusammenstellt, anstatt dass Sie es selbst tun.
Jörg W Mittag
9
In der Realität war es am Anfang eher ein Henne-Ei-Problem, da es anständigen Landwerkzeugen für bestimmte Benutzer mangelte. Als der Typ hinter MCC Interim Linux dieses Ei geknackt und selbst einige Tools geschrieben hatte, fdiskstand die Tür für andere offen, um ihr eigenes Linux-Setup einfacher vorzubereiten.
Rui F Ribeiro

Antworten:

162

In der Anfangsphase von Linux veröffentlichte Linus Torvalds die Linux-Kernelquelle in einem Alpha-Zustand, um anderen zu signalisieren, dass die Arbeit an einem neuen Unix-ähnlichen Kernel in der Entwicklung war. Zu diesem Zeitpunkt wurde, wie @RalfFriedi feststellte, der Linux-Kernel in Minix crosskompiliert.

Was die verwendbare Software angeht, hat Linus Torvalds auch Dienstprogramme portiert, die zusammen mit dem Linux-Kernel verteilt werden, damit andere sie testen können. Diese Programme waren hauptsächlich bashund gcc, wie in der LINUX-Geschichte von Linus Torvalds beschrieben . Per Usenet- Post :

Von: [email protected] (Linus Benedict Torvalds)  
Newsgroups: comp.os.minix
Betreff: Was möchten Sie am liebsten in minix sehen?
Zusammenfassung: kleine Umfrage für mein neues Betriebssystem  
Nachrichten-ID: <[email protected]>
Datum: 25. August 91, 20:57:08 GMT
Organisation: Universität Helsinki

Hallo allerseits mit minix -

Ich mache ein (freies) Betriebssystem (nur ein Hobby, werde nicht so groß und professionell sein wie Gnu) für 386 (486) AT-Klone. Dieses braut seit April und fängt an, fertig zu werden. Ich hätte gerne Feedback zu Dingen, die Leute in Minix mögen / nicht mögen, da mein Betriebssystem dem etwas ähnelt
(gleiche physische Anordnung des Dateisystems (unter anderem aus praktischen Gründen)).

Ich habe derzeit bash (1.08) und gcc (1.40) portiert, und die Dinge scheinen zu funktionieren. Dies impliziert, dass ich in ein paar Monaten etwas Praktisches bekomme und ich würde gerne wissen, welche Funktionen die meisten Leute haben möchten. Vorschläge sind willkommen, aber ich verspreche nicht, dass ich sie umsetzen werde :-)

Linus verteilte den Kernel und die Kerndienstprogramme in einem Diskettenformat, damit Benutzer es ausprobieren und möglicherweise einen Beitrag dazu leisten können.

Danach gab es HJ Lus Boot-Root- Disketten. Wenn dies als Distribution bezeichnet werden könnte, würde es den Ruf gewinnen, die erste Distribution zu sein, die auf der Festplatte installiert werden kann.

Dies waren zwei 5¼ "-Disketten-Images, die den Linux-Kernel und die für den Start erforderlichen Mindesttools enthielten. Um von einer Festplatte booten zu können, musste der Master-Boot-Datensatz mit einem Hex-Editor bearbeitet werden.

Bootroot

Irgendwann wurde die Anzahl der Dienstprogramme größer als die maximale Größe einer Diskette.

MCC Interim Linux war die erste Linux-Distribution, die von Personen mit etwas geringeren technischen Kenntnissen verwendet wurde, indem eine automatisierte Installation und neue Dienstprogramme wie z fdisk.

MCC Interim Linux war eine Linux-Distribution, die erstmals im Februar 1992 von Owen Le Blanc vom Manchester Computing Centre (MCC) der University of Manchester veröffentlicht wurde.

Die erste Version von MCC Interim Linux basierte auf Linux 0.12 und verwendete den Ramdisk-Code von Theodore Ts'o, um ein kleines Root-Image in den Speicher zu kopieren und das Diskettenlaufwerk für zusätzliche Dienstprogrammdisketten freizugeben. [2]

Er gab auch an, dass seine Distributionen "inoffizielle Experimente" seien und beschrieb die Ziele seiner Veröffentlichungen als:

  • Bereitstellung eines einfachen Installationsverfahrens.
  • Vollständigeres Installationsverfahren.
  • Bereitstellung eines Sicherungs- / Wiederherstellungsdienstes.
  • Um sein (damals) aktuelles System zu sichern.
  • Kompilieren, Verknüpfen und Testen jeder Binärdatei unter den aktuellen Versionen von Kernel, gcc und Bibliotheken.
  • Bereitstellung eines stabilen Basissystems, das in kurzer Zeit installiert werden kann und dem mit relativ geringem Aufwand weitere Software hinzugefügt werden kann.

Nach dem MCC-Vorläufer war SLS die erste Distribution, die das X Window System im Mai 1992 anbot. Insbesondere der Konkurrent von SLS, das mythische Yggdrasil , debütierte im Dezember 1992.

yggdrasil

Es folgten weitere wichtige Distributoren, wie wir sie heute kennen, insbesondere Slackware im Juli 1993 (basierend auf SLS) und Debian im Dezember 1993 bis zur ersten offiziellen Version 1.1 im Dezember 1995.


Bildnachweis : * Boot- / Root-Disketten-Image von: https://www.maketecheasier.com/
* yggdrasil-Disketten-Image von: https://yggdrasilblog.wordpress.com/

Rui F Ribeiro
quelle
4
Es wäre gut, auf diese E-Mail-Nachrichten von der einfachsten Originalquelle zu verlinken, vorausgesetzt, sie werden online irgendwo archiviert.
Wildcard
2
@Wildcard Diese E-Mail-Nachricht wurde auf einer Website gefunden, die angibt, eine Linus Torvald-Seite zu sein.
Rui F Ribeiro
2
@slm Eigentlich bin ich aus früheren Zeiten zu oft nach Hause gezogen, und der Speicherplatz bei meinen Eltern ist begrenzt. Früher hatte ich 386BSD / FreeBSD-Disketten und eine PCworld-CD von 93-95 (vielleicht 95) mit dem gesamten Linux-Diskettensatz (kann mich nicht an die Distribution erinnern). Ich hatte auch den kompletten Satz von SCO V-Installationsdisketten mit einem gültigen Schlüssel, den ich in meinem 486 verwendete. Ich hatte zu der Zeit sehr fortgeschrittene Hardware-Spezifikationen und arbeitete für einen großen Computerlieferanten.
Rui F Ribeiro
28
"(Nur ein Hobby, wird nicht so groß und professionell sein wie Gnu)" Hah.
F. George
9
just a hobby, won't be big and professional like gnuOh Mann, hattest du Unrecht
Alvaro
17

In meinem Fall (um 1994) wurde Linux als Abbild für 3,5-Zoll-Disketten (1,44 MB) entwickelt, wahrscheinlich als Nachfolger der oben erwähnten 5-Zoll-Abbilder. Netzwerk, VGA usw.). Also musste man wissen, was man brauchte und irgendwie hoffen, dass man die passende Hardware hatte.

Nachdem Sie gebootet haben und entweder eine Verbindung zum LAN oder eine Einwahl über ein Modem herstellen konnten, haben Sie die benötigte Software gefunden (FTP, Gopher usw.) Es gab sie wirklich noch, also musste man wissen, wohin man gehen sollte oder wen man fragen sollte) und sie selbst bauen.

Ich war begeistert, als ich meinen 486DX booten und mich in mein Universitätsnetzwerk einwählen konnte (56.000!) Und zu Hause eine AFS-Freigabe auf dem Computer bereitstellte ... das waren die Tage. ;)

Xavier
quelle
2
Angenommen, Sie haben das alles 1994 getan, dann waren es wahrscheinlich eher 28,8 km ... gute Zeiten!
GuitarPicker
1994 musste man nicht mit Disketten jonglieren. Ich habe im selben Jahr mit Linux angefangen, aber Slackware hatte bereits vollständige Distributionen auf CD.
Gábor,
Sie mussten eine CD aus einer Zeitschrift kaufen. Zu der Zeit waren CD-Brenner teuer. Was RH betrifft, erinnere ich mich, dass ich alle Dateien über ein Wochenende über FTP in einer fantastischen gemeinsam genutzten 256-Kbit / s-Verbindung heruntergeladen, ein CD-Image erstellt und die CD dann bei der Arbeit gebrannt habe, vielleicht gegen 96.
Rui F Ribeiro
@GuitarPicker, das hätte optimistisch sein können. Viele von uns waren noch auf 1200, 2400 und im Jahr 1992 kam Linux in der Regel in eine akademische Institution. Wie bei Linus erfolgte unser Internetzugang über eine Einwahl in eine Universität. Wir hatten Usenet und Gopher, aber kein grafisches (Mosaic) WWW. 1992 hatte auch nicht jeder einen 386er. Ich hatte eine Olivetti M24 (AT & T) 8086-Box mit einem Monochrom-Bildschirm, auf dem Windows 1 lief (nicht gut). Minix war ein Bastler oder Akademiker und nicht frei. Linux galt als Bandbreitenfresser, brachte aber regelmäßige Kapazitätserweiterungen in Gang. Linux war eine große Sache auf dem Campus für Programmierer.
McKenzm
12

Die kurze Version

Als Linus seinen Kernel startete, hatte das Gnu-Projekt ein funktionierendes Betriebssystem, mit Ausnahme eines funktionierenden Kernels. Als sich die Leute umsahen, fanden sie alle Werkzeuge, die sie brauchten: gcc (und friend: binutils), bash (und friends gnu-utils), emacs, ...

Sie würden dann ihr eigenes System aus den Teilen bauen.

Es ist, woher dieser Witz kommt "Wenn MS-Windows ein Flugzeug wäre, würde es auf 10 Tausend Fuß steigen und dann explodieren und jeden in der Seite töten, aber zumindest müssen Sie Ihr eigenes Flugzeug nicht bauen, bevor Sie abfliegen."

Strg-Alt-Delor
quelle
8
Aus diesem Grund werden die meisten Distributionen GNU / Linux- Distributionen genannt, wenn Sie GNU und FSF folgen.
Nemo
GNU hatte keine gute libc-Bibliothek. Linux benutzte früher verschiedene libc-Bibliotheken. Nur relativ spät hatten wir eine gute glibc Bibliothek. Zu Beginn wurden die Minix-Tools verwendet (teilweise von GNU produziert).
Giacomo Catenazzi
@ GiacomoCatenazzi wahr über libc. Aber es hatte die meisten Benutzer Land-Tools. Ich erinnere mich, dass ich 1992 GNU-Tools kompilierte, um sie unter Sun Solaris auszuführen. (Ich habe erst mit Linux angefangen, als es Mitte des Übergangs zu glibc war.) Diese Tools gab es schon eine Weile (vor Linux).
Strg-Alt-Delor
Ja. Ich habe auch mit Solaris angefangen und habe GNU-Tools den Sun-Tools vorgezogen. Von da an wollte ich mehr, also ging ich zu Linux (und meine erste Distribution hatte keine X-Systeme. Red Hat-Clients konnten ein kommerzielles X verwenden. Erst später hatten wir XFree86. Der Übergang zu einem echten freien (und größtenteils GNU-) System dauerte viele Jahre (Kernel war nur ein Schritt, aber der "demokratischste" Schritt [Computer + Basic Unix waren endlich für alle (oder besser für Studenten).)
Giacomo Catenazzi
12

In seinem Buch " Just For Fun " erwähnte Linus Torvalds, dass der Linux-Kernel ursprünglich ein einfacher Terminal-Emulator für die Verbindung mit einer entfernten Unix-Maschine über ein Modem war:

Letztendlich konnte ich also die beiden Threads AAAAAAAA und BBBBBBB so ändern, dass einer vom Modem las und auf den Bildschirm schrieb und der andere von der Tastatur las und auf das Modem schrieb. Ich hatte mein eigenes Terminal-Emulationsprogramm.

Wenn ich Nachrichten lesen wollte, legte ich meine Diskette ein und startete den Computer neu. Mit meinem Programm las ich Nachrichten vom Universitätscomputer. Wenn ich Änderungen vornehmen wollte, um das Terminal-Emulationspaket zu verbessern, würde ich in Minix booten und es für die Programmierung verwenden ...

Und weil ich Dateien in meinem Minix-Dateisystem speichern wollte - und weil das Minix-Dateisystem sowieso gut dokumentiert war - habe ich mein Dateisystem mit dem Minix-Dateisystem kompatibel gemacht ...

Als ich das tat, war klar, dass das Projekt auf dem Weg war, ein Betriebssystem zu werden. Also habe ich mein Denken als Terminal-Emulator auf ein Betriebssystem umgestellt.

bodqhrohro
quelle
10

Bearbeitet: Der peinliche Mangel an Verständnis dafür, wie Kernel funktionieren, wurde behoben und der wichtige Teil wurde verlassen.

Das GNU-Userland existierte vor dem Linux-Kernel.

https://en.wikipedia.org/wiki/GNU

https://en.wikipedia.org/wiki/Linux_kernel

Peter MacDonald ist weitgehend dafür bekannt, dass er die erste "brauchbare" GNU / Linux-Distribution erstellt hat.

https://en.wikipedia.org/wiki/Peter_MacDonald_(Computer_Programmer)

https://en.wikipedia.org/wiki/Softlanding_Linux_System

Aus der Erinnerung an einige Diskussionen, die ich mit ihm geführt habe: Peter arbeitete als Unix-Systemadministrator für die Regierung und besuchte die University of Victoria für ein Masterstudium. Peter wollte von zu Hause aus arbeiten, aber die Unix-Desktop-Lizenzkosten waren unerschwinglich. Er war bereits mit den GNU-Userland-Tools vertraut. Als er Linus Torvalds Nachricht im Universitätsnetzwerk sah, nutzte er die Vorteile und verkabelte die GNU-Tools mit dem neuen Kernel. Das eigentliche Problem war also die Umkehrung Ihrer Frage: Das Benutzerland existierte bereits und alles, was benötigt wurde, war ein Kernel.

Einige andere historische Leckerbissen:

  • Peter hat SLS Linux nicht vertrieben und für die Software keine Gebühr erhoben. SLS wurde von seiner Frau Colleen vertrieben und die Gebühr für das teure und zeitaufwändige Brennen von CDs zum Versenden von E-Mails.
  • Peter hat eine Reihe von enormen Beiträgen für den Kernel geleistet, die nie zur Kenntnis genommen wurden, darunter dynamisches Laden von Modulen und verbesserte Speicherverwaltung.
  • Die Software war fehlerhaft, weil er arbeitete, zur Schule ging, zwei Kinder großzog und versuchte, Linux-Benutzer glücklich zu machen. Wir alle wissen, wie einfach es ist, Linux-Benutzer bei Laune zu halten ...
  • Peter hat keine Erinnerung an die "Auseinandersetzung" / "Meinungsverschiedenheit" über Installer-Skripte, von denen andere behauptet haben, sie hätten einen Riss verursacht, der Slackware und Debian startete.
Dinsdale
quelle
2
Wenn Sie einen Kernel in den Speicher laden und das Image ausführen können, kommt es zu einer Panik, da / sbin / init nicht ausgeführt werden kann. init ist bereits ein Userland-Tool. Jedes Programm in C zur Verwendung der Kernel-API ist ein Userland-Programm.
RalfFriedl
D'oh! Guter Punkt. Ich habe versucht zu sagen, dass die Tools, mit denen Benutzer normalerweise interagieren, nicht erforderlich sind, damit der Kernel ausgeführt werden kann. Ich werde überdenken und aktualisieren ...
Dinsdale
Obwohl es ziemlich gut dokumentiert ist, dass Peter weder der erste noch der zweite war, der die Kernel + User-Land-Utils verbreitete, haben wir als Linux-Community eine Menge Anstrengungen unternommen, um die Linux-Distributionen in etwas Ähnliches zu verwandeln, wie wir es heute kennen.
Rui F Ribeiro
2

Linux wurde zuerst als erweiterter Ersatz für Minix und zum Verständnis der Programmierung im geschützten Modus auf einem i386 gestartet. Minix kam mit Source, und zu der Zeit gab es die GNU Userland Utilities und die BSD Userland Utilities. Beide waren mit Quelle verfügbar. Linux versuchte, POSIX-kompatibel zu sein, daher war die Portierung nicht so schwierig. Einer der ersten Schritte bestand darin, bash unter Linux auszuführen. Man kann die Anfänge von Linux als Cross-Compilation betrachten, der Kernel musste auf einem anderen System kompiliert werden.

RalfFriedl
quelle
2
Der Kernel wurde in Minix crosskompiliert.
Rui F Ribeiro
17
Zu sagen, dass Linux "als Erweiterung von Minix gestartet" wurde, ist irreführend. Ja, es stimmt, dass Linus zu dieser Zeit Minix verwendet hat, aber Linux teilt keine einzige Codezeile mit Minix und verfolgt auch eine andere Designphilosophie (Mikrokernel vs. Monolithic). Minix war zu diesem Zeitpunkt auch nicht offiziell für den 386 verfügbar, wohingegen der Linux-Kernel von Anfang an für den 386 geschrieben wurde. Das erste Dateisystem von Linux war aus Kompatibilitätsgründen das Minix-Dateisystem, dies war jedoch auch eine vollständige Neuimplementierung.
Johan Myréen
10
Linus und der Autor von Minix sind sich einig, dass es sich nicht um Minix handelt oder darauf basiert.
Strg-Alt-Delor
@ JohanMyréen Natürlich ist jeder kurze Text nicht die ganze Wahrheit. Auch Wikipedia enthält nur eine kurze Einführung. Und ich weiß, dass Linux wegen der Mängel von Minix gestartet wurde. Wenn es ein Minix für i386 gegeben hätte, könnte es heute kein Linux geben. Andererseits wurde Linux von Minix inspiriert, und das erste unterstützte Dateisystem war Minix. Aber ich bin damit einverstanden, dass die Erweiterung nicht die richtige Arbeit ist. Ich habe den Satz geändert.
RalfFriedl