Si Linux es solo un kernel, ¿cómo se usaron sus primeras versiones (sin distribución)?

112

Linux es solo un kernel, y si los usuarios quieren usarlo, necesitan una distribución completa. Dicho esto, ¿cómo se usaron las primeras versiones de Linux cuando no había distribuciones de Linux?

noop
fuente
66
La premisa de su pregunta es errónea. No necesita una distribución para usar Linux. Necesita el kernel de Linux y algo de código de usuario. Eso es. Una "distribución" es simplemente lo que llamamos cuando alguien más los reúne para usted, en lugar de que lo haga usted mismo.
Jörg W Mittag
99
En realidad, al principio era más un problema de gallina y huevo, por la falta de herramientas de tierra específicas para usuarios decentes. Una vez que el tipo detrás de MCC Interim Linux rompió ese huevo y escribió varias herramientas él mismo, al menos fdisk, la puerta estaba abierta para que otros presentaran su propia configuración de Linux con mayor facilidad.
Rui F Ribeiro

Respuestas:

162

En las primeras etapas de Linux, Linus Torvalds lanzó la fuente del kernel de Linux en un estado alfa para indicar a los demás que trabajan para un nuevo kernel similar a Unix en desarrollo. En ese momento, como dijo @RalfFriedi, el kernel de Linux se compiló en Minix.

En cuanto al software utilizable, Linus Torvalds también portó utilidades para distribuir junto con el kernel de Linux para que otros lo prueben. Estos programas fueron principalmente bashy gcc, como lo describe la Historia de LINUX por Linus Torvalds . Según la publicación de Usenet :

De: [email protected] (Linus Benedict Torvalds)  
Grupos de noticias: comp.os.minix
Asunto: ¿Qué te gustaría ver más en minix?
Resumen: pequeña encuesta para mi nuevo sistema operativo  
ID de mensaje: <[email protected]>
Fecha: 25 de agosto de 91 20:57:08 GMT
Organización: Universidad de Helsinki.

Hola a todos por ahí usando minix -

Estoy haciendo un sistema operativo (gratuito) (solo un hobby, no será grande y profesional como gnu) para 386 (486) clones AT. Esto se ha estado gestando desde abril y está comenzando a prepararse. Me gustaría recibir comentarios sobre cosas que les gustan / disgustan a la gente en minix, ya que mi sistema operativo se parece un poco
(el mismo diseño físico del sistema de archivos (debido a razones prácticas), entre otras cosas).

Actualmente he portado bash (1.08) y gcc (1.40), y las cosas parecen funcionar. Esto implica que obtendré algo práctico dentro de unos meses, y me gustaría saber qué características desearía la mayoría de las personas. Cualquier sugerencia es bienvenida, pero no prometo implementarla :-)

Linus distribuyó los programas de utilidad del núcleo y núcleo en un formato de disquete para que los usuarios lo prueben y posiblemente contribuyan a él.

Después, había disquetes de raíz de arranque de HJ Lu . Si esto se pudiera llamar una distribución, entonces ganaría la fama de ser la primera distribución capaz de instalarse en el disco duro.

Estas fueron dos imágenes de disquete de 5¼ "que contienen el kernel de Linux y las herramientas mínimas necesarias para comenzar. Tan mínimas fueron estas herramientas que para poder arrancar desde un disco duro fue necesario editar su registro maestro de arranque con un editor hexadecimal.

bootroot

Finalmente, el número de utilidades creció más que el tamaño máximo de un disquete.

MCC Interim Linux fue la primera distribución de Linux utilizada por personas con habilidades ligeramente menos técnicas al introducir una instalación automatizada y nuevas utilidades como fdisk.

MCC Interim Linux fue una distribución de Linux lanzada por primera vez en febrero de 1992 por Owen Le Blanc del Manchester Computing Center (MCC), parte de la Universidad de Manchester.

La primera versión de MCC Interim Linux se basó en Linux 0.12 e hizo uso del código ramdisk de Theodore Ts'o para copiar una pequeña imagen raíz en la memoria, liberando la unidad de disquete para disquetes de utilidades adicionales. [2]

