我当前正在尝试使用Packer制作一个流浪汉。面临的挑战是,我是根据已禁用SSH的ISO映像(Raspbian Jessie Pixels),因此它可以阻止脚本作为Packer脚本的一部分进行某些必要的配置。
有人知道我可以在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"
]
}]
}
有3种不同的方法可以在Raspbian图像上启用SSH。专门用于无头图像:
对于无头设置,可以通过将一个名为" ssh"的文件放在SD卡的启动分区中,可以启用SSH。当Pi靴子时,它会寻找" SSH"文件。如果发现它,则启用SSH,并删除文件。文件的内容无关紧要:它可以包含文本,或者根本不包含文本。
这是关于Raspbian现在如何处理SSH的文档:https://www.raspberrypi.org/documentation/remote-access/ssh/
您可能能够在包装器设置中使用floppy_files
将ssh
文件与图像一起放在根目录中。请参阅https://www.packer.io/docs/builders/virtualbox-iso.html#floppy_files
祝你好运!