Index: boot/Makefile
===================================================================
--- boot/Makefile	(revision 92864752b1dfddb2a35e0b2216820f6ed1dbeb0d)
+++ boot/Makefile	(revision 8fefd8b580bf28eb98fa4eda780105c9d6409cc7)
@@ -44,15 +44,20 @@
 	mkdir -p "$(DIST_PATH)/loc/"
 	mkdir -p "$(DIST_PATH)/log/"
-	mkdir -p "$(DIST_PATH)/srv/"
 	mkdir -p "$(DIST_PATH)/test/"
 	mkdir -p "$(DIST_PATH)/tmp/"
 	mkdir -p "$(DIST_PATH)/vol/"
 	mkdir -p "$(DIST_PATH)/w/"
-	for file in $(RD_SRVS) ; do \
-		cp "$$file" "$(DIST_PATH)/srv/" ; \
+
+	for srv in $(RD_SRVS) ; do \
+		srv_dir="`dirname "$$srv"`" ; \
+		srv_name="`basename "$$srv"`" ; \
+		mkdir -p "$(DIST_PATH)/srv/$$srv_dir" ; \
+		cp "$(USPACE_PATH)/srv/$$srv/$$srv_name" "$(DIST_PATH)/srv/$$srv" ; \
 	done
+
 	for file in $(RD_LIBS) ; do \
 		cp "$$file" "$(DIST_PATH)/lib/" ; \
 	done
+
 ifeq ($(CONFIG_DEVEL_FILES), y)
 	mkdir -p "$(DIST_PATH)/inc/c/"
Index: boot/Makefile.common
===================================================================
--- boot/Makefile.common	(revision 92864752b1dfddb2a35e0b2216820f6ed1dbeb0d)
+++ boot/Makefile.common	(revision 8fefd8b580bf28eb98fa4eda780105c9d6409cc7)
@@ -89,39 +89,39 @@
 
 RD_SRVS_ESSENTIAL = \
-	$(USPACE_PATH)/srv/hid/input/input \
-	$(USPACE_PATH)/srv/hid/output/output \
-	$(USPACE_PATH)/srv/hid/console/console \
-	$(USPACE_PATH)/srv/devman/devman \
-	$(USPACE_PATH)/srv/fs/locfs/locfs \
-	$(USPACE_PATH)/srv/hid/compositor/compositor \
-	$(USPACE_PATH)/srv/klog/klog
+	hid/input \
+	hid/output \
+	hid/console \
+	devman \
+	fs/locfs \
+	hid/compositor \
+	klog
 
 RD_SRVS_NON_ESSENTIAL = \
-	$(USPACE_PATH)/srv/bd/file_bd/file_bd \
-	$(USPACE_PATH)/srv/bd/sata_bd/sata_bd \
-	$(USPACE_PATH)/srv/bd/vbd/vbd \
-	$(USPACE_PATH)/srv/clipboard/clipboard \
-	$(USPACE_PATH)/srv/fs/tmpfs/tmpfs \
-	$(USPACE_PATH)/srv/fs/fat/fat \
-	$(USPACE_PATH)/srv/fs/mfs/mfs \
-	$(USPACE_PATH)/srv/fs/cdfs/cdfs \
-	$(USPACE_PATH)/srv/fs/exfat/exfat \
-	$(USPACE_PATH)/srv/fs/udf/udf \
-	$(USPACE_PATH)/srv/fs/ext4fs/ext4fs \
-	$(USPACE_PATH)/srv/hid/remcons/remcons \
-	$(USPACE_PATH)/srv/hid/isdv4_tablet/isdv4_tablet \
-	$(USPACE_PATH)/srv/hid/rfb/rfb \
-	$(USPACE_PATH)/srv/net/dhcp/dhcp \
-	$(USPACE_PATH)/srv/net/dnsrsrv/dnsrsrv \
-	$(USPACE_PATH)/srv/net/ethip/ethip \
-	$(USPACE_PATH)/srv/net/inetsrv/inetsrv \
-	$(USPACE_PATH)/srv/net/loopip/loopip \
-	$(USPACE_PATH)/srv/net/nconfsrv/nconfsrv \
-	$(USPACE_PATH)/srv/net/slip/slip \
-	$(USPACE_PATH)/srv/net/tcp/tcp \
-	$(USPACE_PATH)/srv/net/udp/udp \
-	$(USPACE_PATH)/srv/taskmon/taskmon \
-	$(USPACE_PATH)/srv/test/chardev-test/chardev-test \
-	$(USPACE_PATH)/srv/volsrv/volsrv
+	bd/file_bd \
+	bd/sata_bd \
+	bd/vbd \
+	clipboard \
+	fs/tmpfs \
+	fs/fat \
+	fs/mfs \
+	fs/cdfs \
+	fs/exfat \
+	fs/udf \
+	fs/ext4fs \
+	hid/remcons \
+	hid/isdv4_tablet \
+	hid/rfb \
+	net/dhcp \
+	net/dnsrsrv \
+	net/ethip \
+	net/inetsrv \
+	net/loopip \
+	net/nconfsrv \
+	net/slip \
+	net/tcp \
+	net/udp \
+	taskmon \
+	test/chardev-test \
+	volsrv
 
 RD_DRVS_ESSENTIAL = \
