Jump to content
XPEnology Community

Tutorial: DSM 6.x on Proxmox


fonix232

Recommended Posts

On 3/12/2019 at 8:15 PM, wenlez said:

anyone with this Proxmox setup can update to DSM6.2.1-23824 Update 6? 

From what i know it's not possible for now. Ther's no working lan card model  for DSM6.2.1. I tried to insert Virtio drivers to 1.03b loader but with no luck so far. Quicknick maybe you tried it?

Link to comment
Share on other sites

8 hours ago, dodo-dk said:

DSM6.2.1-23824 Update 6 works with proxmox - e1000e driver and 1.03b loader

 

Ok maybe I'm blind or just stupid but i don't know how to add e1000e card to proxmox VM. Can you tell me how You dit it?

Edited by hellbondz
Link to comment
Share on other sites

sorry, my english is not so good to describe good.

You need to add the network card in the bootargs, not in the proxmox webif.

 

You need the output from your ID with qm showcmd Your-VM-ID.

Than you need to extract the lines with the network card and add it to the bootargs in the Your-VM-ID.conf without the scripts. And you need to change the e1000 to e1000e in the lines.

 

If you send me your output, I can help you:

qm showcmd YOUR-VM-ID and qm config YOUR-VM-ID

Link to comment
Share on other sites

Hi everyone. After a grate help from 'dodo-dk' (You're the best man) and a lot of try and errors i managed to run DSM 6.2.1u6 on Proxmox 5.3-11. I'll share my insights and maybe it'll be useful for someone. Proxmox does have 4 LAN cards model to chose from the list, but as we all know Synology dropped drivers for some devices (e1000, vmware3...) so new version of DSM stopped working on Proxmox. But Proxmox allows you to chose different models (not shown in choosing list) , we just have to add it to 'args:' parameters, just like we did with usb boot key. For this to work you need to know few things:

1) This won't work on OVS bridge/bond - it has to be Linux bridge/bond

2) The Linux bridge/bond has to have gateway set

When we are adding LAN card from 'args:'  it looks like the  LAN card chooses bridge/bond on which the gateway is set, so that's why it's needed to be set.

 

First thing you may check it's if e1000e LAN card is available in your kvm. So in Proxmox shell write command:

kvm -device help

 

Under 'Network devices' you should see line:
name "e1000e", bus PCI, desc "Intel 82574L GbE Controller"

 

The next step is to find your 'args:' parameters. To do this we need to use another command:

qm showcmd YOUR-VM-ID

 

YOUR-VM-ID - is ID of your Xpenology machine with added e1000 LAN card. From the output you need to copy two arguments: netdev and device. In my case it looks like this:

-netdev 'type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown'

-device 'e1000,mac=00:11:32:2c:a7:85,netdev=net0,bus=pci.0,addr=0x12,id=net0'

 

For this to work you have to remove the 'script' parts from 'netdev'' and change model from 'e1000' to 'e1000e' in device argument. you can also remove the " ' " signs. After changes it should look like this:

-netdev type=tap,id=net0,ifname=tap100i0

-device e1000e,mac=00:11:32:2c:a7:85,netdev=net0,bus=pci.0,addr=0x12,id=net0

 

Next you need to add changed arguments in to the VM config file (/etc/pve/qemu-server/YOUR-VM-ID.conf). In my case 'args:' line looks like this:

args: -device ich9-usb-ehci1,id=usb,multifunction=on,bus=pci.0,addr=0xa -drive file=/var/lib/vz/images/103/vm-103-USB103b.raw,format=raw,if=none,id=drive-usb-disk2,cache=writeback -device usb-storage,bus=usb.0,port=2,drive=drive-usb-disk2,id=usb-disk2,bootindex=1,removable=off -netdev type=tap,id=net0,ifname=tap103i0 -device e1000e,mac=BA:E2:8A:3B:AC:3E,netdev=net0,bus=pci.0,addr=0x12,id=net0

 

The last thing is to remove the 'net' device from config file, so just comment or remove the line with 'net' device. In Proxmox web interface the LAN device wont be visible, but it will work.

