Index: HelenOS.config
===================================================================
--- HelenOS.config	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
+++ HelenOS.config	(revision fa9616b477cd596cac9330b3fb60f3bf07fb7dec)
@@ -522,11 +522,11 @@
 ! CONFIG_NETIF_NIL_BUNDLE (n/y)
 
-% Bare-boned minimal size build
+% Strip binaries
+! CONFIG_STRIP_BINARIES (n/y)
+
+% Optimize for size
+! CONFIG_OPTIMIZE_FOR_SIZE (n/y)
+
+% Bare boned build with essential binaries only 
 ! CONFIG_BARE_BONED (n/y)
 
-% Strip binaries
-! [CONFIG_BARE_BONED=y] CONFIG_STRIP_BINARIES (y)
-
-% Optimize for size
-! [CONFIG_BARE_BONED=y] CONFIG_OPTIMIZE_FOR_SIZE (y)
-
Index: boot/Makefile.common
===================================================================
--- boot/Makefile.common	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
+++ boot/Makefile.common	(revision fa9616b477cd596cac9330b3fb60f3bf07fb7dec)
@@ -82,13 +82,15 @@
 endif
 
-RD_SRVS = \
+RD_SRVS_ESSENTIAL = \
+	$(USPACE_PATH)/srv/hid/fb/fb \
+	$(USPACE_PATH)/srv/hid/kbd/kbd \
+	$(USPACE_PATH)/srv/hid/console/console \
+	$(USPACE_PATH)/srv/fs/devfs/devfs
+
+RD_SRVS_NON_ESSENTIAL = \
 	$(USPACE_PATH)/srv/bd/file_bd/file_bd \
 	$(USPACE_PATH)/srv/bd/part/guid_part/g_part \
 	$(USPACE_PATH)/srv/bd/part/mbr_part/mbr_part \
 	$(USPACE_PATH)/srv/clip/clip \
-	$(USPACE_PATH)/srv/hid/fb/fb \
-	$(USPACE_PATH)/srv/hid/kbd/kbd \
-	$(USPACE_PATH)/srv/hid/console/console \
-	$(USPACE_PATH)/srv/fs/devfs/devfs \
 	$(USPACE_PATH)/srv/fs/tmpfs/tmpfs \
 	$(USPACE_PATH)/srv/fs/fat/fat \
@@ -105,14 +107,16 @@
 
 ifneq ($(CONFIG_NETIF_NIL_BUNDLE),y)
-	RD_SRVS += \
+	RD_SRVS_NON_ESSENTIAL += \
 		$(USPACE_PATH)/srv/net/nil/eth/eth \
 		$(USPACE_PATH)/srv/net/nil/nildummy/nildummy
 endif
 
-RD_APPS = \
+RD_APPS_ESSENTIAL = \
 	$(USPACE_PATH)/app/bdsh/bdsh \
+	$(USPACE_PATH)/app/getterm/getterm \
+	$(USPACE_PATH)/app/klog/klog
+
+RD_APPS_NON_ESSENTIAL = \
 	$(USPACE_PATH)/app/edit/edit \
-	$(USPACE_PATH)/app/getterm/getterm \
-	$(USPACE_PATH)/app/klog/klog \
 	$(USPACE_PATH)/app/mkfat/mkfat \
 	$(USPACE_PATH)/app/sbi/sbi \
@@ -130,8 +134,10 @@
 	$(USPACE_PATH)/app/top/top
 
+ifneq ($(CONFIG_BARE_BONED),y)
 NET_CFG = \
 	$(USPACE_PATH)/srv/net/cfg/general \
 	$(USPACE_PATH)/srv/net/cfg/lo \
 	$(USPACE_PATH)/srv/net/cfg/ne2k
+endif
 
 COMPONENTS = \
@@ -146,4 +152,12 @@
 -include arch/$(BARCH)/Makefile.inc
 
