2017-03-02 3 views
1

Ich versuche derzeit, eine vagabundierende Box mit Packer zu machen. Die Herausforderung besteht darin, dass das ISO-Image (Raspbian Jessie Pixels), auf das ich mich verlassen kann, ssh deaktiviert hat, so dass es verhindert, dass das Skript eine notwendige Konfiguration als Teil des Packer-Skripts ausführt.Packer und patchen eine ISO-Konfiguration, um ssh zu aktivieren?

Kennt jemand einen Ansatz, bei dem ich Einstellungen in einem ISO-Image übersteuern konnte, damit ich ssh aktivieren konnte?

Die json Konfiguration, die ich im Moment haben, ist wie folgt:

{ 
    "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" 
     ] 
    }] 
} 
+0

wörtlich das Gleiche tun, aber mit QEMU. Da ssh deaktiviert ist, kann der Packer es erst bereitstellen, wenn ich es manuell aktiviere. Hast du jemals eine Arbeit gefunden? –

+0

für jeden, der später darauf stolperte, tat ich dies mit einem Packer Boot-Befehl. Der Befehl meldet sich an und aktiviert ssh. '' ' "boot_command": [ "pi ", "Himbeere ", "sudo update-rc.d ssh aktiviert && sudo aufrufen-rc.d ssh Start && STATUS = aktiviert " ] '' 'Natürlich muss Ihr boot_wait korrekt konfiguriert sein –

Antwort

0

Es gibt 3 verschiedene Möglichkeiten, ssh auf den raspbian Bilder zu ermöglichen. Speziell für kopflose Bilder:

Für Headless-Setup kann SSH aktiviert werden, indem Sie eine Datei namens "ssh" ohne Erweiterung auf die Boot-Partition der SD-Karte platzieren. Wenn die Pi bootet, sucht sie nach der 'ssh' Datei. Wenn es gefunden wird, ist SSH aktiviert, und die Datei wird gelöscht. Der Inhalt der Datei spielt keine Rolle: Er könnte Text oder gar nichts enthalten.

Hier ist die Dokumentation, wie Raspbian Griffe ssh jetzt: https://www.raspberrypi.org/documentation/remote-access/ssh/

Sie könnte Lage sein floppy_files in Ihrem Packer Einstellungen zu verwenden, um die ssh Datei in das Root-Verzeichnis zu platzieren zusammen mit dem Bild. Siehe https://www.packer.io/docs/builders/virtualbox-iso.html#floppy_files

Viel Glück!