Wie wurde Unix in den 70er-80er Jahren installiert?

Wie wurde Unix in den 70er-80er Jahren installiert?

Nun, ich beschäftige mich seit den späten 80ern mit Computern (ich war eigentlich 3). Habe alles ausprobiert: Atari Xl-XE, MS-DOS, Windows 3.1, 95 usw. Dann habe ich angefangen, Linux zu verwenden, wegen des Aussehens (ja, ich weiß,Compiz-Fusionwar der eigentliche Grund, Linux auszuprobieren) und ist jetzt auf allen meinen Maschinen installiert. Ich habe es sogar in Windows 10.

Ich habe schon früher Maschinen von Grund auf zusammengebaut und man konnte immer mit „MS-DOS“ booten, soviel ich weiß, und das hat mich zum Nachdenken gebracht.

Wie wurde Unix in den 80ern oder späten 70ern installiert (ich war noch nicht einmal am Leben)? War es trivial, etwa das Booten einer großen Diskette, oder war schwarze Magie im Spiel?

Es kommt vor, dass ich keine Hinweise darauf finden kann und die Leute in meinem Land verstehen die Sache mit freier Software einfach nicht.

BEARBEITEN:

Ich habe einen entscheidenden Teil übersprungen und fühle mich dumm, weil ich nicht gleich daran gedacht habe.

Alles beginnt mit der Startreihenfolge, die kein Betriebssystem ist, sondern sich im ROM-Speicher befindet, wie das BIOS (in meinen Augen ein sehr minimalistisches Betriebssystem für die Maschinenkonfiguration) und andere Dinge, wie die Startreihenfolge. In diesem Stadium sucht es nach den im BIOS aufgelisteten Geräten und durchläuft sie dann der Reihe nach, bis ein Gerät mit den Startanweisungen antwortet, wie denen auf den Bändern. Es ist also kein anfängliches Betriebssystem erforderlich und Unix kann installiert werden.

Dumme Fehler bringen einen zwar auf die lange Bank, aber man lernt sicher auch mehr.

Antwort1

Meine Erfahrungen mit der Installation von Unix in den 80er Jahren habe ich auf einem PDP-11 gemacht, und der Installationsprozess ist eigentlich ziemlich interessant. Ich habe es heute Abend tatsächlich gemacht (auf einem Emulator), zum ersten Mal seit Jahren ...

