import ova/emulate raspberry pi or intel NUC


Recommended Posts

Hey Guys,

 

I switched to unraid a couple of days ago, since then my home automation is down, because I didn't find a good solution to get my raspberrymatic running. They offer different setup methots, like on a raspberry pi or a virtual box image (ova). All the options can be found here: https://github.com/jens-maus/RaspberryMatic/releases/tag/3.55.5.20201226

 

What I'm wondering, is it possible to get one of these options running in raspberrymatic without creating an linux vm which then runs virtualbox to host my home automation system?

 

Have a great day,

Autchi

Link to comment

I was not aware of the ovo into QEMU option, so I didn't even consider this. But after some research I also found, that raspberrymatic offers a tutorial for QEMU (I didn't even know until now, that unraid uses QEMU).

So, what they suggest for QEMU is:

qemu-img convert -O qcow2 RaspberryMatic.vmdk RaspberryMatic.qcow2 

qemu-img resize RaspberryMatic.qcow2 +5G

qemu-system-i386 -vnc :1 -m 2048 --enable-kvm \ -drive file=RaspberryMatic.qcow2,if=virtio \ -netdev user,id=network0 -net nic,model=virtio,macaddr=00:00:00:00:00:01 -net tap,ifname=tap0 \ -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 \ -device virtio-serial -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0

 

This is copy paste from their tutorial. Are these commands also ok in unraid or should I be carefull (I would love to see this machine also in the VM overview), I don't want to accidentally store it on the flash drive... 🙂

 

I was able to add the vm and it's comming up, I now I need to verify that everything is running, thank you for your input so far!

Edited by Autchirion
adding information
Link to comment
  • 1 month later...
On 12/29/2020 at 1:40 PM, Autchirion said:

I was not aware of the ovo into QEMU option, so I didn't even consider this. But after some research I also found, that raspberrymatic offers a tutorial for QEMU (I didn't even know until now, that unraid uses QEMU).

So, what they suggest for QEMU is:

qemu-img convert -O qcow2 RaspberryMatic.vmdk RaspberryMatic.qcow2 

qemu-img resize RaspberryMatic.qcow2 +5G

qemu-system-i386 -vnc :1 -m 2048 --enable-kvm \ -drive file=RaspberryMatic.qcow2,if=virtio \ -netdev user,id=network0 -net nic,model=virtio,macaddr=00:00:00:00:00:01 -net tap,ifname=tap0 \ -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 \ -device virtio-serial -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0

 

This is copy paste from their tutorial. Are these commands also ok in unraid or should I be carefull (I would love to see this machine also in the VM overview), I don't want to accidentally store it on the flash drive... 🙂

 

I was able to add the vm and it's comming up, I now I need to verify that everything is running, thank you for your input so far!

Hello,

 

That sounds interesting. Could you share your Options from the Raspberry Pi VM from Unraid VM Tab with us.
I have exactly the same problem. I would like to run a Raspberry VM on my Unraid Server and already have a Qcow2 image.

 

Best regards

Link to comment
On 2/26/2021 at 7:34 AM, flo122 said:

Hello,

 

That sounds interesting. Could you share your Options from the Raspberry Pi VM from Unraid VM Tab with us.
I have exactly the same problem. I would like to run a Raspberry VM on my Unraid Server and already have a Qcow2 image.

 

Best regards

So, here is the catch, for some reason it didn't work first (or second) try.

What I did run it to (including) the part: qemu-img resize RaspberryMatic.qcow2 +5G

after that I just create a new VM called Homematic (type Linux), and booted it up. As Disk Type I selected qcow2, but I'm not sure if this matters. After the first boot I just killed it and changed the Primary vDisk Location manually. And then the wait started, weirdly it was  up pretty quick and detecting my RF Device, but after that Igot hard stuck. I waited for a night and retried and out of the sudden it worked. So I accepted that and now my homematic is running pretty smooth.

image.thumb.png.ee34ad44001d520b22c842c809346271.png

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='1'>
  <name>Homematic</name>
  <uuid>e056b44c-a0b1-7608-11db-ea720c517929</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>2</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='1'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-4.2'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='2' threads='1'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/mnt/user/domains/Homematic/RaspberryMatic.qcow2' index='1'/>
      <backingStore/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </disk>
    <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='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:cc:fd:40'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-Homematic/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='2'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='vnc' port='5900' autoport='yes' websocket='5700' listen='0.0.0.0' keymap='de'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x0403'/>
        <product id='0x6f70'/>
        <address bus='3' device='3'/>
      </source>
      <alias name='hostdev0'/>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

 

  • Like 1
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.