So, summing things up, I'm not Proxmox specialist so i didn't knew all of that. One more time thank you 'dodo-dk' for your knowledge and time. God bless all Xpenology enthusiasts, Xpenology devs and Proxmox for being best free virtualization tool i know.

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

19 hours ago, wenlez said:

Oh, you're still on the 1.03b loader?  

 

I'm using the 1.04b loader for DS918+. We have a different setup then. 

 

I have older hardware, based on socket 775. From what i know and tested 1.04b does not run on core2duo, it needs at least Haswell CPU. My hardware has much too much power for my DS3615xs setup so i don't see a point in forcing to 1.04b loader and change hardware. Basically for my needs i don't need DS918+ features 😉. Cheers.

Link to comment
Share on other sites

  • 3 weeks later...
On 3/18/2019 at 12:40 PM, hellbondz said:

Hi everyone.

Thanks, this looked very promising, but I still can't get it to work. I tried both 1.04b and 1.03b. Still only 1.02b is working for me. This is my config now:

args: -netdev type=tap,id=net0,ifname=tap100i0 -device e1000e,mac=86:34:AC:A9:45:39,netdev=net0,bus=pci.0,addr=0x12,id=net0
balloon: 0
bios: ovmf
boot: cdn
bootdisk: ide0
cores: 4
efidisk0: local-lvm:vm-100-disk-1,size=128K
ide0: local-lvm:vm-100-disk-2,size=52M
memory: 4096
name: XpenologyDSM
numa: 0
ostype: l26
sata0: local-lvm:vm-100-disk-0,size=16G
smbios1: uuid=3d3c5c7d-1b76-4039-80d0-942181314da8
sockets: 1
vmgenid: d9f04767-a430-41c0-843c-ff619283913c

So also for some reason I can only boot when I use the synoimage as ide or sata device (hence the ide0 device) after importing it with this:

qm importdisk 100 /var/lib/vz/images/100/synoboot.img local-lvm

 

But that works. The problem now is that network does not come up and does not get an IP from the router.

 

This config seems to work with the 1.02b bootloader, so maybe something is wrong with the bootloader I have?

 

edit:

I solved it by following this:

After that, I changed the network adapter to e1000e

Edited by alpakay
Link to comment
Share on other sites

So for some reason I can't edit my post anymore. I want to share my final configuration:

args: -netdev type=tap,id=net0,ifname=tap100i0 -device e1000e,mac=E6:66:08:41:7B:E4,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300 -netdev type=tap,id=net1,ifname=tap100i1 -device e1000e,mac=E6:66:08:41:7B:E5,netdev=net1,bus=pci.0,addr=0x13,id=net1,bootindex=301
balloon: 0
boot: cdn
bootdisk: sata0
cores: 4
ide2: none,media=cdrom
memory: 6144
name: XpenologyDSM
numa: 0
ostype: l26
sata0: local-lvm:vm-100-disk-1,size=52M
sata1: /dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N5HPLJXC,size=2930266584K
sata2: /dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N0853082,size=2930266584K
scsihw: virtio-scsi-pci
serial0: socket
smbios1: uuid=e5f1edb1-dbaf-4566-ab3e-5fb8e09c9ed7
sockets: 1
unused0: local-lvm:vm-100-disk-0
vmgenid: 7d73c95b-8881-4b29-8148-ce5ba7ce3df2

 

Link to comment
Share on other sites

Hi,

 

Thanks to Hellbondz and dodo-dk, I succeeded in installing DSM 6.2.1 (DSM_DS3615xs_23824.pat) under proxmox 5.3.11 with Jun's Loader v1.03b.

 

Before last Hellbondz' post, I couldn't even boot on usb drive image.

 

So, if you're looking for a working vm configuration file example, you'll find below my /etc/pve/qemu-server/{VM_ID}.conf file (I just hide serial numbers and Mac address digits with *).

