ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

続・Debian/UbuntuでPXEサーバー(2015年11月版)

前の記事

ytooyama.hatenadiary.jp

 

ではPXEでUbuntu Server Trustyのインストールができるような環境を作りましたが、他のOSもインストールできるようにしたいところです。

意外と簡単だったので紹介します。

まず、インストールする他のOSを検討します。先に構築したPXEサーバーはベースのOSがDebianなので今度はDebianをPXEブートできるようにしましょう。DebianUbuntuと同様、ネットワークブート用のDebianインストーラーパッケージが用意されていますのでそれをダウンロードします。jessieをコマンドでダウンロードするならこんな感じです。ダウンロードしたパッケージはTFTPDのカレントディレクトリーに配置します。

# cd /root

# wget http://ftp.nl.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/netboot.tar.gz

# tar zvxf netboot.tar.gz

# mv debian-installer/ /var/lib/tftpboot

PXEのメニューを定義します。以前のものを流用して、必要な記述を追記、不要なものはコメントアウトします。 

# vi /var/lib/tftpboot/pxelinux.cfg/default

#include ubuntu-installer/amd64/boot-screens/menu.cfg #コメントアウト
default ubuntu-installer/amd64/boot-screens/vesamenu.c32

prompt
timeout 0

label 1
menu label ^1) Install Ubuntu 14.04 x64
kernel ubuntu-installer/amd64/linux
append vga=788 initrd=ubuntu-installer/amd64/initrd.gz -- quiet
label 2
menu label ^2) Install Debian jessie x64
kernel debian-installer/amd64/linux
append vga=788 initrd=debian-installer/amd64/initrd.gz -- quiet
label 3
menu label ^3) Local Boot
LOCALBOOT 0

 以上で終わり。他のOSを追加するには、カーネルとinitrdファイルをダウンロードしてTFTPDのカレントディレクトリーに識別しやすいディレクトリー名で掘って配置し、同じようにパスを /var/lib/tftpboot/pxelinux.cfg/default に追記するだけです。この例では3を選ぶとローカルディスクからブートします。意外と簡単でしたね。

f:id:ytooyama:20151128190648p:plain

Ubuntuのレスキューモードとかも組み込みたい場合は、次を参考にしてください。これで家でもPXEブート出来ますね!

www.tecmint.com

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。