Update to r44131:
Description on how to set up a PXE boot with NFS root. Submitted by: Bjoern Heidotting (via email) Obtained from: The FreeBSD German Documentation Project
This commit is contained in:
parent
2aa437ff50
commit
1219f42b7a
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=45351
1 changed files with 198 additions and 297 deletions
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
$FreeBSDde:$
|
$FreeBSDde:$
|
||||||
basiert auf: r44123
|
basiert auf: r44131
|
||||||
-->
|
-->
|
||||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||||
|
@ -4260,6 +4260,12 @@ DHCP"</programlisting>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>Um <acronym>PXE</acronym> beim Systemstart zu verwenden,
|
||||||
|
müssen Sie im <acronym>BIOS</acronym> des Rechner die
|
||||||
|
Option <literal>Über das Netzwerk starten</literal>
|
||||||
|
aktivieren. Alternativ können Sie während der
|
||||||
|
PC-Initialisierung auch eine Funktionstaste drücken.</para>
|
||||||
|
|
||||||
<para>Es gibt verschiedene Wege, einen plattenlosen Rechner
|
<para>Es gibt verschiedene Wege, einen plattenlosen Rechner
|
||||||
einzurichten. Viele Elemente sind daran beteiligt, die fast
|
einzurichten. Viele Elemente sind daran beteiligt, die fast
|
||||||
immer an den persönlichen Geschmack angepasst werden
|
immer an den persönlichen Geschmack angepasst werden
|
||||||
|
@ -4306,9 +4312,6 @@ DHCP"</programlisting>
|
||||||
werden und für andere Rechner nicht erreichbar sein.</para>
|
werden und für andere Rechner nicht erreichbar sein.</para>
|
||||||
</caution>
|
</caution>
|
||||||
|
|
||||||
<para>Alle Informationen in diesem Abschnitt wurden unter
|
|
||||||
&os; 5.2.1-RELEASE getestet.</para>
|
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Hintergrundinformationen</title>
|
<title>Hintergrundinformationen</title>
|
||||||
|
|
||||||
|
@ -4398,9 +4401,200 @@ DHCP"</programlisting>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>Sie können das Verzeichnis
|
||||||
|
<filename>/tftpboot</filename> an einem beliebigen Ort auf
|
||||||
|
dem Server ablegen. Stellen Sie aber sicher, dass Sie
|
||||||
|
diesen Ort sowohl in <filename>/etc/inetd.conf</filename>
|
||||||
|
als auch in <filename>/usr/local/etc/dhcpd.conf</filename>
|
||||||
|
eingetragen haben.</para>
|
||||||
|
|
||||||
<para>Weitere Informationen finden Sie in &man.diskless.8;.</para>
|
<para>Weitere Informationen finden Sie in &man.diskless.8;.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
<sect2 xml:id="network-pxe-nfs">
|
||||||
|
<info>
|
||||||
|
<title>Einrichtung einer &man.chroot.8;-Umgebung für das
|
||||||
|
<acronym>NFS</acronym>-Root-Dateisystem</title>
|
||||||
|
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<personname>
|
||||||
|
<firstname>Craig</firstname>
|
||||||
|
<surname>Rodrigues</surname>
|
||||||
|
</personname>
|
||||||
|
<affiliation>
|
||||||
|
<address>rodrigc@FreeBSD.org</address>
|
||||||
|
</affiliation>
|
||||||
|
<contrib>Beigetragen von </contrib>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
</info>
|
||||||
|
|
||||||
|
<para>Das &intel; Preboot eXecution Environment
|
||||||
|
(<acronym>PXE</acronym>) erlaubt es, ein Betriebssystem über das
|
||||||
|
Netzwerk zu starten. <acronym>PXE</acronym>-Unterstützung wird
|
||||||
|
von modernen Mainboards über das <acronym>BIOS</acronym>
|
||||||
|
bereitgestellt, wo Sie es bei den Einstellungen zum Starten über
|
||||||
|
das Netzwerk aktivieren können. Ein voll funktionsfähiges
|
||||||
|
<acronym>PXE</acronym>-Setup erfordert zusätzlich einen richtig
|
||||||
|
konfigurierten <acronym>DHCP</acronym>- und
|
||||||
|
<acronym>TFTP</acronym>-Server.</para>
|
||||||
|
|
||||||
|
<para>Sobald das Gastsystem startet, erhält es vom
|
||||||
|
<acronym>DHCP</acronym>-Server Informationen, wo der initiale
|
||||||
|
Bootloader per <acronym>TFTP</acronym> zu bekommen ist. Nachdem
|
||||||
|
das Gastsystem diese Informationen erhält, lädt es den
|
||||||
|
Bootloader über <acronym>TFTP</acronym> herunter und führt
|
||||||
|
diesen anschließend aus. Dieses Verfahren ist in Sektion 2.2.1
|
||||||
|
der <link
|
||||||
|
xlink:href="http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf">Preboot
|
||||||
|
Execution Environment (PXE) Specification</link> dokumentiert.
|
||||||
|
In &os; ist <filename>/boot/pxeboot</filename> der Bootloader,
|
||||||
|
der während des <acronym>PXE</acronym>-Vorgangs abgerufen wird.
|
||||||
|
Nachdem <filename>/boot/pxeboot</filename> ausgeführt und der
|
||||||
|
&os;-Kernel geladen wurde, wird mit dem Rest der
|
||||||
|
&os;-Bootsequenz fortgefahren. Weitere Informationen über den
|
||||||
|
Bootvorgang unter &os; finden Sie in <xref
|
||||||
|
linkend="boot"/>.</para>
|
||||||
|
|
||||||
|
<procedure>
|
||||||
|
<step>
|
||||||
|
<para>Wählen Sie ein Verzeichnis welches eine
|
||||||
|
&os;-Installation enthält und über NFS eingehangen
|
||||||
|
werden kann. Als Beispiel kann das Verzeichnis
|
||||||
|
<filename>/b/tftpboot/FreeBSD/install</filename>
|
||||||
|
verwendet werden.</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>export NFSROOTDIR=/b/tftpboot/FreeBSD/install</userinput>
|
||||||
|
&prompt.root; <userinput>mkdir -p ${NFSROOTDIR}</userinput></screen>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Aktivieren Sie den NFS-Server. Diese Prozedur wird
|
||||||
|
im Kapitel <xref linkend="network-configuring-nfs"/>
|
||||||
|
beschrieben.</para>
|
||||||
|
|
||||||
|
<para>Exportieren Sie das eben erstellte Verzeichnis über
|
||||||
|
NFS, indem Sie folgende Zeile in
|
||||||
|
<filename>/etc/exports</filename> hinzufügen:</para>
|
||||||
|
|
||||||
|
<programlisting>/b -ro -alldirs</programlisting>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Starten Sie den NFS-Server neu:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>/etc/rc.d/nfsd restart</userinput></screen>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Aktivieren Sie &man.inetd.8; wie im Kapitel <xref
|
||||||
|
linkend="network-inetd-settings"/> beschrieben.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Fügen Sie folgende Zeilen in
|
||||||
|
<filename>/etc/inetd.conf</filename> hinzu:</para>
|
||||||
|
|
||||||
|
<programlisting>tftp dgram udp wait root /usr/libexec/tftp tftp -l -s /b/tftpboot</programlisting>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Starten Sie inetd neu:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>/etc/rc.d/inetd restart</userinput></screen>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para><link linkend="makeworld">Erstellen Sie einen neues
|
||||||
|
Basissystem und einen &os;-Kernel</link>:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
||||||
|
&prompt.root; <userinput>make buildworld</userinput>
|
||||||
|
&prompt.root; <userinput>make buildkernel</userinput></screen>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Installieren sie &os; in das Verzeichnis, welches
|
||||||
|
über <acronym>NFS</acronym> eingehangen ist:</para>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
&prompt.root; <userinput>make installworld DESTDIR=${NFSROOTDIR}</userinput>
|
||||||
|
&prompt.root; <userinput>make installkernel DESTDIR=${NFSROOTDIR}</userinput>
|
||||||
|
&prompt.root; <userinput>make distribution DESTDIR=${NFSROOTDIR}</userinput>
|
||||||
|
</screen>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Testen Sie den <acronym>TFTP</acronym>-Server und
|
||||||
|
vergewissern Sie sich, dass Sie den Bootloader
|
||||||
|
herunterladen können, der über <acronym>PXE</acronym>
|
||||||
|
bereitgestellt wird:</para>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
&prompt.root; <userinput>tftp localhost</userinput>
|
||||||
|
tftp> <userinput>get FreeBSD/install/boot/pxeboot</userinput>
|
||||||
|
Received 264951 bytes in 0.1 seconds
|
||||||
|
</screen>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Bearbeiten Sie
|
||||||
|
<filename>${NFSROOTDIR}/etc/fstab</filename> und
|
||||||
|
erstellen Sie einen Eintrag, um das Root-Dateisystem
|
||||||
|
über <acronym>NFS</acronym> einzuhängen:</para>
|
||||||
|
|
||||||
|
<programlisting>
|
||||||
|
# Device Mountpoint FSType Options Dump Pass
|
||||||
|
myhost.example.com:/b/tftpboot/FreeBSD/install / nfs ro 0 0
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
<para>Ersetzen Sie
|
||||||
|
<replaceable>myhost.example.com</replaceable> durch den
|
||||||
|
Hostnamen oder die <acronym>IP</acronym>-Adresse Ihres
|
||||||
|
<acronym>NFS</acronym>-Servers. In diesem Beispiel wird
|
||||||
|
das Root-Dateisystem schreibgeschützt eingehangen, um
|
||||||
|
ein potenzielles Löschen des Inhalts durch die
|
||||||
|
<acronym>NFS</acronym>-Clients zu verhindern.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Setzen Sie das root-Passwort in der
|
||||||
|
&man.chroot.8;-Umgebung:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>chroot ${NFSROOTDIR} </userinput>
|
||||||
|
&prompt.root; <userinput>passwd</userinput></screen>
|
||||||
|
|
||||||
|
<para>Damit setzen Sie das root-Passwort für die
|
||||||
|
Client-Maschinen, welche über <acronym>PXE</acronym>
|
||||||
|
starten.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Aktivieren Sie &man.ssh.1; root-Logins für
|
||||||
|
Client-Maschinen, die über <acronym>PXE</acronym>
|
||||||
|
starten, indem Sie die Option
|
||||||
|
<literal>PermitRootLogin</literal> in
|
||||||
|
<filename>${NFSROOTDIR}/etc/ssh/sshd_config</filename>
|
||||||
|
aktivieren. Dies ist in &man.sshd.config.5;
|
||||||
|
dokumentiert.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Führen Sie weitere Anpassungen der
|
||||||
|
&man.chroot.8;-Umgebung in ${NFSROOTDIR} durch, wie zum
|
||||||
|
Beispiel die Installation weiterer Pakete mittels
|
||||||
|
&man.pkg.add.1;, dass Bearbeiten der Passwortdatei mit
|
||||||
|
&man.vipw.8;, oder &man.amd.conf.5; für den Automounter.
|
||||||
|
Ein Beispiel:</para>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
|
||||||
|
&prompt.root; <userinput>pkg_add -r bash</userinput></screen>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
<sect2 xml:id="network-pxe-setting-up-dhcp">
|
<sect2 xml:id="network-pxe-setting-up-dhcp">
|
||||||
<title>Konfiguration des
|
<title>Konfiguration des
|
||||||
<application>ISC DHCP</application>-Servers</title>
|
<application>ISC DHCP</application>-Servers</title>
|
||||||
|
@ -4598,108 +4792,6 @@ margaux:ha=0123456789ab:tc=.def100</programlisting>
|
||||||
</sect2>
|
</sect2>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Konfiguration des
|
|
||||||
<acronym>NFS</acronym>-Servers</title>
|
|
||||||
|
|
||||||
<para>Aktivieren Sie <acronym>NFS</acronym> und exportieren
|
|
||||||
Sie die entsprechenden Dateisysteme auf dem
|
|
||||||
<acronym>NFS</acronym>-Server.</para>
|
|
||||||
|
|
||||||
<para>Fügen Sie folgende Zeile in
|
|
||||||
<filename>/etc/rc.conf</filename> hinzu:</para>
|
|
||||||
|
|
||||||
<programlisting>nfs_server_enable="YES"</programlisting>
|
|
||||||
|
|
||||||
<para>Exportieren Sie das Verzeichnis, in dem sich das
|
|
||||||
Wurzelverzeichnis für den plattenlosen Betrieb befindet,
|
|
||||||
indem Sie folgende Zeile in
|
|
||||||
<filename>/etc/exports</filename> hinzufügen (passen Sie
|
|
||||||
dabei den <foreignphrase>mountpoint</foreignphrase> an und
|
|
||||||
ersetzen Sie <replaceable>corbieres</replaceable> durch
|
|
||||||
den Namen Ihres plattenlosen Rechners):</para>
|
|
||||||
|
|
||||||
<programlisting><replaceable>/data/misc</replaceable>
|
|
||||||
-alldirs -ro <replaceable>margaux corbieres</replaceable>
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>Weisen Sie nun <application>mountd</application> an,
|
|
||||||
seine Konfigurationsdatei neu einzulesen. Wenn Sie
|
|
||||||
<acronym>NFS</acronym> erst in der Datei
|
|
||||||
<filename>/etc/rc.conf</filename> aktivieren mussten,
|
|
||||||
sollten Sie stattdessen den Rechner neu starten. Dadurch
|
|
||||||
wird die Konfigurationsdatei ebenfalls
|
|
||||||
neu eingelesen.</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>service mountd restart</userinput></screen>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Konfiguration des
|
|
||||||
<acronym>TFTP</acronym>-Servers</title>
|
|
||||||
|
|
||||||
<para>Um <acronym>PXE</acronym> beim Systemstart zu verwenden,
|
|
||||||
müssen Sie im <acronym>BIOS</acronym> des Rechner die
|
|
||||||
Option <literal>Über das Netzwerk starten</literal>
|
|
||||||
aktivieren. Alternativ können Sie während der
|
|
||||||
PC-Initialisierung auch eine Funktionstaste drücken.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<indexterm>
|
|
||||||
<primary>TFTP</primary>
|
|
||||||
<secondary>plattenloser Betrieb</secondary>
|
|
||||||
</indexterm>
|
|
||||||
|
|
||||||
<indexterm>
|
|
||||||
<primary>NFS</primary>
|
|
||||||
<secondary>plattenloser Betrieb</secondary>
|
|
||||||
</indexterm>
|
|
||||||
|
|
||||||
<para>Führen Sie folgende Schritte aus um
|
|
||||||
&man.tftpd.8; zu aktivieren:</para>
|
|
||||||
|
|
||||||
<procedure>
|
|
||||||
<step>
|
|
||||||
<para>Erzeugen Sie ein Verzeichnis, in dem
|
|
||||||
<application>tftpd</application> seine Dateien ablegt,
|
|
||||||
beispielsweise <filename>/tftpboot</filename>.</para>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Fügen Sie folgende Zeile in
|
|
||||||
<filename>/etc/inetd.conf</filename> ein:</para>
|
|
||||||
|
|
||||||
<programlisting>tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpboot</programlisting>
|
|
||||||
|
|
||||||
<note><para>Anscheinend benötigen zumindest einige
|
|
||||||
<acronym>PXE</acronym>-Versionen die
|
|
||||||
<acronym>TCP</acronym>-Version von
|
|
||||||
<acronym>TFTP</acronym>. Sollte dies bei Ihnen der
|
|
||||||
Fall sein, fügen Sie eine zweite Zeile ein, in der
|
|
||||||
Sie <literal>dgram udp</literal> durch
|
|
||||||
<literal>stream tcp</literal> ersetzen.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Weisen Sie <application>inetd</application> an, seine
|
|
||||||
Konfiguration erneut einzulesen (Damit der folgende
|
|
||||||
Befehl funktioniert, muss die Option
|
|
||||||
<option>inetd_enable="YES"</option> in der Datei
|
|
||||||
<filename>/etc/rc.conf</filename> vorhanden sein.):</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>/etc/rc.d/inetd restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
|
|
||||||
<para>Sie können das Verzeichnis
|
|
||||||
<filename>/tftpboot</filename> an einem beliebigen Ort auf
|
|
||||||
dem Server ablegen. Stellen Sie aber sicher, dass Sie
|
|
||||||
diesen Ort sowohl in <filename>/etc/inetd.conf</filename>
|
|
||||||
als auch in <filename>/usr/local/etc/dhcpd.conf</filename>
|
|
||||||
eingetragen haben.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Vorbereitung des Root-Dateisystems</title>
|
<title>Vorbereitung des Root-Dateisystems</title>
|
||||||
|
|
||||||
|
@ -4829,197 +4921,6 @@ cd /usr/src/etc; make distribution</programlisting>
|
||||||
Gerätedateien dort mit &man.devfs.5; zu erzeugen.</para>
|
Gerätedateien dort mit &man.devfs.5; zu erzeugen.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
|
||||||
<sect2 xml:id="network-pxe-nfs">
|
|
||||||
<info>
|
|
||||||
<title><acronym>PXE</acronym>-Boot mit einem
|
|
||||||
<acronym>NFS</acronym>-Root-Dateisystem</title>
|
|
||||||
|
|
||||||
<authorgroup>
|
|
||||||
<author>
|
|
||||||
<personname>
|
|
||||||
<firstname>Craig</firstname>
|
|
||||||
<surname>Rodrigues</surname>
|
|
||||||
</personname>
|
|
||||||
<affiliation>
|
|
||||||
<address>rodrigc@FreeBSD.org</address>
|
|
||||||
</affiliation>
|
|
||||||
<contrib>Beigetragen von </contrib>
|
|
||||||
</author>
|
|
||||||
</authorgroup>
|
|
||||||
</info>
|
|
||||||
|
|
||||||
<para>Das &intel; Preboot eXecution Environment
|
|
||||||
(<acronym>PXE</acronym>) erlaubt es, ein Betriebssystem über das
|
|
||||||
Netzwerk zu starten. <acronym>PXE</acronym>-Unterstützung wird
|
|
||||||
von modernen Mainboards über das <acronym>BIOS</acronym>
|
|
||||||
bereitgestellt, wo Sie es bei den Einstellungen zum Starten über
|
|
||||||
das Netzwerk aktivieren können. Ein voll funktionsfähiges
|
|
||||||
<acronym>PXE</acronym>-Setup erfordert zusätzlich einen richtig
|
|
||||||
konfigurierten <acronym>DHCP</acronym>- und
|
|
||||||
<acronym>TFTP</acronym>-Server.</para>
|
|
||||||
|
|
||||||
<para>Sobald das Gastsystem startet, erhält es vom
|
|
||||||
<acronym>DHCP</acronym>-Server Informationen, wo der initiale
|
|
||||||
Bootloader per <acronym>TFTP</acronym> zu bekommen ist. Nachdem
|
|
||||||
das Gastsystem diese Informationen erhält, lädt es den
|
|
||||||
Bootloader über <acronym>TFTP</acronym> herunter und führt
|
|
||||||
diesen anschließend aus. Dieses Verfahren ist in Sektion 2.2.1
|
|
||||||
der <link
|
|
||||||
xlink:href="http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf">Preboot
|
|
||||||
Execution Environment (PXE) Specification</link> dokumentiert.
|
|
||||||
In &os; ist <filename>/boot/pxeboot</filename> der Bootloader,
|
|
||||||
der während des <acronym>PXE</acronym>-Vorgangs abgerufen wird.
|
|
||||||
Nachdem <filename>/boot/pxeboot</filename> ausgeführt und der
|
|
||||||
&os;-Kernel geladen wurde, wird mit dem Rest der
|
|
||||||
&os;-Bootsequenz fortgefahren. Weitere Informationen über den
|
|
||||||
Bootvorgang unter &os; finden Sie in <xref
|
|
||||||
linkend="boot"/>.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Einrichtung der <command>chroot</command>-Umgebung für
|
|
||||||
das NFS-Root-Dateisystem</title>
|
|
||||||
|
|
||||||
<procedure>
|
|
||||||
<step>
|
|
||||||
<para>Wählen Sie ein Verzeichnis welches eine
|
|
||||||
&os;-Installation enthält und über NFS eingehangen
|
|
||||||
werden kann. Als Beispiel kann das Verzeichnis
|
|
||||||
<filename>/b/tftpboot/FreeBSD/install</filename>
|
|
||||||
verwendet werden.</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>export NFSROOTDIR=/b/tftpboot/FreeBSD/install</userinput>
|
|
||||||
&prompt.root; <userinput>mkdir -p ${NFSROOTDIR}</userinput></screen>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Aktivieren Sie den NFS-Server. Diese Prozedur wird
|
|
||||||
im Kapitel <xref linkend="network-configuring-nfs"/>
|
|
||||||
beschrieben.</para>
|
|
||||||
|
|
||||||
<para>Exportieren Sie das eben erstellte Verzeichnis über
|
|
||||||
NFS, indem Sie folgende Zeile in
|
|
||||||
<filename>/etc/exports</filename> hinzufügen:</para>
|
|
||||||
|
|
||||||
<programlisting>/b -ro -alldirs</programlisting>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Starten Sie den NFS-Server neu:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>/etc/rc.d/nfsd restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Aktivieren Sie &man.inetd.8; wie im Kapitel <xref
|
|
||||||
linkend="network-inetd-settings"/> beschrieben.</para>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Fügen Sie folgende Zeilen in
|
|
||||||
<filename>/etc/inetd.conf</filename> hinzu:</para>
|
|
||||||
|
|
||||||
<programlisting>tftp dgram udp wait root /usr/libexec/tftp tftp -l -s /b/tftpboot</programlisting>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Starten Sie inetd neu:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>/etc/rc.d/inetd restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para><link linkend="makeworld">Erstellen Sie einen neues
|
|
||||||
Basissystem und einen &os;-Kernel</link>:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
|
||||||
&prompt.root; <userinput>make buildworld</userinput>
|
|
||||||
&prompt.root; <userinput>make buildkernel</userinput></screen>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Installieren sie &os; in das Verzeichnis, welches
|
|
||||||
über <acronym>NFS</acronym> eingehangen ist:</para>
|
|
||||||
|
|
||||||
<screen>
|
|
||||||
&prompt.root; <userinput>make installworld DESTDIR=${NFSROOTDIR}</userinput>
|
|
||||||
&prompt.root; <userinput>make installkernel DESTDIR=${NFSROOTDIR}</userinput>
|
|
||||||
&prompt.root; <userinput>make distribution DESTDIR=${NFSROOTDIR}</userinput>
|
|
||||||
</screen>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Testen Sie den <acronym>TFTP</acronym>-Server und
|
|
||||||
vergewissern Sie sich, dass Sie den Bootloader
|
|
||||||
herunterladen können, der über <acronym>PXE</acronym>
|
|
||||||
bereitgestellt wird:</para>
|
|
||||||
|
|
||||||
<screen>
|
|
||||||
&prompt.root; <userinput>tftp localhost</userinput>
|
|
||||||
tftp> <userinput>get FreeBSD/install/boot/pxeboot</userinput>
|
|
||||||
Received 264951 bytes in 0.1 seconds
|
|
||||||
</screen>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Bearbeiten Sie
|
|
||||||
<filename>${NFSROOTDIR}/etc/fstab</filename> und
|
|
||||||
erstellen Sie einen Eintrag, um das Root-Dateisystem
|
|
||||||
über <acronym>NFS</acronym> einzuhängen:</para>
|
|
||||||
|
|
||||||
<programlisting>
|
|
||||||
# Device Mountpoint FSType Options Dump Pass
|
|
||||||
myhost.example.com:/b/tftpboot/FreeBSD/install / nfs ro 0 0
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>Ersetzen Sie
|
|
||||||
<replaceable>myhost.example.com</replaceable> durch den
|
|
||||||
Hostnamen oder die <acronym>IP</acronym>-Adresse Ihres
|
|
||||||
<acronym>NFS</acronym>-Servers. In diesem Beispiel wird
|
|
||||||
das Root-Dateisystem schreibgeschützt eingehangen, um
|
|
||||||
ein potenzielles Löschen des Inhalts durch die
|
|
||||||
<acronym>NFS</acronym>-Clients zu verhindern.</para>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Setzen Sie das root-Passwort in der
|
|
||||||
&man.chroot.8;-Umgebung:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>chroot ${NFSROOTDIR} </userinput>
|
|
||||||
&prompt.root; <userinput>passwd</userinput></screen>
|
|
||||||
|
|
||||||
<para>Damit setzen Sie das root-Passwort für die
|
|
||||||
Client-Maschinen, welche über <acronym>PXE</acronym>
|
|
||||||
starten.</para>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Aktivieren Sie &man.ssh.1; root-Logins für
|
|
||||||
Client-Maschinen, die über <acronym>PXE</acronym>
|
|
||||||
starten, indem Sie die Option
|
|
||||||
<literal>PermitRootLogin</literal> in
|
|
||||||
<filename>${NFSROOTDIR}/etc/ssh/sshd_config</filename>
|
|
||||||
aktivieren. Dies ist in &man.sshd.config.5;
|
|
||||||
dokumentiert.</para>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step>
|
|
||||||
<para>Führen Sie weitere Anpassungen der
|
|
||||||
&man.chroot.8;-Umgebung in ${NFSROOTDIR} durch, wie zum
|
|
||||||
Beispiel die Installation weiterer Pakete mittels
|
|
||||||
&man.pkg.add.1;, dass Bearbeiten der Passwortdatei mit
|
|
||||||
&man.vipw.8;, oder &man.amd.conf.5; für den Automounter.
|
|
||||||
Ein Beispiel:</para>
|
|
||||||
|
|
||||||
<screen>
|
|
||||||
&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
|
|
||||||
&prompt.root; <userinput>pkg_add -r bash</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Speicher-Dateisysteme für
|
<title>Speicher-Dateisysteme für
|
||||||
<filename>/etc/rc.initdiskless</filename></title>
|
<filename>/etc/rc.initdiskless</filename></title>
|
||||||
|
|
Loading…
Reference in a new issue