- DSM 6.2
- 4.4.59+ (Apollolake)
- DS918+
- 10G NIC: https://amzn.asia/d/2kyZqwa
mkdir build
sudo docker run -it --name syno-kmod-build -v $PWD/build:/build debian
# install packages
apt update
apt install wget tar file xz-utils bc kmod build-essential libncurses-dev libssl-dev
# get src
cd /build
wget -O apollolake-gcc493_glibc220_linaro_x86_64-GPL.txz https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%206.2.4%20Tool%20Chains/Intel%20x86%20Linux%204.4.59%20%28Apollolake%29/apollolake-gcc493_glibc220_linaro_x86_64-GPL.txz/download
wget https://global.synologydownload.com/download/ToolChain/Synology%20NAS%20GPL%20Source/6.2-25556/apollolake/linux-4.4.x.txz
# install tool chain
tar -xvf apollolake-gcc493_glibc220_linaro_x86_64-GPL.txz -C /usr/local/
export PATH=/usr/local/x86_64-pc-linux-gnu/bin:$PATH
export CROSS_COMPILE=x86_64-pc-linux-gnu-
export LOCALVERSION=+
## ARCH will be selected according to the target device
## get kernel version magic from `uname -r`...4.4.59+
## get ARCH from `uname -m`...x86_64
# extract src
tar -xvf linux-4.4.x.txz -C /build
# kernel config
cd /build/linux-4.4.x
cp -vi synoconfigs/apollolake .config
make olddefconfig
## enable ixgbe driver
### Linux Kernel Configuration
### └─>Device Drivers
### └─>Network device support
### └─>Ethernet driver support
### └─>PCI support
### └─>Intel(R) 10GbE PCI Express adapters support
make menuconfig
## prepare
make prepare
## check kernel version magic. if do not match modify LOCALVERSION
make ARCH=x86_64 kernelrelease
## build
make ARCH=x86_64 modules
# make ARCH=x86_64 CROSS_COMPILE=x86_64-pc-linux-gnu- CC=${CROSS_COMPILE}gcc modules
## get .ko
modinfo /build/linux-4.4.x/drivers/net/ethernet/intel/ixgbe/mdio.ko
modinfo /build/linux-4.4.x/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
cp -iv /build/linux-4.4.x/drivers/net/ethernet/intel/ixgbe/mdio.ko /build/
cp -iv /build/linux-4.4.x/drivers/net/ethernet/intel/ixgbe/ixgbe.ko /build/- https://help.synology.com/developer-guide/compile_applications/manual.html
- https://help.synology.com/developer-guide/appendix/platarchs.html
- https://help.synology.com/developer-guide/compile_applications/download_dsm_tool_chain.html
- https://help.synology.com/developer-guide/compile_applications/compile.html
- https://help.synology.com/developer-guide/compile_applications/compile_open_source_projects.html
- https://amzn.asia/d/6WmQd00
- Synology NAS GPL Source https://archive.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source
- DSM 6.2.4 Tool Chains https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%206.2.4%20Tool%20Chains/
- DSM 7.x.x Tool Chains https://archive.synology.com/download/ToolChain/toolchain
- building