Unix V7 für den PDP-11 wurde auf Band verteilt. Auf dem Band waren mehrere Dateien hintereinander angeordnet.

  • Die erste Datei auf dem Band war ein Bootloader. Er bestand aus zwei Teilen. Der erste Teil war der Bootblock und wusste gerade genug, um den zweiten Teil des Bootloaders vom Band in den Speicher zu lesen und ihm dann die Kontrolle zu übertragen. Der Code dafür war weniger als 512 Bytes groß. Der zweite Teil war größer, er hatte abgespeckte „Standalone-Treiber“ für ein paar verschiedene Platten- und Bandtypen und wusste gerade genug über das Unix-Dateisystem, um Dateien entweder auf Band oder im Stammverzeichnis eines Dateisystems auf einer Festplatte zu finden, sie zu laden und auszuführen. Die Gesamtgröße des Bootloaders (die Gesamtgröße beider Teile) betrug etwa 8 KBytes.
  • Die zweite Datei auf dem Band war ein eigenständiges catProgramm. Wenn ich „eigenständig“ sage, meine ich, dass es direkt auf dem Bare Metal lief (ohne jegliches Betriebssystem); es wurde mit denselben eigenständigen Gerätetreibern und Dateisystemtreibern wie der Bootloader geschrieben. Sie konnten es mit dem Bootloader laden und ausführen. Beim Start gaben Sie an, von welchem ​​Gerät Sie eine Datei lesen möchten und welche Datei gelesen werden soll. Es liest sie, druckt sie aus und beendet sich dann. Das ist alles, was es tut. Dies war von begrenztem Nutzen.
  • Die dritte Datei auf dem Band war nur eine Textdatei mit einer Auflistung der auf dem Band enthaltenen Dateien. Fast niemand hat sich das jemals angesehen. Wenn Sie eines dieser Distributionsbänder verwendet haben, wussten Sie im Grunde schon, was darauf war ...
  • Die vierte Datei auf dem Band war ein Standalone- mkfsProgramm. Dieses wurde mit derselben Bibliothek von Standalone-Gerätetreibern und Dateisystemtreibern wie die anderen Standalone-Programme erstellt und lief ebenfalls auf dem Bare Metal, ohne Betriebssystem. Sie konnten es mit dem Bootloader laden und ausführen. Es fragte Sie, auf welcher Festplatte (und Partition) Sie ein Dateisystem erstellen wollten und wie groß das Dateisystem sein sollte. Anschließend schrieb es die anfängliche Dateisystemstruktur auf das Gerät und die Partition, die Sie angegeben hatten. Dann wurde es beendet.
  • Die fünfte Datei auf dem Band war ein eigenständiges restorProgramm (ja, ähnlich wie der creat()Systemaufruf restorwurde es ohne „e“ geschrieben …). Sie konnten es mit dem Bootloader laden und ausführen. Auch dieses lief auf dem Bare Metal, ohne Betriebssystem. Es forderte eine Banddatei mit einem Dateisystem-Dump und eine Festplattenpartition an, auf der es wiederhergestellt werden konnte. Und dann machte es das. Dann beendete es sich.
  • Die sechste Datei auf dem Band war lediglich ein Dateisystem-Dump des Root-Dateisystems.
  • Die siebte Datei auf dem Band war lediglich ein Dateisystem-Dump des /usr-Dateisystems.

Und das ist es – das ist, was Sie bekommen.

Wenn Sie also dieses Band hatten, mussten Sie den Vorgang irgendwie starten. Einige PDP-11 hatten Boot-ROMs, die wussten, wie man den ersten Block von einem Gerät (wie einem Band oder einer Diskette) lädt und dorthin springt. (Und bei diesem Band ist der erste Block weniger als 512 Byte ausführbarer Code, der weiß, wie man den Rest des Bootloaders lädt.) Der erste PDP-11, den ich verwendete, hatte jedoch kein Bootstrap-ROM. Bei jedem Booten der Maschine mussten wir den Boot-Code eingeben, um den ersten Block von einem Gerät zu laden und dorthin zu springen. Von Hand. In Binärform... Glücklicherweise war er ziemlich kurz (zum Beispiel bestand der Code zum Lesen des ersten Blocks von einem TU16- oder TE16-Bandlaufwerk und zum Springen dorthin nur aus 6 Wörtern oder 12 Bytes), und wir hatten den Boot-Code auf einem Stück Papier aufgeschrieben, das wir an die Maschine geklebt hatten. Selbstverständlich taten wir unser Bestes, um einen Neustart der Maschine um jeden Preis zu vermeiden...

Unter Berücksichtigung all dessen war der allgemeine Ablauf zur Installation des Systems:

  1. Verwenden Sie das Boot-ROM (oder geben Sie den Boot-Code manuell ein ...), um den sogenannten „Block-Zero-Bootloader“ in den Speicher zu laden. Dieser wird dann verwendet, um den Rest des Bootloaders zu laden.
  2. Verwenden Sie den Bootloader, um das Standalone mkfs-Programm (die vierte Datei auf dem Band) zu laden und die Struktur des Root-Dateisystems auf einer Festplattenpartition festzulegen.
  3. Verwenden Sie den Bootloader, um das Standalone restor-Programm (die fünfte Datei auf dem Band) zu laden und den Dateisystem-Dump des Root-Dateisystems (die sechste Datei auf dem Band) auf Ihrer Festplatte wiederherzustellen.
  4. Verwenden Sie den Bootloader, um den Unix-Kernel aus einer Datei im Root-Dateisystem auf der Festplatte (die Sie gerade vom Band wiederhergestellt haben) zu laden und die Steuerung an ihn zu übertragen. An diesem Punkt läuft Unix nun.
  5. Verwenden Sie die normalen Unix- mkfsund restor-Befehle, um das /usr-Dateisystem auf einer anderen Partition der Festplatte zu erstellen, und stellen Sie den Dateisystem-Dump des /usr-Dateisystems auf der Partition wieder her, die Sie gerade vorbereitet haben.

