Se Linux è solo un kernel, come sono state utilizzate le sue prime versioni (senza distribuzione)?


112

Linux è solo un kernel e se gli utenti vogliono usarlo, hanno bisogno di una distribuzione completa. Detto questo, come sono state utilizzate le prime versioni di Linux quando non c'erano distribuzioni Linux?


66
La premessa della tua domanda è errata. Non hai bisogno di una distribuzione per usare Linux. È necessario il kernel Linux e un po 'di codice userland. Questo è tutto. Una "distribuzione" è semplicemente ciò che la chiamiamo quando qualcun altro li mette insieme per te, invece di farlo tu stesso.
Jörg W Mittag,

9
In realtà, all'inizio era più un problema di galline e uova, per la mancanza di decenti strumenti di terra specifici per l'utente. Una volta che il tizio dietro MCC Interim Linux ha rotto quell'uovo, e ha scritto diversi strumenti da solo, almeno fdisk, la porta era aperta per gli altri a proporre più facilmente la propria configurazione di Linux.
Rui F Ribeiro,



Risposte:


162

Nelle prime fasi di Linux, Linus Torvalds ha rilasciato la sorgente del kernel Linux in uno stato alfa per segnalare ad altri che era in fase di sviluppo un nuovo kernel simile a Unix. A quel punto, come affermato da @RalfFriedi, il kernel Linux era compilato in modo incrociato in Minix.

Per quanto riguarda il software utilizzabile, Linus Torvalds ha anche portato i programmi di utilità da distribuire insieme al kernel Linux per consentire ad altri di testarlo. Questi programmi erano principalmente bashe gcc, come descritto dalla storia di LINUX di Linus Torvalds . Per il post di Usenet :

Da: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)  
Newsgroup: comp.os.minix
Oggetto: Cosa ti piacerebbe vedere di più in minix?
Riepilogo: piccolo sondaggio per il mio nuovo sistema operativo  
ID messaggio: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Data: 25 agosto 91 20:57:08 GMT
Organizzazione: Università di Helsinki

Ciao a tutti là fuori usando minix -

Sto facendo un sistema operativo (gratuito) (solo un hobby, non sarà grande e professionale come GNU) per 386 (486) cloni AT. Questo è stato preparato da aprile e sta iniziando a prepararsi. Vorrei un feedback su cose che piacciono / non piacciono alle persone in minix, dal momento che il mio sistema operativo assomiglia in qualche modo
(lo stesso layout fisico del file system (per motivi pratici) tra le altre cose).

Al momento ho eseguito il porting di bash (1.08) e gcc (1.40) e le cose sembrano funzionare. Ciò implica che entro pochi mesi avrò qualcosa di pratico e mi piacerebbe sapere quali funzionalità la maggior parte delle persone vorrebbe. Eventuali suggerimenti sono benvenuti, ma non prometto che li implementerò :-)

Linus ha distribuito il kernel e i programmi di utilità di base in un formato a dischetto affinché gli utenti possano provarlo e possibilmente contribuire ad esso.

Successivamente, c'erano i dischetti di floppy root Boot di HJ Lu . Se questo potesse essere chiamato una distribuzione, guadagnerebbe la fama di essere la prima distribuzione in grado di essere installata sul disco rigido.

Queste erano due immagini da 5¼ "su dischetto contenenti il ​​kernel Linux e gli strumenti minimi necessari per iniziare. Questi strumenti erano così minimi che per poter avviare da un disco rigido era necessario modificare il suo record di avvio principale con un editor esadecimale.

BootRoot

Alla fine il numero di utility è cresciuto più della dimensione massima di un dischetto.

MCC Interim Linux è stata la prima distribuzione Linux ad essere utilizzata da persone con competenze tecniche leggermente inferiori introducendo un'installazione automatizzata e nuove utility come fdisk.

MCC Interim Linux era una distribuzione Linux rilasciata per la prima volta nel febbraio 1992 da Owen Le Blanc del Manchester Computing Centre (MCC), parte dell'Università di Manchester.

La prima versione di MCC Interim Linux si basava su Linux 0.12 e utilizzava il codice ramdisk di Theodore Ts'o per copiare una piccola immagine radice in memoria, liberando l'unità floppy per ulteriori dischetti di utilità. [2]

