Man of many talents. Server janitor, Chief Googler, Vice President of Pencil Sharpening, Director of Turning Things Off and On Again. Technology Plumber using Linux for stuff like Satellite STB, home CCTV system, kitchen sound bar, workstations, even car onboard computer. And servers, oh yeah - lots of them. I've been a Linux Mercenary for quite a while now, often using information posted by kind strangers on the Internet to solve problems during this journey. This blog is a humble attempt to give something back to the community.

Mar 152020

So I decided to upgrade my old Galaxy pad, originally running Android 4.4 which is now well dated. Thanks to both XDA forum and some youtube videos after few hours of fiddling I managed to get it done.

What caught me at first was Heimdall flash tool unable to establish connection with tablet. It turned out it was Developer Mode – USB debugging being disabled, which also affects hardware in download mode. Yeah, that was good 2h of head scratching.

So, my steps to get it done:

0) Download ROM archive and following zip packages to SD card on your pad. Links are just a copy from Android Doctor’s Youtube video description, I just noted them here for your convenience:

  • open_gapps (arm, 7.1, pico)
  • Magisk
  • battery fix
  • Android 7.1.2 ViperOS for Galaxy tab E ROM

1) make sure to turn on USB debugging mode on your running Galaxy Pad

2) Turn off your Galaxy Pad. Then switch it into a Download mode by pressing Home + Volume Down + Power buttons. Then Volume up to continue

3) Install Heimdall flash tool on your Ubuntu workstation “sudo apt install heimdall-flash heimdall-flash-frontend -y”

4) Download TWRP for T560 from

5) Unpack TWRP archive, we are after recovery.img, navigate in terminal to this directory

6) Plug in your Galaxy Pad in Download mode to your Ubuntu workstation and then run:
heimdall flash –RECOVERY recovery.img –no-reboot

7) from this moment on you can carry on with zip installs using TWRP as per instructions in excellent walk-through by Android Doctor
linked below.

8) Reboot. Done.

My old Galaxy pad got a new life, Android 7.1 means I can get newer apps installed on it. It works pretty well. Great job Venom team.

Please note this post is not meant to steal credit from original creators of rooting guides, it’s more of a help to Linux users who won’t have access to Odin (windows flash tool). As you see same thing can be achieved with Heidemall which is a part of Ubuntu distro.


and Android Doctor video:

Jun 162017

Been searching for a tool to streamline ZFS replication between my storage arrays and I think I found it – it’s called syncoid.


# ubuntu
apt install pv lzop mbuffer libconfig-inifiles-perl git -y
# centos
yum install pv lzop mbuffer perl-Config-IniFiles.noarch git -y

cd /usr/src/
git clone
cp sanoid/syncoid /usr/local/sbin/

Now setup SSH keys for passwordless root login and create cronjob to fire up /usr/local/sbin/ once a day/week/whenever suits you.

0 0 * * 1   /usr/local/sbin/|logger

Where /usr/local/sbin/ is

FILESYSTEMS="apps home service vmfs"
for i in $FILESYSTEMS; do 
echo "---------------  `date` - syncing $i -------------" >> $LOG 2>&1 
/usr/local/sbin/syncoid -r [email protected]:tank/$i cistern/$i >> $LOG 2>&1
echo "---------------  `date` - done $i -------------" >> $LOG 2>&1


No matching ciphers

You may get a message:

"no matching cipher found: client [email protected],arcfour server aes256-ctr,aes192-ctr,aes128-ctr,arcfour256,arcfour128" 

most likely when you run Centos 6 on target host. You need to check for available ciphers on target host and modify syncoid script accordingly.

# ssh -Q cipher [email protected]| paste -d , -s
3des-cbc,blowfish-cbc,cast128-cbc,arcfour,arcfour128,arcfour256,aes128-cbc,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],[email protected]

and paste output from above on line 39 of /usr/local/sbin/

$sshcipher = '-c 3des-cbc,blowfish-cbc,cast128-cbc,arcfour,arcfour128,arcfour256,aes128-cbc,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],[email protected] ';


Now your sync will run OK.



It gets the job done nicely and saves me from writing my own bash-perl-voodoo-black-magic-fuckery.

Thanks Jim.