Und dann sind Sie im Großen und Ganzen fertig, bis auf die Installation des Boot-Codes im ersten Disk-Block auf der Festplatte (sodass entweder Ihr Boot-ROM oder Ihr manuell eingegebener Boot-Code ihn bei jedem Neustart Ihres Systems ausführen kann), ein paar Systemoptimierungen und die Einrichtung einiger Dinge nach Ihren Wünschen.

Verfahren wie dieses wurden in den 1970er und 1980er Jahren lange Zeit in vielen Unix-Distributionen installiert. Berkeley Unix (4.2BSD und später) stellte ein Distributionsband mit einer sehr ähnlichen Struktur und einem sehr ähnlichen Installationsverfahren bereit.

Wenn Sie Charles Haleys und Dennis Ritchies eigene Anweisungen zur Installation von V7 Unix auf einem PDP-11 sehen möchten, finden Sie sieHier. Ich habe diese Anweisungen heute Abend befolgt und sie funktionieren einwandfrei. ;-)

Antwort2

In meinem ersten Job im Jahr 1989 installierten wir Unix (Interactive, damals im Besitz von Kodak) auf Intel 386-PCs mithilfe von 3,5-Zoll-Disketten (ca. 9 cm).

Antwort3

Ich glaube, Sie fragen sich, wie dieErstinstallationvon Unix durchgeführt wurde. Viele Computer dieser Zeit waren für Unix ausgelegt und hatten das Betriebssystem bereits auf der Festplatte oder auf Disketten vorinstalliert. Die Installation war nur eine Frage der Bereitstellung einer Diskette mit dem richtigen Inhalt.

Sie fragen sich vielleicht, mit welchen Mitteln das System das Betriebssystem beim Start im Speicher installiert?

Hier ist ein Beispiel. Der AT&T 3B1, auch bekannt als „Unix PC“, hatte ein ROM, das ein Bootstrap-Programm an den Adressen 800000-BFFFFF enthielt. Wenn das System zurückgesetzt wird, lädt seine Motoroloa 68010-CPU den Stackpointer von 000000-2, lädt den Programmzähler von 000004-6 und springt. Während eines Resets setzt die Hardware das Adressbit 23 hoch, wodurch das ROM effektiv dem Hauptspeicher zugeordnet wird, sodass das System das Programm tatsächlich im ROM ausführt. Dieses Programm im ROM initialisiert die verschiedenen Hardwarekomponenten, führt einige Diagnosen durch und lädt vor allem das Betriebssystem von Diskette oder Festplatte, indem es einen Bootblock lädt und ausführt. Der Code im Bootblock würde den Kernel laden und mit der Ausführung beginnen init, so wie es ein modernes System tut.

(Weitere Informationen in den Handbüchern, siehe Spiegel von Philip PembertonAT&T 3B1 Emulator)

Theoretisch könnten Sie dieses Wissen nutzen, um auf einem solchen Rechner etwas anderes als Unix zu installieren. Aber es gab nicht immer eine Hardwareabstraktionsschicht wie das BIOS auf einem PC, sodass das gebootete Programm enger an die Hardware gekoppelt sein musste.

Antwort4

Auf dem PC (soweit ich mich erinnere) wurde Interactive Unix mit einer Bootdiskette installiert und die „echte“ Installation erfolgte dann von Band. Beachten Sie, dass Ihre SCSI-Karte von Interactive unterstützt werden musste.

Auf HP-Workstations haben Sie vom Band/DAT gebootet und installiert.

verwandte Informationen