【发布时间】:2017-03-02 19:31:35
【问题描述】:
我目前正在尝试使用打包程序制作一个流浪盒。挑战在于我所依赖的 iso 映像 (Raspbian Jessie Pixels) 已禁用 ssh,因此它会阻止脚本在打包程序脚本中进行一些必要的配置。
有谁知道我可以覆盖 ISO 映像中的设置以便启用 ssh 的方法?
我目前的json配置如下:
{
"builders": [{
"disk_size": 10140,
"guest_os_type": "Debian",
"headless": true,
"http_directory": "http",
"iso_checksum": "29c24b21e5a46c6290d980681a7bd1fbc4974111e8ff2730ba8c1f2f53a22a59",
"iso_checksum_type": "sha256",
"iso_url": "http://downloads.raspberrypi.org/pixel_x86/images/pixel_x86-2016-12-13/2016-12-13-pixel-x86-jessie.iso",
"shutdown_command": "echo 'halt -p' > shutdown.sh; echo 'vagrant'|sudo -S sh 'shutdown.sh'",
"ssh_password": "raspberry",
"ssh_port": 22,
"ssh_username": "pi",
"ssh_wait_timeout": "10000s",
"type": "virtualbox-iso",
"vboxmanage": [
[ "modifyvm", "{{.Name}}", "--memory", "512"],
[ "modifyvm", "{{.Name}}", "--cpus", "2"]
],
"boot_command": [ ]
}],
"post-processors": [
"vagrant"
],
"provisioners": [{
"type": "shell",
"execute_command": "echo 'vagrant'|sudo -S sh '{{.Path}}'",
"scripts": [
"scripts/base.sh",
"scripts/vagrant.sh",
"scripts/virtualbox.sh"
]
}]
}
【问题讨论】:
-
实际上做同样的事情,但使用 QEMU。由于 ssh 被禁用,packer 无法配置它,直到我手动启用它。你找到工作了吗?
-
对于后来偶然发现此问题的任何人,我使用打包程序启动命令执行此操作。该命令登录然后启用 ssh。
"boot_command": [ "pi<enter><wait5>", "raspberry<enter><wait5>", "sudo update-rc.d ssh enable && sudo invoke-rc.d ssh start && STATUS=enabled<enter><wait5>" ]当然你的 boot_wait 需要正确配置