+ifeq ($(CONFIG_BARE_BONED),y)
+RD_SRVS = $(RD_SRVS_ESSENTIAL)
+RD_APPS = $(RD_APPS_ESSENTIAL)
+else
+RD_SRVS = $(RD_SRVS_ESSENTIAL) $(RD_SRVS_NON_ESSENTIAL)
+RD_APPS = $(RD_APPS_ESSENTIAL) $(RD_APPS_NON_ESSENTIAL)
+endif
+
 MODULES := $(notdir $(COMPONENTS))
 
Index: boot/arch/amd64/Makefile.inc
===================================================================
--- boot/arch/amd64/Makefile.inc	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
+++ boot/arch/amd64/Makefile.inc	(revision fa9616b477cd596cac9330b3fb60f3bf07fb7dec)
@@ -29,7 +29,9 @@
 PAGE_SIZE = 4096
 
-RD_SRVS += \
+RD_SRVS_ESSENTIAL += \
+	$(USPACE_PATH)/srv/hw/char/i8042/i8042
+
+RD_SRVS_NON_ESSENTIAL += \
 	$(USPACE_PATH)/srv/bd/ata_bd/ata_bd \
-	$(USPACE_PATH)/srv/hw/char/i8042/i8042 \
 	$(USPACE_PATH)/srv/hw/bus/pci/pci \
 	$(USPACE_PATH)/srv/hid/char_mouse/char_ms
Index: boot/arch/arm32/Makefile.inc
===================================================================
--- boot/arch/arm32/Makefile.inc	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
+++ boot/arch/arm32/Makefile.inc	(revision fa9616b477cd596cac9330b3fb60f3bf07fb7dec)
@@ -35,5 +35,7 @@
 PAGE_SIZE = 4096
 
-RD_SRVS += \
+RD_SRVS_ESSENTIAL +=
+
+RD_SRVS_NON_ESSENTIAL += \
 	$(USPACE_PATH)/srv/bd/gxe_bd/gxe_bd
 
Index: boot/arch/mips32/Makefile.inc
===================================================================
--- boot/arch/mips32/Makefile.inc	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
+++ boot/arch/mips32/Makefile.inc	(revision fa9616b477cd596cac9330b3fb60f3bf07fb7dec)
@@ -32,5 +32,7 @@
 EXTRA_CFLAGS = -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3
 
-RD_SRVS += \
+RD_SRVS_ESSENTIAL +=
+
+RD_SRVS_NON_ESSENTIAL += \
 	$(USPACE_PATH)/srv/bd/gxe_bd/gxe_bd
 
Index: boot/arch/ppc32/Makefile.inc
===================================================================
--- boot/arch/ppc32/Makefile.inc	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
+++ boot/arch/ppc32/Makefile.inc	(revision fa9616b477cd596cac9330b3fb60f3bf07fb7dec)
@@ -40,7 +40,9 @@
 EXTRA_CFLAGS = -mcpu=powerpc -msoft-float -m32
 
-RD_SRVS += \
-	$(USPACE_PATH)/srv/hid/adb_mouse/adb_ms \
+RD_SRVS_ESSENTIAL += \
 	$(USPACE_PATH)/srv/hw/bus/cuda_adb/cuda_adb
+
+RD_SRVS_NON_ESSENTIAL += \
+	$(USPACE_PATH)/srv/hid/adb_mouse/adb_ms
 
 SOURCES = \
Index: boot/arch/sparc64/Makefile.inc
===================================================================
--- boot/arch/sparc64/Makefile.inc	(revision be6cef1be0dc2c677a0cbe6a56cde9c7cbca71c9)
+++ boot/arch/sparc64/Makefile.inc	(revision fa9616b477cd596cac9330b3fb60f3bf07fb7dec)
@@ -40,5 +40,7 @@
 EXTRA_CFLAGS = -mcpu=ultrasparc -m64 -mno-fpu
 
-RD_SRVS += \
+RD_SRVS_NON_ESSENTIAL +=
+
+RD_SRVS_ESSENTIAL += \
 	$(USPACE_PATH)/srv/hw/cir/fhc/fhc \
 	$(USPACE_PATH)/srv/hw/cir/obio/obio