args: -device ich9-usb-ehci1,id=usb,multifunction=on,bus=pci.0,addr=0xa -drive file=/var/lib/vz/images/103/DS3615xs_6.2_v1.03b.img,format=raw,if=none,id=drive-usb-disk2,cache=writeback -device usb-storage,bus=usb.0,port=2,drive=drive-usb-disk2,id=usb-disk2,bootindex=1,removable=off -netdev type=tap,id=net0,ifname=tap103i0 -device e1000e,mac=**:**:**:**:**:**,netdev=net0,bus=pci.0,addr=0x12,id=net0
balloon: 512
cores: 2
memory: 1024
name: DS3615xs-621-bkp
numa: 0
ostype: l26
sata0: /dev/disk/by-id/ata-ST8000VN0022-2EL112_********,size=7814026584K
scsihw: virtio-scsi-pci
serial0: socket
smbios1: uuid=********-****-****-****-************
sockets: 1
vmgenid: ********-****-****-****-************

Concerning USB boot, for what I understood, DSM 6.2.1 does not support anymore device piix3-usb-uhci. I failed going back with it after succeeding with ich9-usb-ehci1 as shown in Hellbondz' post.

 

So for USB boot, you'll need this part in args parameter : (replace {VM_ID} by your proxmox virtual machine identifier or adapt boot image file path to match your own)

-device ich9-usb-ehci1,id=usb,multifunction=on,bus=pci.0,addr=0xa -drive file=/var/lib/vz/images/{VM_ID}/DS3615xs_6.2_v1.03b.img,format=raw,if=none,id=drive-usb-disk2,cache=writeback -device usb-storage,bus=usb.0,port=2,drive=drive-usb-disk2,id=usb-disk2,bootindex=1,removable=off

 

And for Intel E1000e network interface card, you'll need this part : (replace {VM_ID} by your proxmox virtual machine identifier and {MAC_ADDRESS} by MAC address generated by proxmox for Intel E1000 NIC)

-netdev type=tap,id=net0,ifname=tap{VM_ID}i0 -device e1000e,mac={MAC_ADDRESS},netdev=net0,bus=pci.0,addr=0x12,id=net0

 

For network interface, you will obtain such results with method indicated in Hellbondz' post,  by executing

qm showcmd {VM_ID}

See Hellbondz post for detail, it works great!

 

Once again, great thanks to Hellbondz and dodo-dk work, I wouldn't have succeeded without them.

(and sorry for my bad english speaking)

Link to comment
Share on other sites

  • 3 weeks later...
On 3/18/2019 at 7:40 PM, hellbondz said:

Hi everyone. After a grate help from 'dodo-dk' (You're the best man) and a lot of try and errors i managed to run DSM 6.2.1u6 on Proxmox 5.3-11. I'll share my insights and maybe it'll be useful for someone. Proxmox does have 4 LAN cards model to chose from the list, but as we all know Synology dropped drivers for some devices (e1000, vmware3...) so new version of DSM stopped working on Proxmox. But Proxmox allows you to chose different models (not shown in choosing list) , we just have to add it to 'args:' parameters, just like we did with usb boot key. For this to work you need to know few things:

1) This won't work on OVS bridge/bond - it has to be Linux bridge/bond

2) The Linux bridge/bond has to have gateway set

When we are adding LAN card from 'args:'  it looks like the  LAN card chooses bridge/bond on which the gateway is set, so that's why it's needed to be set.

 

First thing you may check it's if e1000e LAN card is available in your kvm. So in Proxmox shell write command:

kvm -device help

 

Under 'Network devices' you should see line:
name "e1000e", bus PCI, desc "Intel 82574L GbE Controller"

 

The next step is to find your 'args:' parameters. To do this we need to use another command:

qm showcmd YOUR-VM-ID

 

YOUR-VM-ID - is ID of your Xpenology machine with added e1000 LAN card. From the output you need to copy two arguments: netdev and device. In my case it looks like this:

-netdev 'type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown'

-device 'e1000,mac=00:11:32:2c:a7:85,netdev=net0,bus=pci.0,addr=0x12,id=net0'

 

For this to work you have to remove the 'script' parts from 'netdev'' and change model from 'e1000' to 'e1000e' in device argument. you can also remove the " ' " signs. After changes it should look like this:

-netdev type=tap,id=net0,ifname=tap100i0

