Si Linux n’est qu’un noyau, comment ses premières versions ont-elles été utilisées (sans distribution)?

112

Linux n'est qu'un noyau et si les utilisateurs veulent l'utiliser, ils ont besoin d'une distribution complète. Cela dit, comment les premières versions de Linux ont-elles été utilisées quand il n'y avait pas de distributions Linux?

noop
la source
66
La prémisse de votre question est imparfaite. Vous n'avez pas besoin d'une distribution pour utiliser Linux. Vous avez besoin du noyau Linux et de certains codes utilisateur. C'est ça. Une "distribution" est simplement ce que nous appelons cela quand quelqu'un d'autre les rassemble pour vous, au lieu de le faire vous-même.
Jörg W Mittag
9
En réalité, à ses débuts, il s’agissait plus d’un problème d’œuf et de poule, faute d’outils décents pour les utilisateurs. Une fois que le responsable de MCC Interim Linux a craqué cet œuf et a écrit plusieurs outils lui-même, au moins fdisk, la porte était ouverte pour que les autres proposent plus facilement leur propre configuration Linux.
Rui F Ribeiro

Réponses:

162

Au tout début de Linux, Linus Torvalds a publié le code source du noyau Linux dans un état alpha pour signaler aux autres utilisateurs que le développement d'un nouveau noyau de type Unix était en cours. À ce moment-là, comme l'a indiqué @RalfFriedi, le noyau Linux était compilé de manière croisée dans Minix.

En ce qui concerne les logiciels utilisables, Linus Torvalds a également porté des utilitaires à distribuer avec le noyau Linux afin que d'autres puissent le tester. Ces programmes étaient principalement bashet gcc, comme décrit par LINUX's History par Linus Torvalds . Par le post Usenet :

De: [email protected] (Linus Benedict Torvalds)  
Groupes de discussion: comp.os.minix
Objet: Que voudriez-vous voir le plus dans minix?
Résumé: petit sondage pour mon nouveau système d'exploitation  
ID du message: <[email protected]>
Date: 25 août 91 20:57:08 GMT
Organisation: Université d'Helsinki

Bonjour tout le monde utilise minix -

Je fais un système d'exploitation (gratuit) (juste un passe-temps, ne sera pas grand et professionnel comme gnu) pour 386 (486) clones. Cela se prépare depuis avril et commence à se préparer. Je souhaite tout retour sur les choses que les gens aiment / n'aiment pas dans minix, car mon système d'exploitation lui ressemble un peu
(même disposition physique du système de fichiers (pour des raisons pratiques), entre autres choses).

J'ai actuellement porté bash (1.08) et gcc (1.40), et les choses semblent fonctionner. Cela implique que j'aurai quelque chose de concret dans quelques mois et j'aimerais savoir quelles fonctionnalités la plupart des gens souhaiteraient. Toutes les suggestions sont les bienvenues, mais je ne promets pas de les implémenter :-)

Linus a distribué le noyau et les programmes utilitaires principaux sur une disquette afin que les utilisateurs puissent l'essayer et éventuellement y contribuer.

Ensuite, il y avait les disquettes de démarrage de HJ Lu . Si cela pouvait s'appeler une distribution, alors elle aurait la réputation d'être la première distribution capable d'être installée sur un disque dur.

Il s’agissait de deux images de disquette de 5¼ "contenant le noyau Linux et le minimum d’outils requis pour démarrer. Si minimes étaient ces outils, pour pouvoir démarrer à partir d’un disque dur, il fallait éditer son enregistrement de démarrage principal avec un éditeur hexadécimal.

chaussure

Finalement, le nombre d’utilitaires est devenu supérieur à la taille maximale d’une disquette.

MCC Interim Linux a été la première distribution Linux à être utilisée par des personnes ayant des compétences légèrement moins techniques en introduisant une installation automatisée et de nouveaux utilitaires tels que fdisk.

MCC Interim Linux était une distribution Linux lancée pour la première fois en février 1992 par Owen Le Blanc du Manchester Computing Center (MCC), qui fait partie de l’Université de Manchester.

La première version de MCC Interim Linux était basée sur Linux 0.12 et utilisait le code de disque mémoire de Theodore Ts'o pour copier une petite image racine dans la mémoire, libérant ainsi le lecteur de disquettes pour des disquettes d'utilitaires supplémentaires. [2]