Ha anche affermato che le sue distribuzioni erano "esperimenti non ufficiali", descrivendo gli obiettivi delle sue pubblicazioni come:

  • Fornire una semplice procedura di installazione.
  • Fornire una procedura di installazione più completa.
  • Per fornire un servizio di backup / ripristino.
  • Per eseguire il backup del suo (allora) sistema attuale.
  • Per compilare, collegare e testare tutti i file binari nelle versioni correnti di kernel, gcc e librerie.
  • Fornire un sistema di base stabile, che può essere installato in breve tempo e al quale è possibile aggiungere altri software con relativamente poco sforzo.

Dopo il precursore del MCC, SLS è stata la prima distribuzione a offrire il sistema X Window nel maggio del 1992. In particolare, il concorrente di SLS, il mitico Yggdrasil , ha debuttato nel dicembre del 1992.

Yggdrasil

Altri importanti distributori seguirono come li conosciamo oggi, in particolare Slackware nel luglio del 1993 (basato su SLS) e Debian nel dicembre del 1993 fino alla prima versione ufficiale della versione 1.1 nel dicembre del 1995.

Crediti immagine:
* Dischetti boot / root immagine da: https://www.maketecheasier.com/
* yggdrasil dischetto immagine da: https://yggdrasilblog.wordpress.com/


4
Sarebbe bene collegarsi a quei messaggi e-mail dalla fonte originale più semplice, supponendo che siano archiviati online da qualche parte.
Carattere jolly

2
@Wildcard Trovato quel messaggio di posta elettronica su un sito che afferma di essere una pagina di Linus Torvald.
Rui F Ribeiro,

2
@slm In realtà da tempi precedenti, mi sono trasferito a casa troppe volte e il deposito presso i miei genitori è limitato. Avevo i primi dischetti 386BSD / FreeBSD e un CD PCworld da 93-95 (forse 95) con l'intero set di dischetti di Linux (non ricordo la distro). Avevo anche il set completo di dischi di installazione di SCO V con una chiave valida che avevo in esecuzione nel mio 486. All'epoca avevo specifiche hw molto avanzate, ho lavorato per un importante fornitore di computer.
Rui F Ribeiro,

28
"(solo un hobby, non sarà grande e professionale come lo gnu)" Hah.
F. George,

9
just a hobby, won't be big and professional like gnuoh ragazzo, hai sbagliato
Alvaro il

17

Nel mio caso (c.1994) Linux venne costruito come immagini adatte per floppy da 3,5 "(1,44 MB), probabilmente il seguito delle immagini da 5 1/4" menzionate sopra, e ognuna ha un set specifico di driver compilato in ( rete, VGA, ecc.). Quindi dovevi sapere di cosa avevi bisogno e sperare di avere un hardware adatto.

Dopo l'avvio e la connessione alla LAN o al dialup tramite modem, è stato individuato il software necessario (FTP, gopher, ecc.), Questo era proprio all'inizio del "web" e i motori di ricerca no esiste ancora, quindi dovevi sapere dove andare o chi chiedere) e costruirlo tu stesso.

Ero entusiasta quando sono stato in grado di avviare il mio 486DX e comporre il numero nella mia rete universitaria (56k!) E montare una condivisione AFS sulla macchina a casa ... quelli erano i giorni. ;)


2
Supponendo che tu abbia fatto tutto questo nel 1994, probabilmente era più simile a 28.8k ... bei tempi!
GuitarPicker

Nel 1994 non hai dovuto destreggiarti con i floppy. Ho iniziato con Linux lo stesso anno, ma Slackware aveva già distribuzioni complete su CD.
Gábor,

Dovevi comprare un CD da una rivista. All'epoca i masterizzatori di CD erano costosi. Per quanto riguarda RH, ricordo di aver scaricato tutti i file via FTP per un fine settimana in una fantastica connessione condivisa a 256 Kbps, creando un'immagine del CD e quindi masterizzando il CD al lavoro, forse intorno al 96.
Rui F Ribeiro

