Install DSM 7 on BareMetal or VM based on Redpill

      11 Comments on Install DSM 7 on BareMetal or VM based on Redpill

User pocopico on made something cool to install DSM 7 on a baremetal or vm.He made an Image so you can build the loader on the server where you want to install and on the same USB device.. How awesome is that!!



Remember, this is WORK IN PROGRESS!! This is a testing version. Do not use unless you are certain you have no data to lose.

Hi all,

A while ago I’ve started experimenting with a solution that would not require docker and/or a system running linux,

but just a simple image that you can boot on your physical/virtual system and create the loader from there.

I started with the plain disk image of 200MB size and tried to fit all in this image. As always first partition of the image is the synoboot1,

second synoboot2 and third one (synoboot3) is tinycore. Tinycore is a simple linux distribution that can boot to a GUI so you can start creating the loader. Most network modules are included so you can verify also the extensions required on your system.

A script will take care most of the actions that you would manually perform and just copy the loader contents to the 1st and 2nd partition.

Go to and download the image from github.

Obviously you need the vmdk for virtual machine or any hypervisor and the other one for baremetal. Unpack the *.gz with winrar.

Get a empty usb stick and write the image with win32DiskImager to the stick. Setup your server to boot from USB.  When Tinycore boots it looks like this:

I really do not like navigating in tinycore so I will connect with ssh to do my stuff on tinycore.. Click on the terminal icon and type:


to get your IP.

In my case the IP is

Start up winscp and click on New Site:

Use the following credentials:

User: tc
Password: P@ssw0rd

After login u see something like this.

Here you can find the configs u need. U can fill them manually (vid/pid/mac/disks) or try to use the functions in the script. You can edit the files with winscp.  But first we need to update the script to the latest version.

Start up Putty click ctrl + p. A putty screen will open:

(ps. I think you need to edit the settings of winscp to add putty so you can use ctrl + p)

First check if there is an update of the script.


sudo ./ update now

When that’s done you have the latest script version.  Now its time to edit the user_config.json


looks like this.

u can manually fill the correct values or try to use the auto function of the script.

sudo ./ serialgen <model> now

eg: sudo ./ serialgen DS3615xs now
sudo ./ satamap now
sudo ./ identifyusb now


sudo ./

To see the help of the script and the commands u can use.  I will not go in debt for all the commands because i do not need them.. But you can experiment with them just for fun.

Make sure you use the correct vid/pid/mac and disk settings. If you do not use the correct vid/pid dsm will not install. After generating all the values check the user_config.json before u run the build script. There are more commands that u can use but I do not need them so I won’t use them. Here is the help of the script.

Usage: ./ <action> <platform version> <static or compile module> [extension manager arguments]

Actions: build, ext, download, clean, update, listmod, serialgen, identifyusb

- build:     Build the 💊 RedPill LKM and update the loader image for the specified

platform version and update current loader.

- ext:       Manage extensions, options go after platform (add/force_add/info/remove/update/cleanup/auto)

example: ext apollolake-7.0.1-42218 add                                                                                                                         ndex.json

or for auto detect use ext apollolake-7.0.1-42218 auto

- download:  Download redpill sources only

- clean:     Removes all cached files and starts over

- update:    Checks github repo for latest version of rploader

- listmods:  Tries to figure out required extensions

- serialgen: Generates a serial number and mac address for the following platforms

DS3615xs DS3617xs DS916+ DS918+ DS920+ DVA3219 DVA3221

- identifyusb: Tries to identify your loader usb stick VID:PID and updates the user_config.json file

- satamap: Tries to identify your SataPortMap and DiskIdxMap values and updates the user_config.json file

- backup:   Backup and make changes /home/tc changed permanent to your loader disk

In my case I use:

sudo ./ build bromolow-7.0.1-42218

looks like this:

after building is done, download the *.pat file with winscp.. navigate to /home/tc/redpill-load/cache/ and download (in my case) ds3615xs_42218.pat to your local machine.

Reboot your box (keep the usb in) and the new loader will start and you can install dsm or start tinycore again.

Start the in a web browser and look for your dsm 7 server. Upload the pat file that u downloaded and be happy with your DSM 7 (latest) version.

I just migrated 2 machines from DSM 6.1 and all my data is still there. Just a tip, all your python2 apps do not work anymore.. if you want you can use use docker for applications that do not work anymore.. (sickrage, couchpotato etc…)

11 thoughts on “Install DSM 7 on BareMetal or VM based on Redpill

  1. sts

    tc@box:~$ sudo ./ update now
    Checking Internet Access -> OK
    Checking if a newer version exists on the repo -> sha256sum: No such file or directory
    There is a newer version of the script on the repo should we use that ? [yY/nN]y
    OK, updating, please re-run after updating
    cp: cannot stat ‘/home/tc/’: No such file or directory
    Updating tinycore loader with latest updates
    Backing up files to /mnt/sdb3//mydata.tgz

  2. myswe

    I have the same issue with the boot loader working but when I try to upload the .pat I get a corruption error.
    I had the tool itself update the USB PID / VID. Note I havbe a physical USB passed though to my Proxmox VM.
    Any pointers on what I am doing wrong?

  3. Dsm7k

    DSM loader boots ok, but when uploading .pat feil i keep getting an error telling me the file is probably defect?

    1. Err0r Post author

      you need the correct values for your USB device.. The PID and the VID and add them in your user_config.json

  4. idle

    Огромнейшее спасибо и низкий поклон за возможность наконец-то перейти на DSM 7 всем кто принимал участие в разработке загрузчика!
    Шикарное начало года!

    Many thanks and a low bow for the opportunity to finally switch to DSM 7 to everyone who took part in the development of the bootloader! A great start to the year!


Leave a Reply

Your email address will not be published. Required fields are marked *