Skip to content

retsamedoc/synok3s

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Synok3s

Gotchas

DSM 6.2.4 has iptables 1.6.0 installed. K3s does not like this version and it does not have the xt_comment capability. Will need to rebuild iptables and several kernel modules. Would be nice to rebuild the kernel itself to add

DSM 7.0 uses iptables 1.8.3 (much better)

Prereqs

K3S on Synology DSxxx NAS

Based on: https://medium.com/@marco.mezzaro/k3s-on-synology-what-if-it-works-e980b4b09fcb

Compile missing kernel modules

Download from sourceforge kernel source and dsm toolchain (my ds218 has rtd129x)

from a brand new debian system: create a folder:

sudo apt update
sudo apt install wget 
mkdir -p ~/dsm/archives 
cd ~/dsm

put:

  • rtd1296-gcc494_glibc220_armv8-GPL.txz
  • linux-4.4.x.txz

install all build deps:

sudo apt-get install mc make gcc build-essential kernel-wedge libncurses5 libncurses5-dev libelf-dev binutils-dev kexec-tools makedumpfile fakeroot lzma bc libssl-dev

extract and move txz archives away:

tar Jxvf linux-4.4.x.txz 
tar Jxvf rtd1296-gcc494_glibc220_armv8-GPL.txz 
mv linux-4.4.x.txz rtd1296-gcc494_glibc220_armv8-GPL.txz archives/

enter in kernel source folder and copy kernel config in place

cd linux-4.4.x/
cp synoconfigs/$codename .config

Export magic number version (if not exported could cause headaches!) and alias for dsm make

If your diskstation uses an Intel/AMD processor:

export LOCALVERSION=+
alias dsm6make='make ARCH=x86_64 CROSS_COMPILE=~/dsm/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-'

If your diskstation uses an ARM processor:

export LOCALVERSION=+1
alias dsm6make='make ARCH=arm64 CROSS_COMPILE=~/dsm/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-'

config the kernel, select all modules for iptables and make modules:

dsm6make menuconfig
dsm6make modules
find . -iname "*.ko" -type f

copy the kernel modules in /lib/modules on synology machine. DO NOT OVERWRITE already present modules. use insmod command to load. for troubleshooting check dmesg for errors.

Links

Specific practice sharing

grateful

Languages

  • Shell 100.0%