-device e1000e,mac=00:11:32:2c:a7:85,netdev=net0,bus=pci.0,addr=0x12,id=net0

 

Next you need to add changed arguments in to the VM config file (/etc/pve/qemu-server/YOUR-VM-ID.conf). In my case 'args:' line looks like this:

args: -device ich9-usb-ehci1,id=usb,multifunction=on,bus=pci.0,addr=0xa -drive file=/var/lib/vz/images/103/vm-103-USB103b.raw,format=raw,if=none,id=drive-usb-disk2,cache=writeback -device usb-storage,bus=usb.0,port=2,drive=drive-usb-disk2,id=usb-disk2,bootindex=1,removable=off -netdev type=tap,id=net0,ifname=tap103i0 -device e1000e,mac=BA:E2:8A:3B:AC:3E,netdev=net0,bus=pci.0,addr=0x12,id=net0

 

The last thing is to remove the 'net' device from config file, so just comment or remove the line with 'net' device. In Proxmox web interface the LAN device wont be visible, but it will work.

So, summing things up, I'm not Proxmox specialist so i didn't knew all of that. One more time thank you 'dodo-dk' for your knowledge and time. God bless all Xpenology enthusiasts, Xpenology devs and Proxmox for being best free virtualization tool i know.

 

thanks very much

 

GEN8 G1610T, Proxmox 5.4.3, Loader 1.03b, update to DS3615xs 6.2.2, work like a charm

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...
On 5/2/2019 at 5:02 AM, tracky said:

Hello could you elaborate on " For this to work you have to remove the 'script' parts from 'netdev'' and change model from 'e1000' to 'e1000e' in device argument."

how do you remove the script and net dev?

Thank you 

thanks very much

 

GEN8 G1610T, Proxmox 5.4.3, Loader 1.03b, update to DS3615xs 6.2.2, work like a charm

 

Link to comment
Share on other sites

  • 2 weeks later...
21 minutes ago, hellbondz said:

 

Please read carefully my earlier post ID: 157, and next time please try to read first and ask questions later.

 

Thanks.. However unable to start my VM now due to the following error 

 

seems to be related to the lines i added to args...

 

-netdev type=tap,id=net0,ifname=tap100i0 -device e1000e,mac=4A:8F:A6:BE:0A:77,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=200

 

 

 

 

Task viewer: VM 100 - Start

OutputStatus

Stop

kvm: type=tap,id=net0,ifname=tap100i0: Could not open 'type=tap,id=net0,ifname=tap100i0': No such file or directory


TASK ERROR: start failed: command '/usr/bin/kvm -id 100 -name Xpen -chardev 'socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' -mon 'chardev=qmp-event,mode=control' -pidfile /var/run/qemu-server/100.pid -daemonize -smbios 'type=1,uuid=b33d562a-e763-49d6-9e4f-d09f682736c0' -smp '4,sockets=1,cores=4,maxcpus=4' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vnc unix:/var/run/qemu-server/100.vnc,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 8096 -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' -device 'vmgenid,guid=71043c7b-cdd4-45c5-8917-49f058758d0c' -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'VGA,id=vga,bus=pci.0,addr=0x2' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:f1f0352bab22' -drive 'if=none,id=drive-ide2,media=cdrom,aio=threads' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2' -device 'ahci,id=ahci0,multifunction=on,bus=pci.0,addr=0x7' -drive 'file=/dev/pve/vm-100-disk-0,if=none,id=drive-sata0,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'ide-hd,bus=ahci0.0,drive=drive-sata0,id=sata0' -drive 'file=/dev/disk/by-id/ata-WDC_WD80EZAZ-11TDBA0_7HKSV3MJ,if=none,id=drive-sata1,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'ide-hd,bus=ahci0.1,drive=drive-sata1,id=sata1,bootindex=101' -machine 'type=pc' -device 'piix3-usb-uhci,addr=0x18' -drive 'id=synoboot,file=/var/lib/vz/images/100/synoboot.img,if=none,format=raw' -device 'usb-storage,id=synoboot,drive=synoboot,-netdev' 'type=tap,id=net0,ifname=tap100i0' -device 'e1000e,mac=4A:8F:A6:BE:0A:77,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=200'' failed: exit code 1

