UbuntuをシリアルコンソールからPreseedで自動インストールする

スポンサード リンク

UbuntuやDebianでは,予め設定ファイルを作成してインストーラーに 読み込ませることで自動的にインストールできる。この仕組みはPreseedと呼ばれる。

似たものとしては,CentOSのkickstartがある。

preseed用isoイメージの作成

ubuntu.comよりisoイメージをダウンロードする。

$ wget http://releases.ubuntu.com/14.04/ubuntu-14.04.4-server-amd64.iso
$ mkdir mountpoint-iso
$ sudo mount -t iso9660 ubuntu-14.04-server-amd64.iso mountpoint-iso
$ find mountpoint-iso ! -type l | cpio -pdum updated-iso/
$ vim dvdr/isolinux/isolinux.cfg
   #  append行に console=tty0 console=ttyS0,115200n8 を追記する
   #  書き換えたappendのラベルを呼び出すように default <label name> と書き換える

    default linux
    timeout 600

    label linux
      menu label ^Install ubuntu
      kernel /install/vmlinuz
      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 file=/path/to/preseed.cfg vga=normal initrd=/install/initrd.gz noslpash nomodest console=tty0 console=ttyS0,115200n8 --

$ sudo genisoimage -N -J -R -D -V "ubuntu-14.04" -o ubuntu-14.04-server-amd64-preseed.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table updated-iso

cfgファイルはisoの中身に仕込むのが楽だろう。 同時にmacアドレスからhostnameを指定するスクリプトも仕込んでおく。

preseed.cfgの作成

Ubuntuではrootログインを許可すると 一般ユーザをsudoersに追加しなくなる。 sudo を使いたいなら, d-i passwd/root-login boolean false とするか, post-installation で自作スクリプトを実行する。

Preseedの完成版はぐぐれば沢山でてくるので略

Comments !

social