[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
Ubuntu 14.04 LTS を PXE ブートを使ってネットワークインストールするの続き。
大切なことなのでもう一度書くが、PXE ブートが思ったほど便利じゃなかった。結局、インストール CD を挿入しなくてもインストールできる、というだけであった。それは CD ドライブがないサーバーとかを考えれば便利だし、 CD 焼かなくていいし、枚数無くてもさっさか並列でインストールできるし、と利点はある。しかし、各種設定は手動でやらなければならない。
よって、インストール時の設定も自動化したい。
preseed.cfg
はインストール時の設定を記述するためのファイル。これをインストール時に読み込むように設定することでインストール時にぽちぽちボタンを押していく必要がなくなる。
前回 PXE ブートを試した環境ならば、すぐに試せる。
preseed.cfg を配置する HTTP サーバを作る。PXE ブート用のサーバに apache を入れてもいいし、既存の HTTP サーバにその役割をお願いしてもいい。tftp で提供することもできるようだが、私はまだ試していない。
前回、インストールイメージを配置する際、以下のようにした。
インストールイメージを入手する。
$ cd
$ wget http://releases.ubuntu.com/14.04.4/ubuntu-14.04.4-server-amd64.isoDHCP の設定と tftp の設定で記述した場所に iso イメージを配置する。
# mount -t iso9660 -o loop /home/ubuntu/ubuntu-14.04.4-server-amd64.iso /var/lib/tftpboot/
しかし、この方法ではマウントされたイメージは読み込み専用となる。つまり、編集ができない。ディスクイメージの中に preseed.cfg の場所を記述する必要があるので、この方法ではまずい。よって、次のようにする。
# umount /var/lib/tftpboot/
で前回マウントしたディスクをアンマウントする$ mkdir /tmp/tftpboot
でとりあえず配置するためのディレクトリを作る# mount -t iso9660 -o loop /home/ubuntu/ubuntu-14.04.4-server-amd64.iso /tmp/tftpboot/
でとりあえずの場所にインストールイメージを配置する# cp -r /tmp/tftpboot /var/lib/
でイメージを複製するchmod
とかで適切な権限を /var/lib/tftpboot/
以下に付与する。なお、書き換えが必要なのは /var/lib/tftpboot/install/netboot/pxelinux.cfg/default
だけであるpreseed.cfg の書き方は資料がやたら少ない。この記事末尾の参考文献を読んで書いて頂ければ。
かけたら先に準備した HTTP サーバに preseed.cfg を配置する。
末尾に以下を書き足した。
label myInstall
menu label ^Install Ubuntu Server with preseed
kernel ubuntu-installer/amd64/linux
append DEBCONF_DEBUG=5 auto=true locale=en_US.UTF-8 console-setup/charmap=UTF-8 console-setup/layoutcode=us console-setup/ask_detect=false pkgsel/language-pack-patterns=pkgsel/install-language-support=false interface=eth0 hostname=localhost domain=localdomain url=[用意した preseed.cfg の URL] vga=normal initrd=ubuntu-installer/amd64/initrd.gz quiet --
1行目は名づけ。この設定は myInstall という名である、というだけ。
2行目はメニューでの表示。設定しないと myInstall という名で表示されるが、この設定によりメニュー上では Install Ubuntu Server with preseed と表示される。
3行目はインストール実行時に読み込まれるカーネルを指定。起点が DHCP サーバで指定した pxelinux.0
の配置ディレクトリ (前回通りなら ubuntu/install/netboot/
) なので注意。
4行目は起動時の設定。引数がいろいろ並んでいるが、url の指定に注意。あとはコピペで行ける。これは preseed.cfg で設定される内容だが、これらは事前に引数で渡さないとインストール時に確認させられてしまう。
前回と同じように PXE ブートする。すると、次のように画面には出力される。
TFTP prefix: ubuntu/install/netboot/ Trying to load: pxelinux.cfg/default [OK] Boot:
ここで Enter を押す。すると、インストールメニューが出てくる。そこで Install Ubuntu Server with preseed を選択すればインストールが勝手に始まる。
Boot: が出た後の Enter とメニューからの選択はなんかスキップできそうな気がするけどまだ試してない。
ただいまコメントを受けつけておりません。