Installation von &os; Hier finden Sie Informationen, wie Sie die &arch; Version installieren und booten können. Wenn Sie diese Version benutzen, sollten Sie sich auf jeden Fall auf der Mailingliste &a.sparc; eintragen. Die weiter unten genannten Programme und Kernel sind experimenteller Natur; z.B. enthält der Kernel Änderungen bei der Behandlung von ATA und EEPOMS, die potentiell gefährlich sind. Wenn Sie sich nicht mit &os; und &arch; auskennen oder nicht bereit sind, selbst Hand anzulegen, um Probleme und Schäden zu beseitigen, sollten Sie besser die Finger von dieser Version lassen. [Anmerkung des Übersetzers: Diese Warnung ist nicht im Sinne der üblichen Bitte nutzen Sie Ihre Mikrowelle nicht zum Trocknen von kleinen Kindern und Hunden Hinweise zu verstehen, die meinen das ernst.] Für &os;/&arch; gibt das von &os;/i386 und &os;/alpha verwendete &man.sysinstall.8; nicht. Zur Installation müssen Sie einen Kernel (von CD oder über ein Netzwerk) auf das &arch; System laden, das Root-Dateisystem liegt entweder auf der CD oder wird via NFS exportiert. Die Programme auf dem Root-Dateisystem können dann dazu genutzt werden, die lokale Festplatte zu partitionieren. Sie können danach die &os; Distribution auf die lokale Festplatte kopieren, um ein eigenständiges System zu bekommen. Es gibt zwei Varianten bei der Installation von &os;/&arch; auf einem System. Die einfachere Variante ist die Installation von CD, dadurch können Sie &os; installieren, ohne auf andere Rechner angewiesen zu sein. Wenn Sie nicht von CD installieren können oder wollen, können Sie alternativ auch über ein Netzwerk installieren. Dazu benötigen Sie eine andere Maschine, die so konfiguriert ist, daß sie der neuen Maschine Boot Loader, Kernel und Root-Dateisystem zur Verfügung stellt. Dazu werden RARP, TFTP und BOOTP oder DHPC genutzt. Dieser netboot Server kann ein anderes &os; System sein, aber das ist nicht unbedingt notwendig. Sie müssen sich für eine der beiden Varianten entscheiden, da Sie für die beiden Versionen unterschiedliche Dateien benötigen; außerdem unterscheidet sich die Vorgehensweise bei den beiden Varianten deutlich. Die hier genannten URLs sind vorläufig und können sich jederzeit ändern. Sie sollten im Zweifelsfall einen Blick in das Archiv der Mailingliste &a.sparc; werfen, um die derzeit aktuellen URLs zu erhalten. Wenn sich die Situation stabilisiert hat, wird dieser Hinweis entfernt. [Anmerkung des Übersetzers: Aus genau diesem Grund finden Sie hier noch keine Verweise auf deutsche Server. Start von OpenBoot Die meisten &arch; Systeme booten automatisch von Festplatte. Wenn Sie &os; installieren wollen, müssen Sie den Startvorgang abbrechen, um zur OpenBoot Eingabeaufforderung zu gelangen. Dazu müssen Sie das System und auf die Boot-Meldung warten. Diese ist zwar modellabhängig, sollte aber wie folgt aussehen: Sun Blade 100 (UltraSPARC-IIe), Keyboard Present Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.2, 128 MB memory installed, Serial #51090132. Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4. Wenn Ihr System jetzt von Festplatte startet, müssen Sie die Tastenkombination L1A oder StopA drücken. Wenn Sie eine serielle Konsole verwenden, müssen Sie ein BREAK senden (z.B. durch die Eingabe von ~# in &man.tip.1; oder &man.cu.1;). Danach sollten Sie die Eingabeaufforderung von OpenBoot sehen, die wie folgt aussieht: ok ok {0} Diese Variante wird auf Systemen mit nur einer CPU benutzt. Diese Varianten wird von SMP Systemen benutzt, die Zahl ist die Nummer der aktiven CPU. Vorbereitungen für die Installation von CD Wenn Sie von CD installieren wollen, finden Sie ein ISO Image mit einem Schnappschuß der aktuellen Version von &os;/&arch; bei . Mit dieser Datei können Sie eine bootfähige CD erzeugen, auf der sich alle notwendigen Dateien für den Systemstart und die Erzeugung einer minimalen &os; Installation befinden. Legen Sie die CD ein, und wechseln Sie wie oben beschrieben zur Eingabeaufforderung von OpenBoot. Geben Sie jetzt boot cdrom ein. Das System sollte jetzt in Single-User-Mode starten, danach können Sie die Festplatte partitionieren und das Basissystem installieren, wie in und beschrieben. Vorbereitungen für die Netzwerk-Installation Um den &os;/&arch; Kernel zu starten, muß die Firmware den Loader laden und starten, dieser lädt und startet dann den eigentlichen Kernel. Dazu müssen Sie &man.rarpd.8; und &man.tftpd.8; (für die Firmware) bzw. &man.bootpd.8; (für den Loader) konfigurieren. Der Loader kann TFTP oder NFS nutzen, um den Kernel zu laden. Weitere Informationen dazu finden Sie in den folgenden Kapiteln. Download der benötigten Dateien Wenn Sie über ein Netzwerk installieren wollen, brauchen Sie mehrere Dateien. Die erste ist der &os;/&arch; Loader, der von &man.tftpd.8; für Ihr &arch; System bereitgestellt wird. Der Nutzer benutzt entweder TFTP oder NFS, um den &os; Kernel vom Netboot Server zu laden. Für jede dieser beiden Methoden gibt es einen separaten Loader (also einen für TFTP und einen für NFS). Sie brauchen also nur eine dieser beiden Dateien: Die zweite Datei ist der Kernel, der dem bootenden System zur Verfügung gestellt wird. Diese Datei finden Sie auf . Die dritte (und letzte) Datei ist das &man.tar.1; Archiv mit den Programmen und Konfigurationsdateien des Basissystems. Dieses Archiv finden Sie hier: . rarpd Sie müssen die Ethernet-Adresse Ihres &os;/&arch; System auf dem Netboot Server in die Datei /etc/ethers eintragen. Die Einträge sehen wie folgt aus: 0:3:ba:b:92:d4 your.host.name Sie finden die Ethernet-Adresse in der Boot-Meldung Ihres Systems. Vergewissern Sie sich, daß in /etc/hosts ein Eintrag für your.host.name steht. Alternativ können Sie einen entsprechenden DNS-Eintrag verwenden oder gleich eine IP-Adresse verwenden. Danach müssen Sie &man.rarpd.8; auf einem Netzwerk-Interface starten, das sich im gleichen Subnetz wie Ihr &os;/&arch; System befindet. tftpd In der Konfiguration von &man.inetd.8; muß &man.tftpd.8; aktiviert werden. Dazu müssen Sie in der Datei /etc/inetd.conf das Kommentarzeichen vor der folgenden Zeile entfernen: tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /tftpboot Entpacken Sie den Loader und kopieren Sie ihn in das Verzeichnis /tftpboot. Allerdings können Sie der Datei keinen beliebigen Namen geben. Der Dateiname muß die IP-Adresse des &os;/&arch; in hexadezimaler Notation in Großbuchstaben und ohne Punkte sein. Es ist nicht notwendig, die Datei umzubenennen, Sie können auch einen symbolischen Link verwenden. Wenn die IP-Adresse des &os;/&arch; Systems 192.168.0.16 ist, würde Ihr /tftpboot-Verzeichnis so aussehen: lrwx------ 1 tmm users 9 Jul 24 17:05 /tftpboot/C0A80010 -> boot/loader -rw-r--r-- 1 tmm users 1643021 Oct 20 18:04 /tftpboot/boot/loader Wenn Sie Probleme beim Systemstart haben, sollten Sie die TFTP Anfragen mit &man.tcpdump.1; kontrollieren. Dadurch sehen Sie, welchen Dateinamen Sie für den Loader benutzen müssen. Fehlermeldungen des TFTP Servers werden in der Regel durch falsche Berechtigungen verursacht. Konfiguration von bootpd/dhcpd Sie können entweder BOOTP oder DHCP (nicht beide gleichzeitig) verwenden, um den Loader mit Informationen (wie der IP-Adresse des Systems) zu versorgen. Wenn Sie ein &os; System als Netboot Server benutzen, wird die BOOTP Funktionalität von &man.bootpd.8; bereitgestellt, der ein Teil des &os; Basissystems ist. In der &os; Ports Collection finden Sie verschiedene DHCP Server. Wenn Sie &man.bootpd.8; benutzen, müssen Sie in /etc/bootptab entsprechende Einträge (Details finden Sie in &man.bootptab.5;) für Ihr &os;/&arch; System erzeugen: .default:\ :bf="kernel":dn=local:ds=name-server-ip-address:\ :gw=gateway-ip-address:ht=ether:hd="/tftpboot/boot/kernel":hn:\ :sa="tftp-server-ip-address":\ :rp="tftp-server-ip-address:nfs-root-directory":\ :sm=ip-netmask Name-des-Eintrags:\ ha=sparc64-ethernet-address:ip=sparc64-ip-address:tc=.default Die Ethernet-Adresse muß mit der Adresse übereinstimmen, die Sie für TFTP verwendet haben; allerdings muß hier die hexadezimale Notation ohne Doppelpunkte verwendet werden (für das oben verwendete Beispiel wäre das 0003ba0b92d4). Sie können die NFS/TFTP-spezifischen Einträge weglassen, wenn Sie diese Variante nicht verwenden. Die Werte für hd und bf werden zusammengesetzt, um Dateinamen der zu bootenden Datei zu erhalten. Wenn der Dateiname Ihres Kernels anders ist oder Sie ein anderes Verzeichnis verwenden, müssen Sie diese Werte anpassen. Wenn Sie NFS verwenden, sollten Sie die Einstellungen bf und hd entfernen oder dort das Verzeichnis und den Dateinamen im NFS Root Dateisystem eintragen, in dem der Kernel liegt. Üblicherweise wird für den Namen des Eintrags der Hostname des Zielsystems ohne die Domain verwendet. Wenn Sie einen DHCP Server verwenden, brauchen Sie einen Eintrag in der dhcpd.conf. Ein Beispiel für einen solchen Eintrag für den ISC DHCP Version 2 (in der &os; Ports Collection als net/isc-dhcp2 erhältlich) finden Sie weiter unten: host name-of-entry { hardware ethernet sparc64-ethernet-address; option host-name "sparc64-fully-qualified-domain-name"; fixed-address sparc64-ip-address; always-reply-rfc1048 on; filename "kernel"; option root-path "tftp-server-ip-address:nfs-root-directory"; } Die Option filename entspricht dem zusammengesetzten Wert von hd und bf in /etc/bootptab. Die Ethernet-Adresse wird in hexadezimaler Notation mit Doppelpunkten angaben, genau wie bei &man.rarpd.8;. options root-path entspricht der rp in /etc/bootptab. Wenn der in option host-name angegebene Name aufgelöst werden kann, also einen Eintrag im DNS oder in /etc/hosts hat, kann auf die Angabe von fixed-address verzichtet werden. Laden des Kernels Wenn Sie die Daemonen auf dem Netboot Server konfiguriert haben, müssen Sie im nächsten Schritt den Kernel an die richtige Stelle kopieren (Informationen, woher Sie den Kernel bekommen können, finden Sie in ). Es gibt zwei Möglichkeiten, um den Kernel über ein Netzwerk zu laden: TFTP oder NFS. Welche der beiden Alternativen Sie verwenden, haben Sie bereits bei der Auswahl des Loaders festgelegt. Sowohl bei TFTP als auch bei NFS wird der Loader die via BOOTP oder DHCP erhaltenen Informationen verwenden, um den Kernel zu finden. Laden des Kernels mit TFTP Legen Sie den Kernel an die Stelle, die Sie in der /etc/bootptab mit bf und hd bzw. in der dhcpd.conf mit filename angegeben haben. Laden des Kernels via NFS Exportieren Sie das Verzeichnis, das Sie in der /etc/bootptab unter rp bzw. in der dhcpd.conf mit root-path definiert haben (siehe &man.exports.5;). Kopieren Sie den Kernel in das Verzeichnis, das Sie in der /etc/bootptab mit bf und hd bzw. in der dhcpd.conf mit filename angegeben haben. Installation des Basissystems auf dem NetBoot Server Sie müssen das Archiv mit dem Verzeichnis entpacken, das Sie in der /etc/bootptab unter rp bzw. in der dhcpd.conf mit root-path definiert haben. Dieses Verzeichnis wird nach dem Start des Kernels zum Root Dateisystem für &arch; werden. Neben den üblichen Benutzerprogrammen enthält es alle notwendigen Programme, um das Basissystem auf der lokalen Festplatte des &arch; Systems zu installieren. Sie werden wahrscheinlich die auf dem Netboot Server zur Verfügung stehenden Programme verwenden wollen, um die von &arch; verwendete /etc/fstab und /etc/rc.conf anzupassen und das root Paßwort zu ändern. Start des Systems Wenn Sie alles richtig gemacht haben, sollten Sie jetzt &os; auf Ihrem &arch; System starten, indem Sie zur Eingabeaufforderung von OpenBoot wechseln, wie in beschrieben. Wenn sie jetzt boot net eingeben, sollte das System hochfahren. Um genau zu sein, der Loader wird mit TFTP geladen, setzt dann einen BOOTP Request ab und lädt den Kernel via TFTP oder NFS, je nach verwendeter Variante des Loaders. Danach sollte es 10 Sekunden auf eine Eingabe warten und anschließend den Kernel starten. Wenn irgend etwas nicht funktioniert und Sie ein Problem mit TFTP/NFS/BOOTP vermuten, sollten Sie zur Fehlersuche Ethereal (net/ethereal in der &os; Ports Collection) verwenden. In den meisten Fällen werden die Probleme durch falsche Zugriffsrechte für die Dateien verursacht. Weiterhin ist es in einigen Fällen möglich, daß &man.rarpd.8; nicht reagiert, weitere Informationen finden Sie in der Onlinehilfe. Aufteilung der Festplatte Der Kernel unterstützt das von Sun für den Disk Label verwendete Format, sie können die für &os; verwendete Platte also auch mit Solaris partitionieren. Da es für &os;/&arch; noch kein &man.sysinstall.8; gibt, müssen Sie das Disk Label manuell erzeugen, wenn Sie &os;/&arch; &os; verwenden. Weitere Informationen zu diesem Thema können Sie dem FreeBSD Handbuch entnehmen. Bei &os;/&arch; muß ein Sun-kompatibles Label in das &os; Label eingebettet werden, damit OpenBoot von der Platte booten kann. Dadurch ergibt sich eine zusätzliche Einschränkung: Der Anfang der Partitionen muß auf einer Zylindergrenze liegen. Um ein Disk Label zu erzeugen, sollten Sie wie folgt vorgehen: Erzeugen sie mit disklabel -w -r device auto ein leeres Standard-Label. Der dritte Parameter ist der Name des Gerätes, nicht der komplette Pfad zur Node für dieses Gerät (z.B. ad0 für die erste ATA Festplatte). Mit dem Befehl disklabel -e device starten Sie einen Editor, in dem Sie das Disk Label bearbeiten können. Das Disk Label sieht wie folgt aus: # /dev/ad6c: type: unknown disk: amnesiac label: flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 16 sectors/cylinder: 1008 cylinders: 79780 sectors/unit: 80418240 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 80418240 0 unused 0 0 # (Cyl. 0 - 79779) Sie können jetzt weitere Partitionen definieren, diese müssen in dem Format vorliegen, das auch für Partition c verwendet. Sie können Sich das Leben etwas einfacher machen, wenn Sie für das Feld offset immer den Wert * angeben. Weitere Informationen finden Sie in der Onlinehilfe zu &man.disklabel.8;. Damit die oben genannte Einschränkung eingehalten wird, muß die Größe jeder Partition ein ganzzahliges Vielfaches der Anzahl der Sektoren pro Zylinder (sectors/cylinder) sein. In diesem Beispiel wären das 1008 Sektoren pro Zylinder. Wenn Sie alle Partitionen definiert haben, müssen Sie die Änderungen speichern und den Editor verlassen, dadurch wird automatisch ein neues Disk Label geschrieben. Dadurch wird ein bereits existierendes Disk Label komplett überschrieben. Wenn auf der Festplatte bereits Dateisysteme existieren, müssen Sie im alten und neuen Label absolut identisch definiert sein. Sind sie das nicht, werden die Dateisysteme und alle Daten auf diesen Dateisystemen gelöscht. Wenn Sie sich nicht sicher sind, ob die Partitionen auf einer Zylindergrenze beginnen und enden, sollten Sie disklabel -e device erneut aufrufen. Die von den Partitionen belegten Zylinder werden rechts von den übrigen Daten der Partition angezeigt. Wenn neben einer der von Ihnen angelegten Partitionen (also allen Partitionen außer Partition c) ein * angezeigt wird, erfüllt diese Partition die Anforderungen NICHT. Sie MÜSSEN diese Partition korrigieren, ansonsten wird das System nicht funktionieren. Wenn Sie mit &os;/&arch; von dieser Platte wollen, müssen Sie sie mit disklabel -B bootfähig machen. Durch die Verwendung von disklabel -B überschreiben Sie einen bereits existierenden Bootsektor. Wenn auf der Platte ein anderes Betriebssystem installiert ist, werden Sie es anschließend nicht mehr starten können. Wenn Sie den Bootsektor nicht überschreiben wollen, ist es möglich, den Loader wie oben beschrieben via TFTP zu starten und ihn dann den Kernel von Festplatte starten zu lassen. Dazu brauchen Sie eine spezielle Version des Loaders, die bei erhältlich ist. Erzeugung des Root Dateisystems Wenn Sie von der lokalen Platte booten wollen, brauchen Sie ein Root Dateisystem, das die Benutzerprogramme und Konfigurationsdateien des Basissystems enthält. Natürlich kann es auch weitere Dateisysteme aufnehmen, die z.B. unter /usr und /var gemountet werden. Der Kernel unterstützt Sun Disklabel, Sie können also Solaris Festplatten benutzen und diese sogar in Solaris mit newfs vorbereiten. Das Disk Label und die Dateisysteme von NetBSD werden von &os; ebenfalls unterstützt. Sie dürfen auf gar keinen Fall den fsck von Solaris auf Dateisystemen nutzen, die von &os; verwendet werden, da dieser sämtliche Zugriffsrechte überschreibt. Um die Dateisysteme zu erzeugen und das Basissystem zu erzeugen, starten Sie Ihr System von CD oder via NFS und legen Sie dann wie in beschrieben ein Disk Label an. Wenn Sie das System zum ersten Mal starten und Ihr Root Dateisystem noch nicht in /etc/fstab eingetragen haben, müssen Sie wahrscheinlich Ihr Root Dateisystem beim Start angeben. Wenn Sie die entsprechende Eingabeaufforderung erhalten, sollten Sie das Format ufs:diskpartition verwenden, also keine Slice angaben. Wenn der Kernel versucht, automatisch von einem anderen Dateisystem zu booten, drücken Sie eine Taste außer Enter, sobald der Loader die folgende Meldung ausgibt: Hit [Enter] to boot immediately, or any other key for command prompt. Starten Sie den Kernel danach mit boot -a -s, dadurch werden Sie automatisch nach dem Root-Dateisystem gefragt, bevor das System in den Single-User-Modus geht. Sobald das richtige Root Dateisystem in der /etc/fstab steht, sollte es beim nächsten Start des System automatisch als / gemountet werden. Wenn Sie über ein Netzwerk booten (mit NFS), sollten die oben genannte Einträge BOOTP ausreichend sein, damit der Kernel das Root Dateisystem via NFS finden und mounten kann. Installation des Basissystems Wenn Sie über ein Netzwerk gebootet haben, haben Sie vorher ein &man.tar.1; Archive von heruntergeladen und es mit NFS vom Netboot Server exportiert. Sie können das gleiche Archiv auf der lokalen Festplatte auspacken, um einen autonomes System zu erhalten. Denken Sie daran, daß Sie den Kernel ebenfalls kopieren müssen. Wenn Sie Ihr System von CD gestartet haben, finden Sie das Archiv im Verzeichnis /root/ auf der CDROM. Bevor Sie das neue System booten, sollten Sie /etc/fstab und /etc/rc.conf anpassen und ein Paßwort für root vergeben. Bitte beachten Sie, daß Sie einige Programme des Basissystems in dem Archiv fehlen oder noch nicht fehlerfrei funktionieren.