Il a également déclaré que ses distributions étaient des "expériences non officielles", décrivant les objectifs de ses communiqués comme étant:

  • Fournir une procédure d'installation simple.
  • Fournir une procédure d'installation plus complète.
  • Fournir un service de sauvegarde / restauration.
  • Pour sauvegarder son système (alors) actuel.
  • Pour compiler, lier et tester chaque fichier binaire sous les versions actuelles du noyau, de gcc et des bibliothèques.
  • Fournir un système de base stable, pouvant être installé rapidement et auquel d'autres logiciels peuvent être ajoutés avec relativement peu d'effort.

Après le précurseur du MCC, SLS a été la première distribution à offrir le système X Window en mai 1992. Le concurrent de SLS, le mythique Yggdrasil , a fait ses débuts en décembre 1992.

yggdrasil

D'autres grands distributeurs ont suivi ce que nous connaissons aujourd'hui, notamment Slackware en juillet 1993 (basé sur SLS) et Debian en décembre 1993 jusqu'à la première publication officielle de la version 1.1 en décembre 1995.

Crédits image:
* Image de disquettes d’amorçage / racine à partir de: https://www.maketecheasier.com/
* Image de disquette yggdrasil à partir de: https://yggdrasilblog.wordpress.com/

Rui F Ribeiro
la source
4
Il serait bon de créer un lien vers ces courriers électroniques à partir de la source originale la plus élémentaire, à condition qu'ils soient archivés en ligne quelque part.
Wildcard
2
@Wildcard Ce message électronique a été trouvé sur un site prétendant être une page de Linus Torvald.
Rui F Ribeiro
2
@slm En fait, jadis, j’ai trop souvent déménagé à la maison et le stockage chez mes parents est limité. Auparavant, j’avais les premières disquettes 386BSD / FreeBSD et un CD PCworld de 93 à 95 (peut-être 95) contenant l’ensemble du jeu de disquettes de Linux (je ne me souviens pas de la distribution). J'avais également l'habitude de disposer du jeu complet de disques d'installation SCO V avec une clé valide que j'avais exécutée dans mon 486. J'avais des spécifications très avancées pour l'époque, je travaillais pour un grand fournisseur d'informatique.
Rui F Ribeiro
28
"(juste un passe-temps, ne sera pas grand et professionnel comme le gnou)" Hah.
F. George
9
just a hobby, won't be big and professional like gnuoh boy, avais-tu tort
Alvaro
17

Dans mon cas (c.1994), Linux était conçu sous la forme d’images convenant aux disquettes 3,5 "(1,44 Mo), probablement à la suite des images 5 1/4" mentionnées ci-dessus, et chacune possède un ensemble spécifique de pilotes compilés dans ( réseau, VGA, etc.). Vous deviez donc savoir ce dont vous aviez besoin et espérer avoir un matériel approprié.

Une fois que vous avez démarré et que vous pouvez vous connecter au réseau local ou via un modem, vous avez trouvé le logiciel dont vous aviez besoin (FTP, gopher, etc.). C'était au tout début du "Web" et les moteurs de recherche ne le faisaient pas. existait encore, il fallait donc savoir où aller ou à qui le demander) et le construire soi-même.

J'étais en extase lorsque j'ai pu démarrer mon 486DX, entrer dans le réseau de mon université (56k!) Et monter un partage AFS sur une machine à la maison ... c'était l'époque. ;)

Xavier
la source
2
En supposant que vous ayez fait tout cela en 1994, c'était probablement plus comme 28,8k… de bons moments!
GuitarPicker
En 1994, vous n’aviez pas à jongler avec les disquettes. J'ai commencé avec Linux cette même année mais Slackware avait déjà des distributions complètes sur CD.
Gábor
Vous deviez acheter un CD d'un magazine. A cette époque, les graveurs de CD étaient chers. En ce qui concerne RH, je me souviens d'avoir téléchargé tous les fichiers via FTP au cours d'une fin de semaine avec une fantastique connexion partagée à 256Kbps, de créer une image de CD, puis de graver le CD au travail, peut-être autour de 96.
Rui F Ribeiro
@GuitarPicker, cela aurait pu être optimiste. Beaucoup d'entre nous étaient encore sur 1200,2400 et en 1992, Linux est généralement tombé dans le pétrin d'une institution académique. Comme Linus, notre accès Internet se faisait par numérotation vers une université. Nous avions Usenet et Gopher, mais pas de WWW graphique (mosaïque). En 1992, tout le monde n’avait pas non plus un «386». J'avais un boîtier Olivetti M24 (AT & T) 8086 avec un écran monochrome sous Windows 1 (pas très bien). Minix était un amateur ou une recherche académique, et pas gratuit. Linux était considéré comme un gros problème de bande passante, mais sa capacité augmentait régulièrement. Linux était une grosse affaire sur le campus pour les programmeurs.
mckenzm
12