Index: boot/arch/amd64/Makefile.inc
===================================================================
--- boot/arch/amd64/Makefile.inc	(revision 92864752b1dfddb2a35e0b2216820f6ed1dbeb0d)
+++ boot/arch/amd64/Makefile.inc	(revision 8fefd8b580bf28eb98fa4eda780105c9d6409cc7)
@@ -28,6 +28,6 @@
 
 RD_SRVS_ESSENTIAL += \
-	$(USPACE_PATH)/srv/audio/hound/hound \
-	$(USPACE_PATH)/srv/devman/devman
+	audio/hound \
+	devman
 
 RD_DRVS_ESSENTIAL += \
Index: boot/arch/arm32/Makefile.inc
===================================================================
--- boot/arch/arm32/Makefile.inc	(revision 92864752b1dfddb2a35e0b2216820f6ed1dbeb0d)
+++ boot/arch/arm32/Makefile.inc	(revision 8fefd8b580bf28eb98fa4eda780105c9d6409cc7)
@@ -61,6 +61,6 @@
 ifeq ($(MACHINE), gta02)
 	RD_SRVS_ESSENTIAL += \
-		$(USPACE_PATH)/srv/hid/s3c24xx_ts/s3c24xx_ts \
-		$(USPACE_PATH)/srv/hw/char/s3c24xx_uart/s3c24ser
+		hid/s3c24xx_ts \
+		hw/char/s3c24xx_uart
 endif
 
Index: boot/arch/ppc32/Makefile.inc
===================================================================
--- boot/arch/ppc32/Makefile.inc	(revision 92864752b1dfddb2a35e0b2216820f6ed1dbeb0d)
+++ boot/arch/ppc32/Makefile.inc	(revision 8fefd8b580bf28eb98fa4eda780105c9d6409cc7)
@@ -40,5 +40,5 @@
 
 RD_SRVS_ESSENTIAL += \
-	$(USPACE_PATH)/srv/hw/bus/cuda_adb/cuda_adb
+	hw/bus/cuda_adb
 
 RD_DRVS_ESSENTIAL += \
Index: uspace/app/init/init.c
===================================================================
--- uspace/app/init/init.c	(revision 92864752b1dfddb2a35e0b2216820f6ed1dbeb0d)
+++ uspace/app/init/init.c	(revision 8fefd8b580bf28eb98fa4eda780105c9d6409cc7)
@@ -60,8 +60,8 @@
 #define TMPFS_MOUNT_POINT  "/tmp"
 
-#define SRV_CONSOLE  "/srv/console"
+#define SRV_CONSOLE  "/srv/hid/console"
 #define APP_GETTERM  "/app/getterm"
 
