思ったほど日本語のドキュメントなくて驚いた。やっぱ普通は仮想化なりなんなりでもっと楽してるんだろうな・・・
適当に作業場を作る。ここで2つのディレクトリ「iso1」「iso2」を作るが
- iso1は元のUbuntuのイメージのマウント場所
- iso2は作業場
cd /var/tmp mkdir iso1 iso2
マウント
sudo mount -o loop,ro /pass/to/image/ubuntu-12.04.4-server-amd64.iso /var/tmp/iso1
iso1の内容をiso2にコピー
cd iso1 sudo find . ! -type l | cpio -pdum ../iso2
iso2/isolinux/isolinux.cfgの起動オプションを変更する。以下がデフォルト
# D-I config version 2.0 include menu.cfg default vesamenu.c32 prompt 0 timeout 0 ui gfxboot bootlogo
下記のようにする。今回のキモである「preseed.cfg」のURLは各々変更する
default install label install menu label ^Install Ubuntu Server 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 url=http://nyaaz.dip.jp/preseed.cfg vga=normal initrd=/install/initrd.gz quiet -- timeout 3
isoの生成
sudo genisoimage -N -J -R -D -V "PRESEED" -o /home/pass/mod.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table iso2
そして「preseed.cfg」の設定
#=========================================================================================== #言語設定 #=========================================================================================== #キーボードは日本語だが表示は文字化け回避のため日本語 d-i debian-installer/language string en d-i debian-installer/country string US d-i debian-installer/locale string en_US.UTF-8 d-i localechooser/supported-locales en_US.UTF-8 d-i console-setup/ask_detect boolean false d-i console-setup/layoutcode string us d-i console-setup/charmap select UTF-8 d-i keyboard-configuration/layoutcode string jp d-i keyboard-configuration/modelcode jp106 #=========================================================================================== # ネットワーク(DHCPver) #------------------------------------------------------------------------------------------- d-i netcfg/choose_interface select eth0 d-i netcfg/disable_autoconfig boolean false d-i netcfg/get_hostname string hostname #=========================================================================================== # ミラー・TimeZone #=========================================================================================== d-i mirror/country string manual d-i mirror/http/hostname string jp.archive.ubuntu.com d-i mirror/http/directory string /ubuntu/ d-i mirror/http/proxy string d-i clock-setup/utc boolean true d-i time/zone string Japan d-i clock-setup/ntp boolean true #=========================================================================================== # パーティション設定 #=========================================================================================== d-i partman-auto/disk string /dev/sda d-i partman-auto/method string regular d-i partman-auto/choose_recipe select atomic d-i partman/default_filesystem string ext4 d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true #=========================================================================================== # ユーザー設定 # root pass # user pass #=========================================================================================== d-i passwd/root-login boolean false d-i passwd/make-user boolean true d-i passwd/root-password password pass d-i passwd/root-password-again password pass d-i passwd/user-fullname string user d-i passwd/username string user d-i passwd/user-password password pass d-i passwd/user-password-again password pass d-i user-setup/allow-password-weak boolean true d-i user-setup/encrypt-home boolean false #=========================================================================================== # その他 #=========================================================================================== tasksel tasksel/first multiselect none d-i pkgsel/upgrade select none d-i pkgsel/update-policy select none d-i pkgsel/install-language-support boolean true # GRUBインストーラー d-i grub-installer/only_debian boolean true d-i grub-installer/bootdev string /dev/sda #再起動 d-i finish-install/reboot_in_progress note
preseed.cfgに関しては以下が役立つ https://help.ubuntu.com/12.04/installation-guide/example-preseed.txt
あと
d-i pkgsel/include string ssh ・・・・・
で追加したいパッケージをインスコ
d-i pkgsel/upgrade select full-upgrade
でupgradeパッケージしてくれる。