diff --git a/imgs/boot/bin/prepare_turris_image b/imgs/boot/bin/prepare_turris_image
index a5e8d6eb81f83f3f1df87b18fdfb6ae59bd4a48a..03937c7360718a7d452ae2e02e92c52687f73457 100755
--- a/imgs/boot/bin/prepare_turris_image
+++ b/imgs/boot/bin/prepare_turris_image
@@ -15,6 +15,7 @@ wget "https://repo.turris.cz/hbk/medkit/omnia-medkit-latest.tar.gz" -O medkit.ta
 # Repack as CPIO
 mkdir root
 tar -xzf medkit.tar.gz -C root
+ln -sf /sbin/init root/init
 ( cd root && find . | cpio -H newc -o > ../root.cpio )
 mkimage -A arm -O linux -T ramdisk -C none -d root.cpio root.uimage
 
diff --git a/nsfarm/board.py b/nsfarm/board.py
index 49e0c939f2fb60659e6eaa82e003528d67065f60..92d8187157742b5182b9fe6b5fa4e39e20af32c4 100644
--- a/nsfarm/board.py
+++ b/nsfarm/board.py
@@ -76,7 +76,8 @@ class Board():
         # Wait for bootup
         self.pexpect.expect_exact(["Router Turris successfully started.", ])
         # Note Shell sends new line which opens terminal for it
-        return cli.Shell(self.pexpect)
+        # TODO why this flush timeouts?
+        return cli.Shell(self._pexpect, flush=False)
 
     def serial_pexpect(self):
         """Returns pexpect handle to serial TTY interface.