***GUIDE*** Mac OS X 10.11 El Capitan – VM on unRAID


Recommended Posts

Thanks for this guide!  I'm an all-Apple household, and I'd really like a non-Linux VM that I can remotely connect to.  Install was pretty much a breeze, except for the whole mouse deal within the web-VNC viewer.  Now using the Mac native client to connect.

 

A question for anyone--is there anyway to force a higher resolution when running headless?  It looks like I don't have any resolution options.

 

Thanks! 

 

Link to comment

Oh my bad.  Thanks for replying!

 

And, by the way, there's a small typo on your blog post where it says to delete the following lines to the XML:

 

<qemu:arg value=’-drive’/>
<qemu:arg value='ide-drive,bus=ide.1,drive=MacDVD'/>
<qemu:arg value='-drive'/>
<qemu:arg value='id=MacDVD,if=none,snapshot=on,file=/mnt/cache/vm_images/installer/Install_OS_X_10.11_El_Capitan.iso'/>

Should be (first line):

<qemu:arg value=’-device’/>
<qemu:arg value='ide-drive,bus=ide.1,drive=MacDVD'/>
<qemu:arg value='-drive'/>
<qemu:arg value='id=MacDVD,if=none,snapshot=on,file=/mnt/cache/vm_images/installer/Install_OS_X_10.11_El_Capitan.iso'/>

 

Thanks again!

Link to comment

One more question, please... any movement on getting the ssh shutdown command to work when shutting down unRAID?  Last I read was a post back in November saying that unRAID is trying to close the VM before the K00 script gets kicked off... Curious if anyone has a good solution for a clean guest shutdown.

 

Thanks again!

 

Edit: I'm going to try to insert the ssh shutdown command via the "stop" script, as I think it gets kicked off before anything else.  Didn't even know that was an option until today.

Link to comment

Hi,

I just got a gtx 1070 and I started my osx vm thinking it was going to boot off my hd6450. To my surprise it booted from my monitor connected to the gtx1070 (when i added it to my rig the device id of the gpus changed and i forgot to change in xml)

I was surprised it booted straight to osx (as my old gtx 970 didnt) but in system it is seen as a 3mb nvidea.

Does anyone know how to make the card work better. I havent installed the nvidea drivers RELEASE 346.03.06 as yet as it doesnt mention the 10 series

 

Link to comment

Hi,

I just got a gtx 1070 and I started my osx vm thinking it was going to boot off my hd6450. To my surprise it booted from my monitor connected to the gtx1070 (when i added it to my rig the device id of the gpus changed and i forgot to change in xml)

I was surprised it booted straight to osx (as my old gtx 970 didnt) but in system it is seen as a 3mb nvidea.

Does anyone know how to make the card work better. I havent installed the nvidia drivers RELEASE 346.03.06 as yet as it doesnt mention the 10 series

That's pretty awesome! I would guess you are going to have to wait for nvidia to release newer drivers for OS X or attempt to install the 346.03.06 driver and see what happens. If you do, make sure you backup your OS X image so that if you break it you can just put the old image back and try again.

Link to comment

I got everything up and running fine with a VNC.

Now I want to try to make things run with GPU Pass-through.

 

I have a EVGA GT 710 1GB:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208 [GeForce GT 710B] [10de:128b] (rev a1)

01:00.1 Audio device [0403]: NVIDIA Corporation GK208 HDMI/DP Audio Controller [10de:0e0f] (rev a1)

But the following XML just isn't even able to go to it:

 

<domain type='kvm' id='20' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>OSX-El-Capitan-10.11-VNC</name>
  <uuid>0ba39646-7ba1-4d41-9602-e2968b2fe36d</uuid>
  <metadata/>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='2'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.5'>hvm</type>
    <kernel>/mnt/disk2/hackintosh/enoch_rev2795_boot</kernel>
    <boot dev='hd'/>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>core2duo</model>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/disk2/hackintosh/ElCapitan.img'/>
      <backingStore/>
      <target dev='hda' bus='sata'/>
      <alias name='sata0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <model name='i82801b11-bridge'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:00:20:30'/>
      <source bridge='br0'/>
      <target dev='vnet1'/>
      <model type='e1000-82545em'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
