Here is my json template, let me know if I'm missing a step, thanks.
{
"variables": {
"ssh_name": "developer",
"ssh_pass": "developer",
"hostname": "dev-box-test-001"
},
"builders": [{
"type": "virtualbox-iso",
"guest_os_type": "Ubuntu_64",
"vboxmanage": [
["modifyvm", "{{.Name}}", "--vram", "32"]
],
"disk_size" : 10000,
"iso_checksum": "e83adb9af4ec0a039e6a5c6e145a34de",
"iso_checksum_type": "md5",
"http_directory" : "http",
"http_port_min" : 9001,
"http_port_max" : 9001,
"ssh_username": "{{user `ssh_name`}}",
"ssh_password": "{{user `ssh_pass`}}",
"ssh_wait_timeout": "20m",
"shutdown_command": "echo {{user `ssh_pass`}} | sudo -S shutdown -P now",
"boot_command" : [
"<esc><esc><enter><wait>",
"/install/vmlinuz noapic ",
"preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
"debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
"hostname={{user `hostname`}} ",
"fb=false debconf/frontend=noninteractive <wait>",
"keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
"keyboard-configuration/variant=USA console-setup/ask_detect=false ",
"initrd=/install/initrd.gz -- <enter><wait>"
],
"boot_wait": "4s"
}],
"provisioners": [
{
"scripts": [
"scripts/setup.sh"
],
"type": "shell"
}
]
}