También afirmó que sus distribuciones eran "experimentos no oficiales", describiendo los objetivos de sus lanzamientos como:

  • Para proporcionar un procedimiento de instalación simple.
  • Para proporcionar un procedimiento de instalación más completo.
  • Para proporcionar un servicio de respaldo / recuperación.
  • Para respaldar su (entonces) sistema actual.
  • Para compilar, vincular y probar cada archivo binario en las versiones actuales del kernel, gcc y las bibliotecas.
  • Para proporcionar un sistema base estable, que se pueda instalar en poco tiempo, y al que se pueda agregar otro software con relativamente poco esfuerzo.

Después del precursor de MCC, SLS fue la primera distribución que ofreció el Sistema X Window en mayo de 1992. Cabe destacar que el competidor de SLS, el mítico Yggdrasil , debutó en diciembre de 1992.

yggdrasil

Otros distribuidores importantes siguieron como los conocemos hoy, en particular Slackware en julio de 1993 (basado en SLS) y Debian en diciembre de 1993 hasta el primer lanzamiento oficial de la versión 1.1 en diciembre de 1995.

Créditos de imagen:
* Imagen de disquete de arranque / raíz de: https://www.maketecheasier.com/
* Imagen de disquete de yggdrasil de: https://yggdrasilblog.wordpress.com/

Rui F Ribeiro
fuente
44
Sería bueno vincular a esos mensajes de correo electrónico de la fuente original más básica, suponiendo que estén archivados en línea en algún lugar.
Comodín el
2
@Wildcard Encontró ese mensaje de correo electrónico en un sitio que dice ser una página de Linus Torvald.
Rui F Ribeiro
2
@slm En realidad, de épocas anteriores, me mudé a casa demasiadas veces y el almacenamiento en casa de mis padres es limitado. Solía ​​tener los primeros disquetes 386BSD / FreeBSD y un CD de PCworld de 93-95 (quizás 95) con todo el conjunto de disquetes de Linux (no recuerdo la distribución). También solía tener el conjunto completo de discos de instalación de SCO V con una clave válida que ejecuté en mi 486. Tenía especificaciones de hardware muy avanzadas para la época, trabajé para un proveedor importante de computadoras.
Rui F Ribeiro
28
"(solo un hobby, no será grande y profesional como gnu)" Hah.
F. George
99
just a hobby, won't be big and professional like gnuoh chico, estabas equivocado
Alvaro
17

En mi caso (c.1994), Linux vino construido como imágenes adecuadas para disquetes de 3.5 "(1.44MB), probablemente el seguimiento de las imágenes de 5 1/4" mencionadas anteriormente, y cada una tiene un conjunto específico de controladores compilados en ( red, VGA, etc.). Entonces tenía que saber lo que necesitaba y tener la esperanza de tener el hardware adecuado.

Después de arrancar, y pudiste conectarte a LAN o marcar por módem, entonces buscaste el software que necesitabas (FTP, Gopher, etc.). Esto fue justo al comienzo de la "web" y los motores de búsqueda no. Realmente existe todavía, así que tenía que saber a dónde ir o a quién preguntar) y construirlo usted mismo.

Estaba extasiado cuando pude arrancar mi 486DX y marcar en mi red universitaria (¡56k!) Y montar un recurso compartido de AFS en la máquina en casa ... esos eran los días. ;)

Javier
fuente
2
Suponiendo que hiciste todo esto en 1994, probablemente fue más como 28.8k ... ¡buenos tiempos!
GuitarPicker
En 1994 no tenías que hacer malabarismos con disquetes. Comencé con Linux este mismo año, pero Slackware ya tenía distribuciones completas en CD.
Gábor
Tenías que comprar un CD de una revista. En ese momento, las grabadoras de CD eran caras. En cuanto a RH, recuerdo haber descargado todos los archivos a través de FTP durante un fin de semana en una fantástica conexión compartida de 256 Kbps, crear una imagen de CD y luego grabar el CD en el trabajo, tal vez alrededor de 96.
Rui F Ribeiro
@GuitarPicker, eso podría haber sido optimista. Muchos de nosotros todavía estábamos en 1200,2400 y en 1992 Linux generalmente cayó en la tubería de una institución académica. Al igual que Linus, nuestro acceso a Internet fue por acceso telefónico a una universidad. Teníamos Usenet y Gopher pero no WWW gráfico (Mosaico). En 1992 no todos tenían un '386 tampoco. Tenía una caja Olivetti M24 (AT&T) 8086 con una pantalla monocromática que ejecutaba Windows 1 (no bien). Minix era un aficionado o una búsqueda académica, y no era gratis. Linux se consideraba como un cerdo de ancho de banda, pero logró aumentar la capacidad de forma regular. Linux fue una gran cosa en el campus para los programadores.
mckenzm
12