-#define SRV_COMPOSITOR  "/srv/compositor"
+#define SRV_COMPOSITOR  "/srv/hid/compositor"
 
 #define HID_INPUT              "hid/input"
@@ -413,14 +413,14 @@
 	/* Make sure file systems are running. */
 	if (str_cmp(STRING(RDFMT), "tmpfs") != 0)
-		srv_start("/srv/tmpfs");
+		srv_start("/srv/fs/tmpfs");
 	if (str_cmp(STRING(RDFMT), "exfat") != 0)
-		srv_start("/srv/exfat");
+		srv_start("/srv/fs/exfat");
 	if (str_cmp(STRING(RDFMT), "fat") != 0)
-		srv_start("/srv/fat");
-	srv_start("/srv/cdfs");
-	srv_start("/srv/mfs");
+		srv_start("/srv/fs/fat");
+	srv_start("/srv/fs/cdfs");
+	srv_start("/srv/fs/mfs");
 
 	srv_start("/srv/klog");
-	srv_start("/srv/locfs");
+	srv_start("/srv/fs/locfs");
 	srv_start("/srv/taskmon");
 
@@ -433,25 +433,25 @@
 
 	srv_start("/srv/devman");
-	srv_start("/srv/s3c24xx_uart");
-	srv_start("/srv/s3c24xx_ts");
-
-	srv_start("/srv/vbd");
+	srv_start("/srv/hid/s3c24xx_uart");
+	srv_start("/srv/hid/s3c24xx_ts");
+
+	srv_start("/srv/bd/vbd");
 	srv_start("/srv/volsrv");
 
-	srv_start("/srv/loopip");
-	srv_start("/srv/ethip");
-	srv_start("/srv/inetsrv");
-	srv_start("/srv/tcp");
-	srv_start("/srv/udp");
-	srv_start("/srv/dnsrsrv");
-	srv_start("/srv/dhcp");
-	srv_start("/srv/nconfsrv");
+	srv_start("/srv/net/loopip");
+	srv_start("/srv/net/ethip");
+	srv_start("/srv/net/inetsrv");
+	srv_start("/srv/net/tcp");
+	srv_start("/srv/net/udp");
+	srv_start("/srv/net/dnsrsrv");
+	srv_start("/srv/net/dhcp");
+	srv_start("/srv/net/nconfsrv");
 
 	srv_start("/srv/clipboard");
-	srv_start("/srv/remcons");
-
-	srv_start("/srv/input", HID_INPUT);
-	srv_start("/srv/output", HID_OUTPUT);
-	srv_start("/srv/hound");
+	srv_start("/srv/hid/remcons");
+
+	srv_start("/srv/hid/input", HID_INPUT);
+	srv_start("/srv/hid/output", HID_OUTPUT);
+	srv_start("/srv/audio/hound");
 
 	init_sysvol();
Index: uspace/app/sysinst/rdimg.c
===================================================================
--- uspace/app/sysinst/rdimg.c	(revision 92864752b1dfddb2a35e0b2216820f6ed1dbeb0d)
+++ uspace/app/sysinst/rdimg.c	(revision 8fefd8b580bf28eb98fa4eda780105c9d6409cc7)
@@ -43,5 +43,5 @@
 #include "rdimg.h"
 
-#define FILE_BD "/srv/file_bd"
+#define FILE_BD "/srv/bd/file_bd"
 #define RD_SVC "bd/iird"
 #define RD_LABEL "HelenOS-rd"
Index: uspace/srv/hw/char/s3c24xx_uart/Makefile
===================================================================
--- uspace/srv/hw/char/s3c24xx_uart/Makefile	(revision 92864752b1dfddb2a35e0b2216820f6ed1dbeb0d)
+++ uspace/srv/hw/char/s3c24xx_uart/Makefile	(revision 8fefd8b580bf28eb98fa4eda780105c9d6409cc7)
@@ -30,6 +30,5 @@
 USPACE_PREFIX = ../../../..
 
-# Need to use short name because of FAT 8+3 limit
-BINARY = s3c24ser
+BINARY = s3c24xx_uart
 
 SOURCES = \
