There's nothing to run/see here (yet ;)).
This is a major part of a tool which will be able to run a DSM instance for research purposes without engaging your real DS machine and risking your data in the process (ask me how I know...).
This repository is target towards developers willing to learn and help with implementation of peculiarities of Synology's DSM Linux distribution.
Read about the quirk in a separate repo: https://github.com/RedPill-TTG/dsm-research/tree/master/quirks
cd
to kernel sourcescp synoconfigs/bromolow .config
cp synoconfigs/apollolake .config
echo '+' > .scmversion
(otherwise it will error-out loading modules)make oldconfig ; make modules_prepare
cd
back to the module directorymake LINUX_SRC=....
(path to linux sources, default: ../linux-3.10.x-bromolow-25426
)redpill.ko
module as the result, you can insmod
itThe procedure to build with the toolkit is not recommended. However, some versions lack the kernel sources (e.g. v7 now) and thus can only use this method.
.dev.txz
file for the corresponding platform (e.g. ds.bromolow-7.0.dev.txz
)tar -xvf ds.bromolow-7.0.dev.txz usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.0/build
tar -tvf ds.bromolow-7.0.dev.txz | grep kfifo.h
to find the correct onecd
to the module directorymake LINUX_SRC=<toolkit-directory>/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.0/build
redpill.ko
module as the result, you can insmod
itWhile calling make
you can also add these additional modifiers (e.g. make FOO BAR
):
DBG_EXECVE=y
: enabled debugging of every execve()
call with argumentsSTEALTH_MODE=#
: controls the level of "stealthiness", see STEALTH_MODE_*
in internal/stealth.h
; it's
STEALTH_MODE_BASIC
by defaultLINUX_SRC=...
: path to the linux kernel sources (./linux-3.10.x-bromolow-25426
by default)On Debian-based systems you will need build-essential
and libssl-dev
packages at minimum.
The documentation regarding actual quirks/mechanisms/discoveries regarding DSM is present in a dedicated research repo at https://github.com/RedPill-TTG/dsm-research/. Documentation in this repository is solely aimed to explain implementation details of the kernel module. It will mostly be available in forms of long(ish) doc blocks.