La versión corta

En el momento en que Linus comenzó su núcleo, el proyecto Gnu tenía un sistema operativo en funcionamiento, a excepción de un núcleo en funcionamiento. Entonces, cuando la gente miró a su alrededor, encontraron todas las herramientas que necesitaban: gcc (y friend: binutils), bash (y amigos gnu-utils), emacs, ...

Luego construirían su propio sistema, a partir de las partes.

Es de donde viene esta broma: "Si MS-Windows fuera un avión, subiría a 10 mil pies, y luego explotaría, matando a todos a su lado, pero al menos no tiene que construir su propio avión antes de partir".

ctrl-alt-delor
fuente
8
Y esta es la razón por la cual la mayoría de las distribuciones se denominan distribuciones GNU / Linux , si sigue a GNU y FSF.
Nemo
No. GNU no tenía una buena biblioteca libc. Linux en los viejos tiempos usaba diferentes bibliotecas libc. Solo relativamente tarde tuvimos una buena biblioteca glibc. Al principio se utilizaron las herramientas minix (producidas en parte por GNU).
Giacomo Catenazzi
@GiacomoCatenazzi es cierto sobre libc. Pero tenía la mayoría de las herramientas de tierra de los usuarios. Recuerdo en 1992 compilar herramientas de GNU para ejecutarlas en Sun Solaris. (No comencé a usar Linux hasta que estaba a mitad de la transición a glibc.) Esas herramientas habían estado disponibles por un tiempo (antes de Linux).
ctrl-alt-delor
Sí. También comencé con Solaris, prefiriendo las herramientas GNU que las Sun. A partir de ahí quería más, así que fui a Linux (y mi primera distribución no tenía ningún sistema X. Los clientes de Red Hat podían usar una X comercial. Solo más tarde tuvimos XFree86. La transición al verdadero sistema libre (y principalmente GNU) tomó muchos años (el kernel fue solo un paso, pero el paso más "democrático" [computadora + unix básico fue finalmente para todos (o mejor para los estudiantes)).
Giacomo Catenazzi
12

En su libro " Just For Fun ", Linus Torvalds mencionó que el kernel de Linux era inicialmente un simple emulador de terminal para conectarse a una máquina remota de Unix a través de un módem:

Así que finalmente pude cambiar los dos hilos, AAAAAAAA y BBBBBBB, para que uno leyera desde el módem y escribiera en la pantalla, y el otro leyera desde el teclado y escribiera en el módem. Tenía mi propio programa de emulación de terminal.

Cuando quería leer noticias, ponía mi disquete y reiniciaba la máquina, y leía noticias de la computadora de la universidad usando mi programa. Si quisiera hacer cambios para mejorar el paquete de emulación de terminal, iniciaría en Minix y lo usaría para programar ...

Y porque quería guardar archivos en mi sistema de archivos Minix, y porque el sistema de archivos Minix estaba bien documentado de todos modos, hice que mi sistema de archivos fuera compatible con el sistema de archivos Minix ...

Cuando hice esto, estaba claro que el proyecto estaba en camino de convertirse en un sistema operativo. Así que cambié mi pensamiento de él como un emulador de terminal a pensarlo como un sistema operativo.

bodqhrohro
fuente
10

Editado: eliminó la vergonzosa falta de comprensión de cómo funcionan los núcleos y dejó la parte importante.

La tierra de usuarios de GNU existía antes que el kernel de Linux.

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

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

Peter MacDonald es ampliamente reconocido por haber creado la primera distribución GNU / Linux 'utilizable'.

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

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

De la memoria de algunas discusiones que tuve con él: Peter estaba trabajando como administrador de sistemas Unix para el gobierno y yendo a la Universidad de Victoria para obtener una maestría. Peter quería una forma de trabajar desde casa, pero los costos de la licencia de escritorio de Unix eran prohibitivos. Ya estaba familiarizado con las herramientas GNU userland, por lo que cuando vio el mensaje de Linus Torvalds en la red de la Universidad, aprovechó al máximo y conectó las herramientas GNU al nuevo núcleo. Entonces, realmente, el problema inicial fue el reverso de su pregunta: el país de usuario ya existía y todo lo que se necesitaba era un núcleo.

Algunos otros datos históricos:

  • Peter no distribuyó SLS Linux y no cobró una tarifa por el software. SLS fue distribuido por su esposa Colleen y la tarifa fue por el costoso y lento proceso de grabación de CD para enviar por correo.
  • Peter hizo una serie de grandes contribuciones al núcleo que nunca han sido reconocidas, incluida la carga dinámica de módulos y la gestión mejorada de la memoria.
  • El software estaba 'defectuoso' porque estaba trabajando, yendo a la escuela, criando a dos hijos y tratando de mantener felices a los usuarios de Linux. Todos sabemos lo fácil que es mantener contentos a los usuarios de Linux ...
  • Peter no recuerda el 'argumento' / 'desacuerdo' sobre los scripts de instalación que otros han afirmado que causaron una grieta que inició Slackware y Debian.
Dinsdale
fuente
2
Si puede cargar un núcleo en la memoria y ejecutar la imagen, entrará en pánico porque no puede ejecutar / sbin / init. init ya es una herramienta de usuario. Cualquier programa en C para usar la API del núcleo es un programa de usuario.
RalfFriedl
D'oh! Buen punto. Estaba tratando de decir que las herramientas con las que los usuarios usualmente interactúan no son necesarias para que el núcleo se ejecute. Pensaré y actualizaré ...
Dinsdale
Si bien está bastante bien documentado, Peter no fue ni el primero ni el segundo en distribuir las utilidades de kernel + user land, nosotros, como comunidad de Linux, tenemos mucho esfuerzo para transformar las distribuciones de Linux en algo similar a lo que hoy conocemos.
Rui F Ribeiro
2

Linux se inició por primera vez como un reemplazo mejorado para Minix y para comprender la programación en modo protegido en un i386. Minix vino con la fuente, y en ese momento estaban las utilidades de tierra de usuario de GNU y las utilidades de tierra de usuario de BSD. Ambos estaban disponibles con fuente. Linux trató de ser compatible con POSIX, por lo que portar no fue tan difícil. Uno de los primeros pasos fue ejecutar bash en Linux. Puede considerar los primeros días de Linux como una compilación cruzada, el núcleo tuvo que compilarse en otro sistema.

RalfFriedl
fuente
2
El núcleo se estaba compilando en Minix.
Rui F Ribeiro
17
Decir que Linux se "inició como una extensión de Minix" es engañoso. Sí, es cierto que Linus estaba usando Minix en ese momento, pero Linux no comparte una sola línea de código con Minix, y también sigue una filosofía de diseño diferente (microkernel vs. monolítico). Minix tampoco estaba oficialmente disponible para el 386 en ese momento, mientras que el kernel de Linux fue escrito para el 386 desde el principio. El primer sistema de archivos de Linux fue el sistema de archivos Minix, debido a la compatibilidad, pero también fue una reimplementación completa.
Johan Myréen
10
Linus y el autor de Minix, ambos están de acuerdo en que no es Minix ni está basado en él.
ctrl-alt-delor
@ JohanMyréen Por supuesto, cualquier texto breve no es toda la verdad. Incluso Wikipedia contiene solo una breve introducción. Y sé que Linux se inició debido a las deficiencias de Minix. Si hubiera habido un Minix para i386, podría no haber Linux hoy. Por otro lado, Linux se inspiró en Minix, y el primer sistema de archivos admitido fue Minix. Pero estoy de acuerdo en que la extensión no es el trabajo correcto, cambié la oración.
RalfFriedl