<memballoon model='none'>
      <alias name='balloon0'/>
    </memballoon>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
<qemu:arg value='-device'/>
<qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1'/>
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=0000:01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on' />
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=0000:01:00.1,bus=root.1,addr=00.1'/>
<qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
  </qemu:commandline>
</domain>

 

I recieve the following error message:

Execution error

 

internal error: process exited while connecting to monitor: 2016-06-20T18:52:31.816796Z qemu-system-x86_64: -device vfio-pci,host=0000:01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: vfio: error opening /dev/vfio/1: No such file or directory

2016-06-20T18:52:31.816827Z qemu-system-x86_64: -device vfio-pci,host=0000:01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: vfio: failed to get group 1

2016-06-20T18:52:31.816836Z qemu-system-x86_64: -device vfio-pci,host=0000:01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: Device initialization failed

 

I tried several things, but it doesn't seem to like the whole qemu vfio-pci stuff.

If I use the GT 710 for other VM's (which ofcourse are just done through this kind of XML:

<hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/>
    </hostdev>

 

It works fine.

 

Anyone got experience or a solution for this?

 

Cheers!

Link to comment

I could be totally wrong because a ton of this is waaaay over my head, so take this with a grain of salt.... but instead of this:

<qemu:arg value='-device'/>
<qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1'/>
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=0000:01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on' />
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=0000:01:00.1,bus=root.1,addr=00.1'/>

 

 

Shouldn't it be this (deleting the '0000')?

 

	<qemu:arg value='-device'/>
<qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1'/>
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on' />
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.1'/>

Link to comment

I'm trying to get my GPU Passthrough and USB Passthrough to work.

 

I've attached a working VNC unRAID XML and a working GPU&USB pass thru Windows10 XML.

 

Could someone with a few more brain cells than me, give me a hint as to how to configure these to work.

 

I tried using the edit GUI but because there isn't an OSX template is destroys all the custom XML, is there a way of creating a template specifically for OSX?

OSX_Original.txt

unRAIDWindows10.txt

Link to comment

I got everything up and running fine with a VNC.

Now I want to try to make things run with GPU Pass-through.

 

I have a EVGA GT 710 1GB:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208 [GeForce GT 710B] [10de:128b] (rev a1)

01:00.1 Audio device [0403]: NVIDIA Corporation GK208 HDMI/DP Audio Controller [10de:0e0f] (rev a1)

But the following XML just isn't even able to go to it:

 

<domain type='kvm' id='20' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>OSX-El-Capitan-10.11-VNC</name>
  <uuid>0ba39646-7ba1-4d41-9602-e2968b2fe36d</uuid>
  <metadata/>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='2'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.5'>hvm</type>
    <kernel>/mnt/disk2/hackintosh/enoch_rev2795_boot</kernel>
    <boot dev='hd'/>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>core2duo</model>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/disk2/hackintosh/ElCapitan.img'/>
      <backingStore/>
      <target dev='hda' bus='sata'/>
      <alias name='sata0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <model name='i82801b11-bridge'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:00:20:30'/>
      <source bridge='br0'/>
      <target dev='vnet1'/>
      <model type='e1000-82545em'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
<memballoon model='none'>
      <alias name='balloon0'/>
    </memballoon>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
<qemu:arg value='-device'/>
<qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1'/>
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=0000:01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on' />
<qemu:arg value='-device'/>
<qemu:arg value='vfio-pci,host=0000:01:00.1,bus=root.1,addr=00.1'/>
<qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
  </qemu:commandline>
</domain>

 

I recieve the following error message:

Execution error

 

internal error: process exited while connecting to monitor: 2016-06-20T18:52:31.816796Z qemu-system-x86_64: -device vfio-pci,host=0000:01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: vfio: error opening /dev/vfio/1: No such file or directory

2016-06-20T18:52:31.816827Z qemu-system-x86_64: -device vfio-pci,host=0000:01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: vfio: failed to get group 1