@GuitarPicker, avrebbe potuto essere ottimista. Molti di noi erano ancora su 1200.2400 e, nel 1992, Linux generalmente scese dalla pipa di un'Istituto accademico. Come Linus, il nostro accesso a Internet era tramite connessione a un'università. Avevamo Usenet e Gopher ma nessun WWW grafico (mosaico). Nel 1992 non tutti avevano un '386. Avevo una scatola Olivetti M24 (AT&T) 8086 con uno schermo monocromatico che eseguiva Windows 1 (non bene). Minix era un appassionato o un inseguimento accademico, e non gratuito. Linux era considerato un maiale di larghezza di banda, ma riusciva a far aumentare regolarmente la capacità. Linux è stato una grande cosa su Campus per i programmatori.
mckenzm,

12

La versione corta

Nel momento in cui Linus ha avviato il suo kernel, il progetto Gnu aveva un sistema operativo funzionante, ad eccezione di un kernel funzionante. Quindi, quando le persone si sono guardate intorno, hanno trovato tutti gli strumenti di cui avevano bisogno: gcc (e amico: binutils), bash (e amici gnu-utils), emacs, ...

Avrebbero quindi costruito il proprio sistema, dalle parti.

È da qui che nasce questa battuta "Se MS-Windows fosse un aeroplano, salirebbe a 10.000 metri, e poi esploderebbe uccidendo tutti i passeggeri a bordo, ma almeno non devi costruire il tuo aereo prima di partire."


8
Ed è per questo che la maggior parte delle distribuzioni sono chiamate distribuzioni GNU / Linux , se segui GNU e FSF.
Nemo,

No. GNU non aveva una buona libreria libc. In passato Linux utilizzava diverse librerie libc. Solo relativamente tardi avevamo una buona libreria glibc. Inizialmente sono stati utilizzati gli strumenti minix (in parte prodotti da GNU).
Giacomo Catenazzi,

@GiacomoCatenazzi vero su libc. Ma aveva la maggior parte degli strumenti di terra dell'utente. Ricordo nel 1992 la compilazione di strumenti GNU da eseguire su Sun Solaris. (Non ho iniziato a usare Linux fino a quando non è stata la metà della transizione a glibc.) Quegli strumenti erano in circolazione da un po '(prima di Linux).
ctrl-alt-delor