Link to comment
Share on other sites

12 minutes ago, hellbondz said:

Please paste your VM config.

 

 

Here is both qm showcmd & qm config

 

 

root@hme:/etc/pve/qemu-server# qm showcmd 100
/usr/bin/kvm -id 100 -name Xpen -chardev 'socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' -mon 'chardev=qmp-event,mode=control' -pidfile /var/run/qemu-server/100.pid -daemonize -smbios 'type=1,uuid=b33d562a-e763-49d6-9e4f-d09f682736c0' -smp '4,sockets=1,cores=4,maxcpus=4' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vnc unix:/var/run/qemu-server/100.vnc,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 8096 -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' -device 'vmgenid,guid=71043c7b-cdd4-45c5-8917-49f058758d0c' -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'VGA,id=vga,bus=pci.0,addr=0x2' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:f1f0352bab22' -drive 'if=none,id=drive-ide2,media=cdrom,aio=threads' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2' -device 'ahci,id=ahci0,multifunction=on,bus=pci.0,addr=0x7' -drive 'file=/dev/pve/vm-100-disk-0,if=none,id=drive-sata0,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'ide-hd,bus=ahci0.0,drive=drive-sata0,id=sata0' -drive 'file=/dev/disk/by-id/ata-WDC_WD80EZAZ-11TDBA0_7HKSV3MJ,if=none,id=drive-sata1,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'ide-hd,bus=ahci0.1,drive=drive-sata1,id=sata1,bootindex=101' -machine 'type=pc' -device 'piix3-usb-uhci,addr=0x18' -drive 'id=synoboot,file=/var/lib/vz/images/100/synoboot.img,if=none,format=raw' -device 'usb-storage,id=synoboot,drive=synoboot,-netdev' 'type=tap,id=net0,ifname=tap100i0' -device 'e1000e,mac=4A:8F:A6:BE:0A:77,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=200'
 

root@hme:/etc/pve/qemu-server# qm config 100
args: -device 'piix3-usb-uhci,addr=0x18' -drive id=synoboot,file=/var/lib/vz/images/100/synoboot.img,if=none,format=raw -device usb-storage,id=synoboot,drive=synoboot,-netdev type=tap,id=net0,ifname=tap100i0 -device e1000e,mac=4A:8F:A6:BE:0A:77,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=200
boot: cn
bootdisk: sata1
cores: 4
ide2: none,media=cdrom
memory: 8096
name: Xpen
numa: 0
ostype: l26
sata0: local-lvm:vm-100-disk-0,size=5G
sata1: /dev/disk/by-id/ata-WDC_WD80EZAZ-11TDBA0_7HKSV3MJ,size=7814026584K
scsihw: virtio-scsi-pci
smbios1: uuid=b33d562a-e763-49d6-9e4f-d09f682736c0
sockets: 1
vmgenid: 71043c7b-cdd4-45c5-8917-49f058758d0c
root@hme:/etc/pve/qemu-server# 

Link to comment
Share on other sites

Ok three things. I'm not sure that usb drive still works on piix3-usb-uhci. Please change it to ich9-usb-ehci1. Example:

 -device ich9-usb-ehci1,id=usb,multifunction=on,bus=pci.0,addr=0xa -drive file=/var/lib/vz/images/100/synoboot.img,format=raw,if=none,id=drive-usb-disk2 -device usb-storage,bus=usb.0,port=2,drive=drive-usb-disk2,id=usb-disk2,bootindex=1,removable=off

and verify if path: /var/lib/vz/images/100/synoboot.img is really available.

 

Next thing is that you have comma sign on end of "-device..." declaration and before "-netdev..." declaration (-device usb-storage,id=synoboot,drive=synoboot,-netdev), so please remove it and insert "space": (...)drive=s ynoboot -netdev(...)

 

Last thing is that you have ",bootindex=200" option at the end of the net device declaration. I don't know what this option does but i don't have it (it may be irrelevant).

 

Please let me know i this will work for you.

 

Edited by hellbondz
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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.

×
×
  • Create New...