2016-06-20T18:52:31.816836Z qemu-system-x86_64: -device vfio-pci,host=0000:01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: Device initialization failed

 

I tried several things, but it doesn't seem to like the whole qemu vfio-pci stuff.

If I use the GT 710 for other VM's (which ofcourse are just done through this kind of XML:

<hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/>
    </hostdev>

 

It works fine.

 

Anyone got experience or a solution for this?

 

Cheers!

 

Below is how you can get qemu working with 6.2, if the GPU is working with hostdev I personally wouldn't mess with it. The reason I did was I needed to pass through my USB controller and OS X only seems to pass through an USB controller with the qemu xml.

http://lime-technology.com/forum/index.php?topic=49667.msg476287#msg476287

Link to comment

I'm trying to get my GPU Passthrough and USB Passthrough to work.

 

I've attached a working VNC unRAID XML and a working GPU&USB pass thru Windows10 XML.

 

Could someone with a few more brain cells than me, give me a hint as to how to configure these to work.

 

I tried using the edit GUI but because there isn't an OSX template is destroys all the custom XML, is there a way of creating a template specifically for OSX?

 

You will have to manually edit the XML code per my instructions (If you are using 6.2 then the instructions are a little out of date regarding GPU and USB passthrough and I will not be updating them until 6.2 is released as final because so much can and probably will change). As far as someone creating a template, someone *might* be able to create a plugin that would modify unRAID's XML editor but that is way over my head. The time it would take for someone to create such a plugin would be a wasted effort in my opinion when we can just manually edit the XML.

Link to comment

Put the icon in the root of your flash drive then edit your go file with the following.

Assuming your icon is named osx.png

 

#Copy icon for OSX VM
cp /boot/osx.png /usr/local/emhttp/plugins/dynamix.vm.manager/templates/images

 

then in your xml near the top edit

 

from

 

 <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.png" os="linux"/>
  </metadata>

to

 

<metadata>
    <vmtemplate xmlns="unraid" name="osx" icon="osx.png" os="osx"/>
  </metadata>

 

Best graphics card is one that has been natively supported by osx in the past. Although it is possible to get many others to work aswell but may require edits and additional kexts etc, but if you want it to work out the box use a gpu that apple have used. For my osx vm i use an hd6450 and have no problems.

 

 

Link to comment
#Copy icon for OSX VM

cp /boot/osx.png /usr/local/emhttp/plugins/dynamix.vm.manager/templates/images

 

I did it but i get (-bash: Copy: command not found)                                                                                               

The icon name is same osx.png

 

 

Best graphics card is one that has been natively supported by osx in the past. Although it is possible to get many others to work aswell but may require edits and additional kexts etc, but if you want it to work out the box use a gpu that apple have used. For my osx vm i use an hd6450 and have no problem

 

So any gpu that have osx drive can work out of the box without edit xml < is that right?

 

Link to comment

#Copy icon for OSX VM

cp /boot/osx.png /usr/local/emhttp/plugins/dynamix.vm.manager/templates/images

 

I did it but i get (-bash: Copy: command not found)

 

Are you sure you put a pound sign in front of 'Copy'?  Actually you don't type that line, it's a comment.  You only need to type the line beginning with 'cp'.

Link to comment

Are you sure you put a pound sign in front of 'Copy'?  Actually you don't type that line, it's a comment.  You only need to type the line beginning with 'cp'.

 

I did it and nothing happen

I did put the icon in flash icon name osx.png

Did i forget somthing ?

 

https://drive.google.com/file/d/0BwVQ1QEehpJJZWRkZVo1SmphS00/view?usp=drivesdk

 

Yes,  you do not put this in as a command it goes in your go file which you will find in your flash drive.

Its in the directory config. (go file is executed on boot of server)

Use a text editor to add the lines

#Copy icon for OSX VM
cp /boot/osx.png /usr/local/emhttp/plugins/dynamix.vm.manager/templates/images

 

