User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
 

This article will show step by step how to install Synology DSM 6.2.3 on a Proxmox (KVM) Virtual Machine using a Xpenology DSM bootloader.

Requirements (at the time of the writing):

  • Proxmox VE 6.2-12 (or later) installed
  • Xpenology Jun's Loader 1.03b for ds3615xs ( which can be found in this forum)
  • DSM 6.2.3 (25426) PAT file (here)

(warning: images-intensive article)

 

Warning
This system is for testing or educational purpose ONLY, and It is NOT recommended for use in production environment because it has no support and it has not been proven  stable/reliable.

So if DATA LOSS happens by using this system, this is ONLY on your own responsibility.

If you are happy with the testing of this product, I would highly recommend you to go for an original Synology hardware especially for PRODUCTION environment where data is critical.

We recommend ...
... at least 512MB RAM
... at least 16GB of free disk space

Please, click on pictures to zoom.

Create a new virtual machine

General

Install Xpenology DSM 6.2.x on Proxmox

Select :

  • VM ID: 107
  • Name: XpenoDsm62x

Click NEXT


OS

Install Xpenology DSM 6.2.x on Proxmox

Select : Do not use any media

Guest OS, Select :

  • Type: Linux
  • Version: 5.x - 2.6 Kernel

Click NEXT


System

Install Xpenology DSM 6.2.x on Proxmox

(Check "Advanced" checkbox at the bottom)

Select:

  • Graphic Card: none
  • SCSI Controller: Default (LSI 53C895A)
  • BIOS: default (SeaBIOS)
  • Machine: q35

Click NEXT


Hard Disk

Install Xpenology DSM 6.2.x on Proxmox

(Uncheck "Advanced" checkbox at the bottom)

Select :

  • Bus/Device: SATA 0
  • Storage: local
  • Disk size (GB): 16
  • Format: Raw disk image (raw)
  • Cache: Write back
  • Discard: uncheck

Click NEXT


CPU

Install Xpenology DSM 6.2.x on Proxmox

Select :

  • Sockets: 1
  • Cores: 1
  • Type: Default (kvm64)

Click NEXT


Memory

Install Xpenology DSM 6.2.x on Proxmox

Select :

  • Memory (MB): 1024 (or 512)
  • (In Avanced mode) Ballooning Device: Uncheck (or Check if bootloader support it)

Click NEXT


Network

Install Xpenology DSM 6.2.x on Proxmox

Select

  • Bridge: vmbr0 (or other of your proxmox)
  • Model: Intel E1000 (or choose VirtIO if bootloader support it)
  • Firewall: uncheck

Click NEXT


Confirm

Install Xpenology DSM 6.2.x on Proxmox

Check config
Click on FINISH


Hardware - Serial Port

Install Xpenology DSM 6.2.x on Proxmox

On Hardware tab,

Click on Add button
Then Select Serial Port
Then Enter: Serial Port: 0
Click on Add button to validate


Options - Boot Order

Install Xpenology DSM 6.2.x on Proxmox

On Options tab,

Select on Boot Order line
Then Click on Edit button
Then Select:

  • Boot device 1: CD-ROM
  • Boot device 2: none
  • Boot device 3: none

Then Click on OK button to validate

(Optional) Use tablet for pointer: No


Bootloader copy

Copy xpenology Jun's bootloader, previously downloaded, to proxmox server as /var/lib/vz/images/107/synoboot.img.
For that, you can use ftp or scp (or pscp for older windows).
In example:

pscp.exe "synoboot_103b_ds3615xs_virtio_9p.img" [email protected]:/var/lib/vz/images/107/synoboot.img

scp.exe "synoboot_103b_ds3615xs_virtio_9p.img" [email protected]:/var/lib/vz/images/107/synoboot.img


VM conf manual modification

We will do custom configuration to add the bootloader as usb disk with high priority boot.

On proxmox server, open a shell as root, and execute the following command: (Substitute your <VM ID> if not 107)

# Add synoboot.img as USB drive 
[[email protected]]$ echo "args: -device 'nec-usb-xhci,id=usb-bus0,multifunction=on' -drive 'file=/var/lib/vz/images/107/synoboot.img,media=disk,format=raw,if=none,id=drive-disk-bootloader' -device 'usb-storage,bus=usb-bus0.0,port=1,drive=drive-disk-bootloader,id=usb-disk-bootloader,bootindex=999,removable=on'" >> /etc/pve/qemu-server/107.conf

 

