From 07b2486dcb2b17e023b4de2822e48f1226f04f5e Mon Sep 17 00:00:00 2001 From: Lars Karlitski Date: Mon, 23 Nov 2020 19:31:09 +0100 Subject: [PATCH] tools/deploy-qemu: add macOS support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Just a few tweaks were necessary to add support for macOS: 1. /usr/bin/bash → /bin/bash, which is a link on Linux as well. 2. Use hdiutil instead of genisoimage to make the cloud-init iso. 3. Ask qemu to fall back to macOS' hypervisor hvf. --- tools/deploy-qemu | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/tools/deploy-qemu b/tools/deploy-qemu index 3812b2d73..b64155acd 100755 --- a/tools/deploy-qemu +++ b/tools/deploy-qemu @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/bin/bash # # deploy-qemu IMAGE USERDATA @@ -39,19 +39,28 @@ fi echo -e "instance-id: nocloud\nlocal-hostname: vm\n" > "$workdir/cidata/meta-data" -genisoimage \ - -input-charset utf-8 \ - -output "$workdir/cloudinit.iso" \ - -volid cidata \ - -joliet \ - -rock \ - -quiet \ - -graft-points \ - "$workdir/cidata/user-data" \ - "$workdir/cidata/meta-data" +case $(uname -s) in + "Linux") + genisoimage \ + -input-charset utf-8 \ + -output "$workdir/cloudinit.iso" \ + -volid cidata \ + -joliet \ + -rock \ + -quiet \ + -graft-points \ + "$workdir/cidata/user-data" \ + "$workdir/cidata/meta-data" + ;; + + "Darwin") + # conviently uses the last component of source as volumeid, which has to be cidata + hdiutil makehybrid -iso -joliet -o "$workdir/cloudinit.iso" "$workdir/cidata" + ;; +esac qemu-system-x86_64 \ - -enable-kvm \ + -M accel=kvm:hvf \ -m 1024 \ -snapshot \ -cpu host \