動いた。Ubuntu(というか Xubuntu)Desktop では動かせていないものの、Ubuntu Server では素直に動いた。
ubuntuserver18.04.1.pkr.hcl
variable "build_directory" {
default = "./build"
}
variable "boot_wait" {
default = "10s"
}
variable "cpus" {
default = 1
}
variable "disk_size" {
default = 50000
}
variable "headless" {
default = false
}
variable "http_directory" {
default = "./http"
}
variable "iso_url" {
type = string
}
variable "iso_checksum" {
type = string
}
variable "memory" {
default = 1024
}
variable "username" {
default = "vagrant"
}
variable "vm_name" {
type = string
}
variable "provider_name" {
default = "virtualbox"
}
variable "ssh_timeout" {
default = "45m"
}
source "virtualbox-iso" "ubuntuserver18041" {
boot_command = [
"<enter><wait>",
"<esc><wait>",
"<enter><wait>",
"/install/vmlinuz<wait>",
" file=/cdrom/preseed/ubuntu-server.seed vga=788 initrd=/install/initrd.gz",
" auto-install/enable=true",
" debconf/priority=critical",
" preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ubuntuserver18.04.1.cfg",
" --- <wait>",
"<enter><wait>"
]
boot_wait = var.boot_wait
cpus = var.cpus
disk_size = var.disk_size
guest_os_type = "Ubuntu_64"
hard_drive_interface = "sata"
headless = var.headless
http_directory = var.http_directory
iso_url = var.iso_url
iso_checksum = var.iso_checksum
memory = var.memory
output_directory = "${var.build_directory}/packer-${var.provider_name}"
shutdown_command = "echo '${var.username}' | sudo -S shutdown -P now"
ssh_timeout = var.ssh_timeout
ssh_username = var.username
ssh_password = var.username
vm_name = var.vm_name
}
build {
sources = ["sources.virtualbox-iso.ubuntuserver18041"]
}
ubuntuserver18.04.1.pkrvars.hcl
iso_url="file://f:/iso/ubuntu-18.04.1-server-amd64.iso" iso_checksum="md5:e8264fa4c417216f4304079bd94f895e" vm_name="UbuntuServer18.04.1" username="vagrant"
ubuntuserver18.04.1.cfg (仮)
d-i debian-installer/locale string en_US d-i console-setup/ask_detect boolean false d-i keyboard-configuration/xkb-keymap select us d-i netcfg/choose_interface select auto d-i netcfg/get_hostname string unassigned-hostname d-i netcfg/get_domain string unassigned-domain d-i netcfg/wireless_wep string d-i mirror/country string manual d-i mirror/http/hostname string archive.ubuntu.com d-i mirror/http/directory string /ubuntu d-i mirror/http/proxy string d-i passwd/user-fullname string vagrant d-i passwd/username string vagrant d-i passwd/user-password password vagrant d-i passwd/user-password-again password vagrant d-i passwd/user-uid string 1000 d-i user-setup/allow-password-weak boolean true d-i user-setup/encrypt-home boolean false d-i clock-setup/utc boolean true d-i time/zone string US/Eastern d-i partman-auto/method string lvm d-i partman-lvm/device_remove_lvm boolean true d-i partman-md/device_remove_md boolean true d-i partman-lvm/confirm boolean true d-i partman-lvm/confirm_nooverwrite boolean true d-i partman-auto/choose_recipe select atomic 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 d-i partman-md/confirm boolean true 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 tasksel tasksel/first standard d-i pkgsel/include string openssh-server build-essential d-i pkgsel/update-policy select none d-i pkgsel/install-language-support boolean false d-i grub-installer/only_debian boolean true d-i grub-installer/with_other_os boolean true d-i finish-install/reboot_in_progress note
cfg ファイルを http フォルダにおいて、
packer build --force -var-file=ubuntuserver18.04.1.pkrvars.hcl ubuntuserver18.04.1.pkr.hcl
で動いてくれた。内容とか適当で、言語とキーボードの選択がまだ残ってたのでいろいろと調整が必要。
インストールが終わると build フォルダに vmware 用のが出力されたので、この辺ももう少し調査がいるか。