In the end, /etc/pve/qemu-server/107.conf file should look like that:

/etc/pve/qemu-server/107.conf
args: -device 'nec-usb-xhci,id=usb-bus0,multifunction=on' -drive 'file=/var/lib/vz/images/107/synoboot_103b_ds3615xs_virtio_9p.img,media=disk,format=raw,if=none,id=drive-disk-bootloader' -device 'usb-storage,bus=usb-bus0.0,port=1,drive=drive-disk-bootloader,id=usb-disk-bootloader,bootindex=999,removable=on'
balloon: 0
boot: d
cores: 1
ide2: none,media=cdrom
machine: q35
memory: 1024
name: XpenoDsm62x
net0: e1000=42:5A:BB:A3:B5:89,bridge=vmbr0
numa: 0
ostype: l26
sata0: local:107/vm-107-disk-0.raw,cache=writeback,size=16G
serial0: socket
smbios1: uuid=895bab09-7026-4ad8-bb23-1bbd731895dc
sockets: 1
vga: none

 


Start VM

For the first run, we gonna start the vm in command line.
Open a terminal on proxmox server as root:

# Start and open terminal on serial port
[root]$ qm start 107 && qm terminal 107

                       GNU GRUB  version 2.02~beta2-36ubuntu3.14
    
     +----------------------------------------------------------------------------+
     |*DS3615xs 6.2 Baremetal with Jun's Mod v1.03b                               |
     | DS3615xs 6.2 Baremetal with Jun's Mod v1.03b Reinstall                     |
     | DS3615xs 6.2 VMWare/ESXI with Jun's Mod v1.03b                             |
     |                                                                            |
     |                                                                            |
     |                                                                            |
     |                                                                            |
     |                                                                            |
     |                                                                            |
     |                                                                            |
     |                                                                            |
     |                                                                            |
     +----------------------------------------------------------------------------+
    
          Use the ^ and v keys to select which entry is highlighted.
          Press enter to boot the selected OS, `e' to edit the commands
          before booting or `c' for a command-line.
    
    
    
    Intro:
    This mod is brought to you by Jun <haijun.dev @ gmail.com>. You can contact me to
    discuss technical details, but general installation questions should go through
    the xpenology forum or other communities.
    
    Happy hacking
    .
    
    Screen will stop updating shortly, please open http://find.synology.com to
    continue
    
    [ ... ]
    
    START /linuxrc.syno
    Insert basic USB modules...
    :: Loading module usb-common ... [  OK  ]
    :: Loading module usbcore ... [  OK  ]
    :: Loading module ehci-hcd ... [  OK  ]
    
    [ ... ]
    
    
    udhcpc (v1.16.1) started
    eth0      Link encap:Ethernet  HWaddr 00:11:32:2C:A7:85
              inet addr:169.254.58.122  Bcast:169.254.255.255  Mask:255.255.0.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:43 errors:0 dropped:0 overruns:0 frame:0
              TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:13450 (13.1 KiB)  TX bytes:890 (890.0 B)
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    :: Starting syslogd ... [  OK  ]
    :: Starting scemd
    :: Starting services in background
    Starting findhostd in flash_rd...
    Starting services in flash_rd...
    Running /usr/syno/etc/rc.d/J01httpd.sh...
    Starting httpd:80 in flash_rd...
    Starting httpd:5000 in flash_rd...
    Running /usr/syno/etc/rc.d/J03ssdpd.sh...
    /usr/bin/minissdpd -i eth0
    (15): upnp:rootdevice
    (51): uuid:upnp_SynologyNAS-0011322ca785::upnp:rootdevice
    (56): Synology/synology_bromolow_3615xs/6.2-25426/192.168.0.29
    (45): http://192.168.0.29:5000/description-eth0.xml
    Connected.
    done.
    /usr/syno/bin/reg_ssdp_service 192.168.0.29 0011322ca785 6.2-25426 synology_bromolow_3615xs eth0
    Running /usr/syno/etc/rc.d/J04synoagentregisterd.sh...
    Starting synoagentregisterd...
    Running /usr/syno/etc/rc.d/J30DisableNCQ.sh...
    Running /usr/syno/etc/rc.d/J80ADTFanControl.sh...
    Running /usr/syno/etc/rc.d/J98nbnsd.sh...
    Starting nbnsd...
    Running /usr/syno/etc/rc.d/J99avahi.sh...
    Starting Avahi mDNS/DNS-SD Daemon
    cname_load_conf failed:/var/tmp/nginx/avahi-aliases.conf
    :: Loading module hid ... [  OK  ]
    :: Loading module usbhid ... [  OK  ]
    ============ Date ============
    Sat Oct 24 17:07:34 UTC 2020
    ==============================
    starting pid 7262, tty '': '/sbin/getty 115200 console'
    
    Sat Oct 24 17:07:35 2020
    
    DiskStation login:
    

