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の起動順序を前の順序に変更することは、インストールの最後でのみ忘れないでください。



All Articles