La version courte

Au moment où Linus a démarré son noyau, le projet Gnu avait un système d'exploitation opérationnel, à l'exception d'un noyau fonctionnel. Ainsi, lorsque les gens ont regardé autour de eux, ils ont trouvé tous les outils dont ils avaient besoin: gcc (et ami: binutils), bash (et amis gnu-utils), emacs,…

Ils construiraient ensuite leur propre système, à partir des pièces.

C'est là que vient cette blague: "Si MS-Windows était un avion, il grimperait à 10 000 pieds, puis exploserait, tuant tout le monde à côté, mais au moins, vous n'avez pas à construire votre propre avion avant de partir."

ctrl-alt-delor
la source
8
Et c’est pourquoi la plupart des distributions sont appelées distributions GNU / Linux , si vous suivez les instructions GNU et FSF.
Nemo
Non, GNU n’avait pas de bonne bibliothèque libc. Linux autrefois utilisait différentes bibliothèques libc. Ce n’est que relativement tard que nous avons eu une bonne bibliothèque glibc. Au début, les outils minix ont été utilisés (produits en partie par GNU).
Giacomo Catenazzi
@GiacomoCatenazzi vrai sur libc. Mais il possédait la plupart des outils utilisateur. Je me souviens de la compilation des outils GNU en 1992 sur Sun Solaris. (Je n'ai pas commencé à utiliser Linux avant la transition mi-glibc.) Ces outils existaient déjà depuis un certain temps (avant Linux).
ctrl-alt-delor
Ouais. J'ai également commencé avec Solaris, préférant les outils GNU à ceux de Sun. À partir de là, je voulais plus d’informations et j’ai donc opté pour Linux (et ma première distribution n’avait pas de système X. Les clients Red Hat pouvaient utiliser un X commercial. Ce n’est que plus tard que nous avons eu XFree86. de nombreuses années (le noyau n’était qu’un pas, mais l’étape la plus "démocratique" [ordinateur + unix basiques était enfin pour tout le monde (ou mieux pour les étudiants)).
Giacomo Catenazzi
12

Dans son livre " Just For Fun ", Linus Torvalds a mentionné que le noyau Linux était à l'origine un simple émulateur de terminal permettant de se connecter à une machine Unix distante via un modem:

Donc, finalement, j'ai pu changer les deux threads, AAAAAAAA et BBBBBBB, de telle sorte que l'un lisait depuis le modem et écrivait à l'écran, et l'autre lisait depuis le clavier et écrivait vers le modem. J'ai eu mon propre programme d'émulation de terminal.

Quand je voulais lire des nouvelles, je mettais ma disquette et redémarrais la machine, et je lisais les nouvelles depuis l'ordinateur de l'université en utilisant mon programme. Si je voulais faire des changements pour améliorer le paquet d'émulation de terminal, je démarrerais dans Minix et l'utiliserais pour la programmation ...

Et parce que je voulais enregistrer des fichiers sur mon système de fichiers Minix - et parce que le système de fichiers Minix était quand même bien documenté -, j'ai rendu mon système de fichiers compatible avec le système de fichiers Minix ...

À ce moment-là, il était clair que le projet était en train de devenir un système d'exploitation. Je me suis donc tourné vers un émulateur de terminal pour le considérer comme un système d'exploitation.

bodqhrohro
la source
10

Édité: suppression du manque de compréhension embarrassant de la façon dont les noyaux fonctionnent et de la partie importante qui reste.

Le domaine utilisateur GNU existait avant le noyau Linux.

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

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

Peter MacDonald est largement reconnu pour avoir créé la première distribution GNU / Linux «utilisable».

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

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

De mémoire de certaines discussions que j'ai eues avec lui: Peter travaillait en tant qu'administrateur de systèmes Unix pour le gouvernement et se rendait à l'université de Victoria pour obtenir une maîtrise. Peter voulait un moyen de travailler de chez lui, mais les coûts de licence de bureau Unix étaient prohibitifs. Il connaissait déjà les outils utilisateur GNU. Ainsi, lorsqu'il a vu le message de Linus Torvalds sur le réseau de l'université, il en a profité pour connecter les outils GNU au nouveau noyau. Le problème initial était donc l'inverse de votre question: le pays utilisateur existait déjà et il suffisait d'un noyau.

Quelques autres friandises historiques:

  • Peter ne distribue pas SLS Linux et ne facture aucun frais pour le logiciel. SLS a été distribué par son épouse Colleen et les honoraires concernaient le processus long et coûteux de gravure de CD à envoyer par la poste.
  • Peter a apporté au noyau de nombreuses contributions qui n’ont jamais été reconnues, notamment le chargement dynamique de modules et la gestion améliorée de la mémoire.
  • Le logiciel était «bogué» parce qu'il travaillait, allait à l'école, élevait deux enfants et essayait de satisfaire les utilisateurs de Linux. Nous savons tous combien il est facile de satisfaire les utilisateurs de Linux ...
  • Peter ne se souvient pas de l'argumentation ou du désaccord sur les scripts de l'installateur qui, selon d'autres, ont provoqué une rupture qui a lancé Slackware et Debian.
Dinsdale
la source
2
Si vous pouvez charger un noyau en mémoire et exécuter l'image, la panique se produit car il ne peut pas exécuter / sbin / init. init est déjà un outil utilisateur. Tout programme en C utilisant l'API du noyau est un programme utilisateur.
RalfFriedl
D'oh! Bon point. J'essayais de dire que les outils avec lesquels les utilisateurs interagissent habituellement ne sont pas nécessaires à l'exécution du noyau. Je vais repenser et mettre à jour ...
Dinsdale
Bien qu'il soit assez bien documenté, Peter n'était ni le premier ni le second à distribuer les utilitaires kernel + user land, mais la communauté Linux a beaucoup à faire pour essayer de transformer les distributions Linux en quelque chose de similaire à ce que nous connaissons aujourd'hui.
Rui F Ribeiro
2

Linux a été créé pour remplacer Minix et comprendre la programmation en mode protégé sur un i386. Minix est venu avec la source, et à l'époque il y avait les utilitaires GNU userland et les utilitaires BSD. Les deux étaient disponibles avec la source. Linux a essayé d'être compatible POSIX, le portage n'était donc pas si difficile. L'une des premières étapes a été d'exécuter bash sous Linux. Vous pouvez considérer les débuts de Linux comme une compilation croisée: le noyau devait être compilé sur un autre système.

RalfFriedl
la source
2
Le noyau était en cours de compilation croisée dans Minix.
Rui F Ribeiro
17
Dire que Linux a été "démarré comme une extension de Minix" est trompeur. Oui, c’est vrai que Linus utilisait Minix à ce moment-là, mais Linux ne partage pas une seule ligne de code avec Minix et suit également une philosophie de conception différente (micro-noyau ou monolithique). Minix n'était pas non plus officiellement disponible pour le 386 à cette époque, alors que le noyau Linux était écrit pour le 386 depuis le début. Le premier système de fichiers Linux était le système de fichiers Minix, pour des raisons de compatibilité, mais il s'agissait également d'une réimplémentation complète.
Johan Myréen
10
Linus, et l'auteur de Minix, conviennent tous les deux qu'il n'est pas basé sur Minix.
ctrl-alt-delor
@ JohanMyréen Bien sûr, tout texte court n'est pas la vérité. Même Wikipedia ne contient qu'une brève introduction. Et je sais que Linux a été lancé à cause des faiblesses de Minix. S'il y avait eu un Minix pour i386, il n'y aurait peut-être pas de Linux aujourd'hui. D'autre part, Linux s'inspirait de Minix et le premier système de fichiers pris en charge était Minix. Mais je conviens que l'extension n'est pas le travail correct, j'ai changé la phrase.
RalfFriedl