================ build.json============================ { "Variables": { "domain": "local", "hostname": "ubuntu", "ssh_pass": "test", "ssh_user": "test" }, "builders": [ { "boot_command": [ "", "", "", "", "/install/vmlinuz", "auto", " console-setup/ask_detect=false", " console-setup/layoutcode=us", " console-setup/modelcode=105", " debconf/frontend=noninteractive", " deian-installer=en_US", " fb=false", " initrd=/install/initrd.gz", " kdb-chooser/method=us", " keyoard-configuration/layout=USA", " keyoard-configuration/variant=USA", " locale=en_US", " netcfg/get_domain={{user `domain`}}", " netcfg/get_hostname={{user `hostname`}}", " grub-installer/bootdev=/dev/sda/", " noapic", " preseed/url=http:/{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg", " -- ", " " ], "cpus": "1", "disk_size": "20000", "format": "ova", "guest_additions_mode": "upload", "guest_os_type": "ubuntu_64", "headless": "false", "http_directory": "http", "iso_checksum": "md5:2b0bfcb7e9e95c8eadb14a6fb59efae8", "iso_target_path": "/home/ubuntu/t/packer/ubuntu-20.04.2.0-desktop-amd64.iso", "iso_url": "https://releases.ubuntu.com/20.04/ubuntu-20.04.2.0-desktop-amd64.iso", "output_directory": "ubuntu-20.04", "memory": "1024", "shutdown_command": "sudo /sbin/halt -p", "ssh_password": "{{user `ssh_pass`}}", "ssh_pty": "true", "ssh_timeout": "5h", "ssh_handshake_attempts": "100", "ssh_username": "{{user `ssh_user`}}", "type": "virtualbox-iso", "vm_name": "Test_VM" } ], "provisioners": [{ "type" : "shell", "expect_disconnect": "true", "pause_after": "120s", "execute_command": "echo '{{ user `ssh_pass` }}' | {{.Vars}} sudo -E -S bash '{{.Path}}'", "scripts": "scripts/init.sh" }, { "type": "shell", "execute_command": "echo '{{user `ssh_pass` }}' | {{.Vars}} sudo -E -S bash '{{.Path}}'", "scripts": [ "scripts/revtools.sh"] }] } ===========================================preceed.cfg=============================== # Supported locales available in /usr/share/i18n/SUPPORTED d-i debian-installer/language string en d-i debian-installer/locale string en_US.UTF-8 d-i localechooser/preferred-locale string en_US.UTF-8 d-i localechooser/supported-locales en_US.UTF-8 # Hostname / domain d-i netcfg/get_hostname string ubuntu d-i netcfg/get_domain string local # Keyboard setting d-i console-setup/ask_detect boolean false d-i keyboard-configuration/layout selecct USA d-i keyboard-configuration/variant select USA d-i keyboard-configuration/modelcode string pc105 # Timezoon /Time d-i time/zone string UTC d-i clock-setup/utc-auto boolean true d-i clock-setup/utc boolean true # Server tasksel tasksel/first multiselect standard, ubuntu-server # No proxy d -i mirror/http/proxy string # Package Policy d-i pkgsel/install-language-support boolean false d-i pkgsel/update-policy select none d-i pkgsel/upgrade select full-upgrade d-i pkgsel/include string openssh-server cryptsetup build-essential libssl-dev libreadline-dev zlib1g-dev # Partitioning d-i partman-auto/method string lvm d-i partman-auto-lvm/guided_size string max d-i partman-auto/choose_recipe select atomic d-i partman-auto/disk string /dev/sda d-i partman-lvm/confirm boolean true d-i partman-lvm/confirm_nooverwrite boolean true d-i partman/confirm boolean true d-i partman/confirm_write_new_label boolean true d-i partman/choose_partition select finish # Creat packer user account d-i passwd/user-fullname string packer d-i passwd/username string test d-i passwd/user-password password test d-i passwd/user-password-again password test d-i user-setup/allow-password-weak boolean true d-i user-setup/encrypt-home boolean false d-i passwd/user-default-group packer sudo