The server will then need to be rebooted. Having this in the go file means everytime the the server starts it will copy the osx icon to the correct place to be used. The reason we have to put it in the go file, is this file is for unraid belongs in the RAM, after booting you need to add this icon to the right place again hence it is put in the go file, to copy it there each time.

 

The reason you got an error (-bash: Copy: command not found) is because that part is meant for the go file and you typed it in as a command.

Having the # at the beginning of the line means to ignore whats after on that line. It is just a comment to show what the following code does. I do this as i have a few things in my go file and i like to easily see what each is for.

 

So to recap make sure you have copied the osx.png file onto your flash drive (root of). Make sure you have edited the go file(in config folder) so said file is copied to the ram. Make sure you have rebooted server after edit.

Then edit the xml file for the vm so it has the changed parts shown in my first post.

You should be good to "go" lol  :)

 

Link to comment
Quote from: sniper on June 29, 2016, 12:50:46 PM

Quote

Are you sure you put a pound sign in front of 'Copy'?  Actually you don't type that line, it's a comment.  You only need to type the line beginning with 'cp'.

 

I did it and nothing happen

I did put the icon in flash icon name osx.png

Did i forget somthing ?

 

https://drive.google.com/file/d/0BwVQ1QEehpJJZWRkZVo1SmphS00/view?usp=drivesdk

 

Yes,  you do not put this in as a command it goes in your go file which you will find in your flash drive.

Its in the directory config. (go file is executed on boot of server)

Use a text editor to add the lines

Code: [select]

#Copy icon for OSX VM

cp /boot/osx.png /usr/local/emhttp/plugins/dynamix.vm.manager/templates/images

 

The server will then need to be rebooted. Having this in the go file means everytime the the server starts it will copy the osx icon to the correct place to be used. The reason we have to put it in the go file, is this file is for unraid belongs in the RAM, after booting you need to add this icon to the right place again hence it is put in the go file, to copy it there each time.

 

The reason you got an error (-bash: Copy: command not found) is because that part is meant for the go file and you typed it in as a command.

Having the # at the beginning of the line means to ignore whats after on that line. It is just a comment to show what the following code does. I do this as i have a few things in my go file and i like to easily see what each is for.

 

So to recap make sure you have copied the osx.png file onto your flash drive (root of). Make sure you have edited the go file(in config folder) so said file is copied to the ram. Make sure you have rebooted server after edit.

Then edit the xml file for the vm so it has the changed parts shown in my first post.

You should be good to "go" lol  :)

 

LOL

I did the commend in all ways possible it cant work With and without the first line

 

 

I did edit the go file in config

The old logo is still there

Since its in the ram i think i should restert the pc to take effect

But i am not ready to restert the pc now LOL

 

I want to know

1:Can apple magic mouse , keyboard and trackpad work ?

Link to comment

Also make sure that you are also editing the xml of the vm to change the icon from the linux to osx.

 

I havent tried using the apple keyboard/mouse/trackpad  but they should all work so long as you passthrough a bluetooth controller for them. You will have to be sure the bluetooth controller is compatible with osx

 

this one should work

https://www.amazon.com/IOGEAR-Bluetooth-Micro-Adapter-GBU521/dp/B007GFX0PY?ie=UTF8&ref_=as_li_ss_tl&tag=tonymacx86com-20

 

as it is on the tony mac list

http://www.tonymacx86.com/buyersguide/june/2016#Accessories

Link to comment

That look amazing :) Thanks

 

I wish osx have VM Templates in vm to make pass usb or pcie easy

Its hard for newbie like me to go through xml to edit the xml to pass usb :(

 

We all had to do it the first time once, on the plus side you'll learn lots editing the VM xml files.  Really helps you understand what's happening more I think.

Link to comment

After i update to unraid 6.2  beta

It did stop working

It boot and stop after the boot bar full

I notice this problem happen after the update with another problem

I get when i stop the array

 

Stopping Docker...Stopping libvirt...Spinning up all drives...Sync filesystems...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...

 

 

And it did not end

 

 

Update : I did restart the server and i lost all the dockers!!

tower-diagnostics-20160703-0309.zip

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.