Packer build opens VMWare Workstation GUI

47 views
Skip to first unread message

Mohan Radhakrishnan

unread,
May 18, 2020, 10:55:19 AM5/18/20
to Packer
Hi,

I tried this template. But on Windows 10 the  VMWare Workstation GUI opens and shows the Ubuntu installation screen. It doesn't proceed by itself. I click the button to
begin installation and once it finishes it shutsdown. I can restart the OS from the Workstation GUI. Open SSH is not found and then I manually install it but then SSH connection fails since packer is waiting for it.

What am I doing wrong ?

Thanks,
Mohan

{
  "_comment": "Build with `packer build ubuntu.json`",
  "builders": [
    {
      "boot_command": [
        "{{ user `boot_command_prefix` }}",
        "/install/vmlinuz noapic ",
        "initrd=/install/initrd.gz ",
        "file=/floppy/{{ user `preseed` }} ",
        "debian-installer={{ user `locale` }} auto locale={{ user `locale` }} kbd-chooser/method=us ",
        "hostname={{ user `hostname` }} ",
        "grub-installer/bootdev=/dev/sda<wait> ",
        "fb=false debconf/frontend=noninteractive ",
        "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
        "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
        "passwd/user-fullname={{ user `ssh_fullname` }} ",
        "passwd/user-password={{ user `ssh_password` }} ",
        "passwd/user-password-again={{ user `ssh_password` }} ",
        "passwd/username={{ user `ssh_username` }} ",
        "-- <enter>"
      ],
      "disk_size": "{{ user `disk_size` }}",
      "floppy_files": [
        "http/{{ user `preseed` }}"
      ],
      "guest_os_type": "{{ user `vmware_guest_os_type` }}",
      "headless": "{{ user `headless` }}",
      "http_directory": "http",
      "iso_checksum": "{{ user `iso_checksum` }}",
      "iso_checksum_type": "{{ user `iso_checksum_type` }}",
      "iso_urls": [
        "{{ user `iso_path` }}/{{ user `iso_name` }}",
        "{{ user `iso_url` }}"
      ],
      "output_directory": "output-{{ user `vm_name` }}-vmware-iso",
      "shutdown_command": "echo '{{ user `ssh_password` }}'|sudo -S shutdown -P now",
      "ssh_password": "{{ user `ssh_password` }}",
      "ssh_username": "{{ user `ssh_username` }}",
      "ssh_timeout": "10000s",
      "tools_upload_flavor": "linux",
      "type": "vmware-iso",
      "vm_name": "{{ user `vm_name` }}",
      "vmx_data": {
        "ethernet0.pciSlotNumber": "32",
        "memsize": "{{ user `memory` }}",
        "numvcpus": "{{ user `cpus` }}"
      },
      "vmx_remove_ethernet_interfaces": true
    },
    {
      "boot_command": [
        "{{ user `boot_command_prefix` }}",
        "/install/vmlinuz noapic ",
        "initrd=/install/initrd.gz ",
        "file=/floppy/{{ user `preseed` }} ",
        "debian-installer={{ user `locale` }} auto locale={{ user `locale` }} kbd-chooser/method=us ",
        "hostname={{ user `hostname` }} ",
        "grub-installer/bootdev=/dev/sda<wait> ",
        "fb=false debconf/frontend=noninteractive ",
        "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
        "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
        "passwd/user-fullname={{ user `ssh_fullname` }} ",
        "passwd/user-password={{ user `ssh_password` }} ",
        "passwd/user-password-again={{ user `ssh_password` }} ",
        "passwd/username={{ user `ssh_username` }} ",
        "-- <enter>"
      ],
      "disk_size": "{{ user `disk_size` }}",
      "floppy_files": [
        "http/{{ user `preseed` }}"
      ],
      "guest_additions_path": "VBoxGuestAdditions_{{.Version}}.iso",
      "guest_os_type": "{{ user `virtualbox_guest_os_type` }}",
      "hard_drive_interface": "sata",
      "headless": "true",
      "iso_checksum": "{{ user `iso_checksum` }}",
      "iso_checksum_type": "{{ user `iso_checksum_type` }}",
      "iso_urls": [
        "{{ user `iso_path` }}/{{ user `iso_name` }}",
        "{{ user `iso_url` }}"
      ],
      "output_directory": "output-{{ user `vm_name` }}-virtualbox-iso",
      "post_shutdown_delay": "1m",
      "shutdown_command": "echo '{{ user `ssh_password` }}'|sudo -S shutdown -P now",
      "ssh_password": "{{ user `ssh_password` }}",
      "ssh_username": "{{ user `ssh_username` }}",
      "ssh_wait_timeout": "10000s",
      "type": "virtualbox-iso",
      "vboxmanage": [
        [
          "modifyvm", "{{.Name}}", "--nictype1", "virtio"
        ],
        [
          "modifyvm", "{{.Name}}", "--memory", "{{ user `memory` }}"
        ],
        [
          "modifyvm", "{{.Name}}", "--cpus", "{{ user `cpus` }}"
        ]
      ],
      "virtualbox_version_file": ".vbox_version",
      "vm_name": "{{user `vm_name`}}"
    },
    {
      "boot_command": [
        "{{ user `boot_command_prefix` }}",
        "/install/vmlinuz noapic ",
        "initrd=/install/initrd.gz ",
        "file=/floppy/{{ user `preseed` }} ",
        "debian-installer={{ user `locale` }} auto locale={{ user `locale` }} kbd-chooser/method=us ",
        "hostname={{ user `hostname` }} ",
        "grub-installer/bootdev=/dev/sda<wait> ",
        "fb=false debconf/frontend=noninteractive ",
        "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
        "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
        "passwd/user-fullname={{ user `ssh_fullname` }} ",
        "passwd/user-password={{ user `ssh_password` }} ",
        "passwd/user-password-again={{ user `ssh_password` }} ",
        "passwd/username={{ user `ssh_username` }} ",
        "-- <wait><enter>"
      ],
      "disk_size": "{{ user `disk_size` }}",
      "floppy_files": [
        "http/{{ user `preseed` }}"
      ],
      "guest_os_type": "{{ user `parallels_guest_os_type` }}",
      "http_directory": "http",
      "iso_checksum": "{{ user `iso_checksum` }}",
      "iso_checksum_type": "{{ user `iso_checksum_type` }}",
      "iso_urls": [
        "{{ user `iso_path` }}/{{ user `iso_name` }}",
        "{{ user `iso_url` }}"
      ],
      "output_directory": "output-{{ user `vm_name` }}-parallels-iso",
      "parallels_tools_flavor": "lin",
      "prlctl": [
        [
          "set", "{{.Name}}", "--memsize", "{{ user `memory` }}"
        ],
        [
          "set", "{{.Name}}", "--cpus", "{{ user `cpus` }}"
        ]
      ],
      "prlctl_version_file": ".prlctl_version",
      "shutdown_command": "echo '{{ user `ssh_password` }}'|sudo -S shutdown -P now",
      "ssh_password": "{{ user `ssh_password` }}",
      "ssh_username": "{{ user `ssh_username` }}",
      "ssh_wait_timeout": "10000s",
      "type": "parallels-iso",
      "vm_name": "{{ user `vm_name` }}"
    }
  ],
  "post-processors": [
    {
      "keep_input_artifact": false,
      "output": "box/{{.Provider}}/{{user `vm_name`}}-{{user `version`}}.box",
      "type": "vagrant",
      "vagrantfile_template": "{{ user `vagrantfile_template` }}"
    }
  ],
  "provisioners": [
    {
      "environment_vars": [
        "CLEANUP_PAUSE={{user `cleanup_pause`}}",
        "DEBIAN_FRONTEND=noninteractive",
        "DESKTOP={{user `desktop`}}",
        "UPDATE={{user `update`}}",
        "INSTALL_VAGRANT_KEY={{user `install_vagrant_key`}}",
        "SSH_USERNAME={{user `ssh_username`}}",
        "SSH_PASSWORD={{user `ssh_password`}}",
        "http_proxy={{user `http_proxy`}}",
        "https_proxy={{user `https_proxy`}}",
        "ftp_proxy={{user `ftp_proxy`}}",
        "rsync_proxy={{user `rsync_proxy`}}",
        "no_proxy={{user `no_proxy`}}"
      ],
      "execute_command": "echo '{{ user `ssh_password` }}' | {{.Vars}} sudo -E -S bash '{{.Path}}'",
      "scripts": [
        "script/desktop.sh",
        "script/update.sh",
        "script/vagrant.sh",
        "script/sshd.sh",
        "script/vmware.sh",
        "script/virtualbox.sh",
        "script/parallels.sh",
        "script/motd.sh",
        "{{user `custom_script`}}",
        "script/minimize.sh",
        "script/cleanup.sh"
      ],
      "type": "shell",
      "expect_disconnect": "true"
    }
  ],
  "variables": {
    "boot_command_prefix": "<esc><esc><enter><wait>",
    "cleanup_pause": "",
    "cpus": "1",
    "custom_script": "custom-script.sh",
    "desktop": "false",
    "disk_size": "65536",
    "ftp_proxy": "{{env `ftp_proxy`}}",
    "headless": "false",
    "http_proxy": "{{env `http_proxy`}}",
    "https_proxy": "{{env `https_proxy`}}",
    "install_vagrant_key": "true",
    "iso_checksum": "a5b0ea5918f850124f3d72ef4b85bda82f0fcd02ec721be19c1a6952791c8ee8",
    "iso_checksum_type": "sha256",
    "iso_name": "ubuntu-18.04.1-server-amd64.iso",
    "iso_path": "/Volumes/Storage/software/ubuntu",
    "locale": "en_US",
    "memory": "512",
    "no_proxy": "{{env `no_proxy`}}",
    "parallels_guest_os_type": "ubuntu",
    "preseed" : "preseed.cfg",
    "rsync_proxy": "{{env `rsync_proxy`}}",
    "hostname": "vagrant",
    "ssh_fullname": "vagrant",
    "ssh_password": "vagrant",
    "ssh_username": "vagrant",
    "update": "false",
    "vagrantfile_template": "",
    "version": "0.1.0",
    "virtualbox_guest_os_type": "Ubuntu_64",
    "vm_name": "ubuntu1804",
    "vmware_guest_os_type": "ubuntu-64"
  }
}


Thanks,
Mohan

dragon788

unread,
May 19, 2020, 8:00:13 AM5/19/20
to Packer
`headless: false` is why the GUI is opening.

I'm not sure if the 18.04.1 is the latest ISO, you should try 18.04.4 though you'll need to update the checksum.

It looks like you might using GitHub.com/boxcutter/Ubuntu or GitHub.com/chef/bento and both of these have a README that describes how to invoke them correctly.

If you are using a different template you should certainly check these out.

Reply all
Reply to author
Forward
0 new messages