Linuxサーバー(dnsmasq + nfs)からネットワーク(PXE)経由でFreeBSDをインストールする

FreeBSDをラップトップにインストールする必要がありました。 ラップトップは古くからあるため、USBフラッシュドライブからの起動はサポートしていません。 手元に空白もありませんでした。PXE(Preboot eXecution Environment)を使用してインストールを試みることにしました。 グーグル、このトピックに関するいくつかの記事を見つけましたが、LinuxサーバーからのLinux、またはFreeBSDサーバーからのFreeBSDのインストールについて説明しています。 私は特別な方法を作成するふりをせず、ネットワーク上でFreeBSD 10.1を迅速に展開する方法に関する指示を投稿するだけです。

PXEダウンロードの理論的な部分は、記事http://xgu.ru/wiki/PXEで詳しく説明されています。

それでは始めましょう。 dhcp、tftp、nfsが必要です。

Debian 7がインストールされたコンピューターがサーバーとして機能しますが、既にdnsmasqがインストールされています(dhcpサーバーとdnsサーバーの両方です)。 これは、dhcpを上げて個別にバインドしないように、小規模なホームネットワークに非常に便利です。 さらに、dnsmasqには独自のtftpサーバーがあるため、「すべて1本のボトル」と言われるように、タスクに最適です。 nfsサーバーをインストールし、全体を構成することは残ります。 PXEブートローダーは、FreeBSDディストリビューションイメージに含まれています。

必要なパッケージをインストールします。

apt-get install dnsmasq nfs-kernel-server 

公式サイトfreebsd.orgからFreeBSDのiso-imageをダウンロードしてください。 最小限のブートオンリーイメージを使用しました。

 wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/10.1/FreeBSD-10.1-RELEASE-i386-bootonly.iso 

マウント:

 mount -o loop FreeBSD-10.1-RELEASE-i386-bootonly.iso /mnt 

すべての画像ファイルを、nfs経由でアクセスできるディレクトリにコピーします。

 cp -a /mnt /srv/nfs/freebsd 

nfsボールを/ etc / exportsに追加します

 /srv/nfs/freebsd 192.168.0.0/24(rw,sync,no_subtree_check) 

nfsを再起動します。

 service nfs-kernel-server restart 


次に、何かを修正する必要があります。

/ srv / nfs / freebsd / etc / fstabの行をコメントまたは削除して、システムがブート時にディスクをマウントしようとしないようにし(イメージはブランクに記録することを目的としています)、nfsボールをルートファイルシステムとしてマウントします:

 # /dev/iso9660/10_1_RELEASE_I386_BO / cd9660 ro 0 0 

存在しないファイル/srv/nfs/freebsd/tmp/bsdinstall_etc/resolv.confを参照するシンボリックリンク/srv/nfs/freebsd/etc/resolv.confを削除します。 理論的には、dnsサーバーのアドレスはdhcpを介して取得され、起動時にFreeBSDインストーラーによってこのファイルに書き込まれます。 ただし、これは発生しません。インストーラーは空のファイルを作成し、ファイルが既に作成されている場合は上書きします。 したがって、シンボリックリンクの代わりに、新しいファイル/srv/nfs/freebsd/etc/resolv.confを作成し、それにDNSサーバーのアドレスを書き込みます。

 nameserver 192.168.0.101 

ファイル/etc/dnsmasq.confを編集します。問題を解決するために必要なオプション、つまり dnsなしのdhcp + tftp:

 interface=eth0 #,    dhcp- dhcp-range=192.168.0.200,192.168.0.250,12h #  ip-    dhcp-option=17,/srv/nfs/freebsd/ #   nfs dhcp-boot=/srv/nfs/freebsd/boot/pxeboot #   PXE- enable-tftp #  tftp- tftp-root=/srv/nfs/freebsd/ #  tftp 

dnsmasqを再起動します。

 service dnsmasq restart 

それだけです。 BIOSに入り、LAN(PXE)から起動順序を選択します。 ネットワークカードがpxe-loaderをロードし、カーネルがコピーされてtftp経由で起動され、ルートファイルシステムがnfs経由でマウントされ、FreeBSDインストーラーが起動され、次に標準のFreeBSDインストールが行われます。 BIOSの起動順序を前の順序に変更することは、インストールの最後でのみ忘れないでください。

Source: https://habr.com/ru/post/J249707/


All Articles