Si. Ho anche iniziato con Solaris, preferendo gli strumenti GNU rispetto a quelli Sun. Da lì volevo di più, quindi sono andato su Linux (e la mia prima distribuzione non aveva alcun sistema X. I client Red Hat potevano usare un X commerciale. Solo più tardi abbiamo avuto XFree86. La transizione al vero sistema libero (e principalmente GNU) ha preso molti anni (il kernel era solo un passo, ma il passo più "democratico" [computer + unix di base erano finalmente per tutti (o meglio per gli studenti).
Giacomo Catenazzi,

12

Nel suo libro " Just For Fun " Linus Torvalds menzionava che il kernel Linux inizialmente era un semplice emulatore di terminale per la connessione a macchine Unix remote tramite un modem:

Quindi alla fine sono stato in grado di cambiare i due thread, AAAAAAAA e BBBBBBB, in modo che uno leggesse dal modem e scrivesse sullo schermo, e l'altro leggesse dalla tastiera e scrivesse al modem. Avevo il mio programma di emulazione terminale.

Quando volevo leggere le notizie, inserivo il mio floppy e riavviavo la macchina e leggevo le notizie dal computer dell'università usando il mio programma. Se avessi voluto apportare modifiche per migliorare il pacchetto di emulazione terminale, avrei avviato Minix e lo avrei usato per programmare ...

E poiché volevo salvare i file sul mio file system Minix - e poiché il file system Minix era ben documentato comunque - ho reso il mio file system compatibile con il file system Minix ...

Quando lo feci fu chiaro che il progetto stava per diventare un sistema operativo. Quindi ho spostato il mio pensiero su di esso come un emulatore terminale per considerarlo come un sistema operativo.


10

Modificato: rimossa l'imbarazzante mancanza di comprensione di come funzionano i kernel e lasciato la parte importante.

L'area utente GNU esisteva prima del kernel Linux.

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

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

Peter MacDonald è ampiamente riconosciuto per aver creato la prima distribuzione GNU / Linux "utilizzabile".

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

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

Dalla memoria di alcune discussioni che ho avuto con lui: Peter stava lavorando come amministratore di sistemi Unix per il governo e stava andando all'Università di Victoria per un Master. Peter voleva un modo di lavorare da casa, ma i costi della licenza desktop Unix erano proibitivi. Conosceva già gli strumenti di GNU userland, quindi quando vide il messaggio di Linus Torvalds sulla rete dell'Università, trasse pieno vantaggio e collegò gli strumenti GNU al nuovo kernel. Quindi, in realtà, il problema iniziale era il rovescio della tua domanda: l'area utente esisteva già e tutto ciò che serviva era un kernel.

Alcune altre curiosità storiche:

  • Peter non ha distribuito SLS Linux e non ha addebitato alcun costo per il software. SLS è stato distribuito da sua moglie Colleen e il costo era per il costoso e dispendioso processo di masterizzazione di CD da spedire.
  • Peter ha dato un numero di enormi contributi al kernel che non sono mai stati riconosciuti tra cui il caricamento dinamico del modulo e una migliore gestione della memoria.
  • Il software era "difettoso" perché lavorava, andava a scuola, cresceva due bambini e cercava di rendere felici gli utenti Linux. Sappiamo tutti quanto sia facile rendere felici gli utenti Linux ...
  • Peter non ha alcun ricordo dell '"argomento" / "disaccordo" sugli script di installazione che altri hanno affermato abbia causato una spaccatura che ha avviato Slackware e Debian.

2
Se riesci a caricare un kernel in memoria ed eseguire l'immagine, sarà preso dal panico perché non può eseguire / sbin / init. init è già uno strumento userland. Qualsiasi programma in C per usare l'API del kernel è un programma userland.
RalfFriedl,

D'oh! Buon punto. Stavo cercando di dire che gli strumenti con cui gli utenti interagiscono normalmente non sono necessari per il funzionamento del kernel. Ripenserò e aggiornerò ...
Dinsdale il

Mentre è abbastanza ben documentato, Peter non è stato né il primo né il secondo a distribuire i programmi di utilità land + kernel + user, noi come la comunità Linux siamo molto impegnati a fare uno sforzo per trasformare le distribuzioni Linux in qualcosa di simile come sappiamo oggi.
Rui F Ribeiro,

2

Linux è stato inizialmente avviato come sostituto avanzato di Minix e per comprendere la programmazione in modalità protetta su un i386. Minix arrivò con la fonte, e all'epoca c'erano le utility GNU userland e le utility userland BSD. Entrambi erano disponibili con fonte. Linux ha cercato di essere compatibile con POSIX, quindi il porting non è stato così difficile. Uno dei primi passi è stato eseguire bash su Linux. Puoi considerare i primi giorni di Linux come compilazione incrociata, il kernel doveva essere compilato su un altro sistema.


2
Il kernel veniva compilato in modo incrociato in Minix.
Rui F Ribeiro,

17
Dire che Linux è stato "avviato come estensione di Minix" è fuorviante. Sì, è vero che Linus stava usando Minix in quel momento, ma Linux non condivide una singola riga di codice con Minix e segue anche una diversa filosofia di progettazione (microkernel vs. monolitico). All'epoca Minix non era ufficialmente disponibile per il 386, mentre il kernel Linux era stato scritto per il 386 sin dall'inizio. Il primo filesystem di Linux fu il filesystem Minix, a causa della compatibilità, ma anche questa fu una reimplementazione completa.
Johan Myréen,

10
Linus e l'autore di Minix, entrambi concordano sul fatto che non è Minix o basato su di esso.
ctrl-alt-delor

@ JohanMyréen Naturalmente ogni breve testo non è tutta la verità. Anche Wikipedia contiene solo una breve introduzione. E so che Linux è stato avviato a causa delle carenze di Minix. Se ci fosse stato un Minix per i386, oggi potrebbe non esserci Linux. D'altra parte, Linux è stato ispirato da Minix e il primo file system supportato è stato Minix. Ma sono d'accordo che l'estensione non è il lavoro corretto, ho cambiato la frase.
RalfFriedl,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.