Press Ctrl + o keys to exit from virtual terminal

If everything goes well, in the end, you should see "DiskStation login" prompt and the ip address acquired from dhcp, which is  "192.168.0.29" in this case.

We are now ready to install Synology DSM.


DSM Install

Open internet browser and go to (the ip address previously found) : 192.168.0.29:5000

Install Xpenology DSM 6.2.x on Proxmox

Click on Set up button

Installation

Install Xpenology DSM 6.2.x on Proxmox

Click on Manual Install
Click on Browse and Select DSM_DS3615xs_25426.pat file ( that you have already downloaded)
Click on Install Now

 

Install Xpenology DSM 6.2.x on Proxmox

Read and Verify
Check I understand(...)all data(...)will be removed.
Click on Ok

 

Install Xpenology DSM 6.2.x on Proxmox

Wait until installation complete.

Configuration

Install Xpenology DSM 6.2.x on Proxmox

Enter your:

  • server name
  • admin username
  • admin password

Then click Next

 

Install Xpenology DSM 6.2.x on Proxmox

Click Skip this step (link at the bottom)
Then, in the popup, Click Yes

Done

Install Xpenology DSM 6.2.x on Proxmox

Uncheck checkbox
Then click on Go

 

Install Xpenology DSM 6.2.x on Proxmox

That's it! Your synology is now ready to use!


Proxmox backup template

Restore backup

To make things easier, some nice guys did some proxmox backup :

  • Download proxmox backup which can be found in this forum's thread
  • Transfer backup in proxmox repository folder
  • In proxmox ve web gui,
    • go to your repository then content tab
    • select the backup
    • click Restore button

Boot to usb disk

These backups do not boot on usb disk but, instead, it boots the bootloader as normal sata disk.
If you want to change to usb disk boot :

  • Detach "sata0: vm-107-disk-0.raw" (or comment it in conf file)
  • Copy or Move "vm-108-disk-0.raw" to "synoboot.img"
  • Change conf as explained previously in "VM conf manual modification" to add it as add usb disk

 


DSM Post-install

Desactivate auto update

First of all, I would recommend to disable automatic updates as follow:

  • Go to "Control Panel" > "Update & Restore"
  • On the "DSM Update" tab,
  • Click on Update Settings
    • Then select "Notify me and let me whether to install new update"
    • Click on OK to validate

 

Xpenology dsm update is done in the normal way with "Control Panel" > "Update & Restore" in web dsm gui.
However any update can break your xpenology, so before installing a new update :

  • Check in this forum if someone already had successful update with similar configuration system
  • Try in another VM the update and check that the system still work properly

 

Activate SSH terminal

On DSM web gui,

  • Go to "Control Panel" and click on "Advanced Mode" (in top-right corner)
  • Click on "Terminal & SNMP"
  • In "Terminal" tab:
    • Check "Enable SSH service"
    • And enter a "Port" number (default 22)
    • Click on Apply to validate

 

Change xpenology parameter in grub.cfg

In grub.cfg file of the bootloader disk, you can specify :

  • vid/pid of the bootloader disk
  • synology serial number (you maybe want to read this thead first)
  • mac address

(Make sure, you did not eject usb disk from dsm gui)
Open a ssh terminal on xpenology server with an synology admin account
(or open a virtual terminal from proxmox server with qm terminal 107 with an synology admin account)

# Start a root session with account password
[[email protected]]$ sudo -i

    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these three things:

        #1) Respect the privacy of others.
        #2) Think before you type.
        #3) With great power comes great responsibility.

    Password:


