Index: boot/Makefile.common
===================================================================
--- boot/Makefile.common	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ boot/Makefile.common	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -120,12 +120,11 @@
 RD_LIBS =
 
-ifeq ($(CONFIG_RTLD), y)
-	RD_LIBS += $(USPACE_PATH)/lib/test/libtest.so.0
-endif
-
 ifeq ($(CONFIG_BUILD_SHARED_LIBS), y)
-	RD_LIBS += $(USPACE_PATH)/lib/c/libc.so.0
-	RD_LIBS += $(USPACE_PATH)/lib/softint/libsoftint.so.0
-	RD_APPS += $(USPACE_PATH)/app/dltest/dltest
+	RD_LIBS += \
+		$(USPACE_PATH)/lib/test/libtest.so.0 \
+		$(USPACE_PATH)/lib/c/libc.so.0 \
+		$(USPACE_PATH)/lib/softint/libsoftint.so.0
+	RD_APPS += \
+		$(USPACE_PATH)/app/dltest/dltest
 endif
 
Index: uspace/Makefile.common
===================================================================
--- uspace/Makefile.common	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/Makefile.common	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -43,4 +43,7 @@
 #   EXTRA_CLEAN        additional cleanup targets
 #
+#   STATIC_NEEDED      set to 'y' for init binaries, will build statically
+#                      linked version
+#
 # (x) required variables
 # (/) exactly one of the variables must be defined
@@ -100,11 +103,21 @@
 LIBNET_PREFIX = $(LIB_PREFIX)/net
 
-ifeq ($(DYNAMIC_LINKING),y)
+ifeq ($(STATIC_NEEDED),y)
+	STATIC_BUILD = y
+else
+	ifeq ($(CONFIG_USE_SHARED_LIBS), y)
+		STATIC_BUILD = n
+	else
+		STATIC_BUILD = y
+	endif
+endif
+
+ifeq ($(STATIC_BUILD), y)
+BASE_LIBS = $(LIBC_PREFIX)/libc.a $(LIBSOFTINT_PREFIX)/libsoftint.a
+LINKER_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld
+else
 BASE_LIBS = $(LIBC_PREFIX)/libc.so.0 $(LIBSOFTINT_PREFIX)/libsoftint.a
 LFLAGS = -Bdynamic
 LINKER_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld
-else
-BASE_LIBS = $(LIBC_PREFIX)/libc.a $(LIBSOFTINT_PREFIX)/libsoftint.a
-LINKER_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld
 endif
 
Index: uspace/app/dltest/Makefile
===================================================================
--- uspace/app/dltest/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/app/dltest/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -29,5 +29,4 @@
 USPACE_PREFIX = ../..
 BINARY = dltest
-DYNAMIC_LINKING = y
 
 SOURCES = \
Index: uspace/app/init/Makefile
===================================================================
--- uspace/app/init/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/app/init/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -30,4 +30,5 @@
 USPACE_PREFIX = ../..
 BINARY = init
+STATIC_NEEDED = y
 
 SOURCES = \
Index: uspace/srv/bd/rd/Makefile
===================================================================
--- uspace/srv/bd/rd/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/srv/bd/rd/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -30,4 +30,5 @@
 USPACE_PREFIX = ../../..
 BINARY = rd
+STATIC_NEEDED = y
 
 SOURCES = \
Index: uspace/srv/devman/Makefile
===================================================================
--- uspace/srv/devman/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/srv/devman/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -30,4 +30,5 @@
 USPACE_PREFIX = ../..
 BINARY = devman
+STATIC_NEEDED = y
 
 SOURCES = \
Index: uspace/srv/devmap/Makefile
===================================================================
--- uspace/srv/devmap/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/srv/devmap/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -30,4 +30,5 @@
 USPACE_PREFIX = ../..
 BINARY = devmap
+STATIC_NEEDED = y
 
 SOURCES = \
Index: uspace/srv/fs/devfs/Makefile
===================================================================
--- uspace/srv/fs/devfs/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/srv/fs/devfs/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -32,4 +32,5 @@
 EXTRA_CFLAGS += -I$(LIBFS_PREFIX)
 BINARY = devfs
+STATIC_NEEDED = y
 
 SOURCES = \
Index: uspace/srv/fs/fat/Makefile
===================================================================
--- uspace/srv/fs/fat/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/srv/fs/fat/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -32,4 +32,5 @@
 EXTRA_CFLAGS += -I$(LIBBLOCK_PREFIX) -I$(LIBFS_PREFIX)
 BINARY = fat
+STATIC_NEEDED = y
 
 SOURCES = \
Index: uspace/srv/fs/tmpfs/Makefile
===================================================================
--- uspace/srv/fs/tmpfs/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/srv/fs/tmpfs/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -32,4 +32,5 @@
 EXTRA_CFLAGS += -I$(LIBBLOCK_PREFIX) -I$(LIBFS_PREFIX)
 BINARY = tmpfs
+STATIC_NEEDED = y
 
 SOURCES = \
Index: uspace/srv/loader/Makefile
===================================================================
--- uspace/srv/loader/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/srv/loader/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -42,4 +42,5 @@
 
 BINARY = loader
+STATIC_NEEDED = y
 
 GENERIC_SOURCES = \
Index: uspace/srv/ns/Makefile
===================================================================
--- uspace/srv/ns/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/srv/ns/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -30,4 +30,5 @@
 USPACE_PREFIX = ../..
 BINARY = ns
+STATIC_NEEDED = y
 
 SOURCES = \
Index: uspace/srv/vfs/Makefile
===================================================================
--- uspace/srv/vfs/Makefile	(revision 7fb3f1c0cd0601d504202af56df44cb8372b7dfe)
+++ uspace/srv/vfs/Makefile	(revision 5b72635b9915b3b8f3da48af22290703c2eed480)
@@ -30,4 +30,5 @@
 USPACE_PREFIX = ../..
 BINARY = vfs
+STATIC_NEEDED = y
 
 SOURCES = \