# Find vendor id and product id of bootloader usb disk
[[email protected]]$ lsusb
    |__usb1          1d6b:0002:0310 09  2.00  480MBit/s 0mA 1IF  (ehci_hcd 0000:00:1a.7) hub
    [ ... ]
    |__usb9          1d6b:0002:0310 09  2.00  480MBit/s 0mA 1IF  (xhci_hcd 0000:00:01.0) hub
    |__usb10         1d6b:0003:0310 09  3.00 5000MBit/s 0mA 1IF  (xhci_hcd 0000:00:01.0) hub
      |__10-1        46f4:0001:0000 00  3.00 5000MBit/s 0mA 1IF  (QEMU QEMU USB HARDDRIVE 1-0000:00:01.0-1)


# Vendor id (46f4) and product id (0001) is found
# Set these in grub.cfg
# In order to not be automaticaly mount in dsm  
[[email protected]]$ sed -i \
   -e "s/\(set vid=\)\(.*\)/\10x46f4/g" \
   -e "s/\(set pid=\)\(.*\)/\10x0001/g" \
   /volumeUSB1/usbshare1-1/grub/grub.cfg


# (Optional) Set different serial number or mac
[[email protected]]$ mySN="1330LWN023501"
[[email protected]]$ myMAC1="DE0C1A817DE8"
[[email protected]]$ sed -i \
   -e "s/\(set sn=\)\(.*\)/\1${mySN}/g" \
   -e "s/\(set mac1=\)\(.*\)/\1${myMAC1}/g" \
   /volumeUSB1/usbshare1-1/grub/grub.cfg


Reboot your xpenology server.
(Note: You may have a different IP from your dhcp if you have changed MAC address)

 

Power button install

In order to be able to properly shutdown xpenology vm from Proxmox VE, you need to install a package that will properly shutdown synology dsm when it receive a ACPI "power down" signal.

Download POWERBUTTON_6.2-0002.SPK file in this forum's thread.

Install Xpenology DSM 6.2.x on Proxmox

On DSM web gui,

  • Go to "Package Center" and click on "Manual Install" (in top-right corner)
  • In popup:
    • Click on Browse
    • Select POWERBUTTON_6.2-0002.SPK file (previously downloaded) then click on Open
    • Click on Next
    • In another popup about "unknown publisher", Click on Yes
  • In "Confirmation settings" popup:
    • Check "Run after installation"
    • Click on Apply to finish

 

Hardware passtrough

You can pass a full pci (or pcie) device to your VM, like a PCI Sata Controller which have several disks plug on it.
It's now pretty straightforward in recent Proxmox VE.

Install Xpenology DSM 6.2.x on Proxmox

Click on Add

Select PCI Device

 

In exemple, to passthrough a SATA controller on a PCIe port with disks attached on it:

  • Device: Select SATA controller to passtrough in the dropdown list
  • All Functions: Check, ROM-Bar: Check, PCI-Express: Check

 

HTH,
Michel.

 

Recommendation
- Keep a copy of the bootloader in case of active bootloader get corrupted
      * in the same folder or somewhere safe and easy to access
      * if active bootloader is corrupted, just copy (and replace) the backup bootloader to active bootloader
- Use bootloader as usb disk, if you can
- Install dsm OS in a dedicated virtual disk (8GB or 16GB should more than enough)
      - do not use this disk as dsm storage disk (or storage pool)
- Install dsm without any additionnal disk (which can be add later)
- Backup your vm
- Then now you can add additionnal disks or passtrough a SATA controller
      * configure it as dsm storage disks
      * storage disks are separated from OS disk
      * this way data are safer cause you can safely unplug data disks for update, manipulation (or OS corruption)

 

Reference
Forum Xpenology (xpenology.com)
Tutorial: DSM 6.x on Proxmox (Thread on xpenology.com)
Proxmox backup template (Thread on xpenology.com)
Xpenology running on docker (Thread on xpenology.com)
Install Xpenology DSM 6.1.x on Proxmox (uxora.com)
Tutorial to compile xpenology dsm driver (xpenology.club)

Enjoyed this article? Please like it or share it.

Add comment

Please connect with one of social login below (or fill up name and email)

     


Security code
Refresh