Index: meson/arch/amd64/meson.build
===================================================================
--- meson/arch/amd64/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ meson/arch/amd64/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -1,3 +1,4 @@
 #
+# Copyright (c) 2021 Jiri Svoboda
 # Copyright (c) 2019 Jiří Zárevúcky
 # All rights reserved.
@@ -49,5 +50,5 @@
 arch_uspace_link_args = [ '-Wl,-z,max-page-size=0x1000', '-nostdlib', '-lgcc' ]
 
-
+# Binaries to be included in a barebone build
 rd_essential += [
 	'app/edit',
@@ -56,5 +57,8 @@
 
 	'srv/audio/hound',
+]
 
+# Drivers to be included in a barebone build
+rd_essential_drv += [
 	'drv/intctl/apic',
 	'drv/intctl/i8259',
@@ -68,2 +72,39 @@
 	'drv/hid/xtkbd',
 ]
+
+# Drivers to be included in a regular build
+rd_drv += [
+	'drv/audio/hdaudio',
+	'drv/audio/sb16',
+	'drv/block/ahci',
+	'drv/block/ata_bd',
+	'drv/block/usbmast',
+	'drv/block/virtio-blk',
+	'drv/bus/isa',
+	'drv/bus/pci/pciintel',
+	'drv/bus/usb/ehci',
+	'drv/bus/usb/ohci',
+	'drv/bus/usb/uhci',
+	'drv/bus/usb/usbdiag',
+	'drv/bus/usb/usbflbk',
+	'drv/bus/usb/usbhub',
+	'drv/bus/usb/usbmid',
+	'drv/bus/usb/vhc',
+	'drv/bus/usb/xhci',
+	'drv/char/i8042',
+	'drv/char/ns8250',
+	'drv/char/pc-lpt',
+	'drv/hid/ps2mouse',
+	'drv/hid/xtkbd',
+	'drv/hid/usbhid',
+	'drv/intctl/apic',
+	'drv/intctl/i8259',
+	'drv/nic/ar9271',
+	'drv/nic/e1k',
+	'drv/nic/ne2k',
+	'drv/nic/rtl8139',
+	'drv/nic/rtl8169',
+	'drv/nic/virtio-net',
+	'drv/platform/pc',
+	'drv/time/cmos-rtc',
+]
Index: meson/arch/arm32/meson.build
===================================================================
--- meson/arch/arm32/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ meson/arch/arm32/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -1,3 +1,4 @@
 #
+# Copyright (c) 2021 Jiri Svoboda
 # Copyright (c) 2019 Jiří Zárevúcky
 # All rights reserved.
@@ -55,5 +56,5 @@
 
 
-rd_essential += [
+rd_essential_drv += [
 	'drv/bus/usb/ehci',
 	'drv/bus/usb/ohci',
@@ -73,5 +74,5 @@
 
 elif MACHINE == 'beagleboardxm' or MACHINE == 'beaglebone'
-	rd_essential += [
+	rd_essential_drv += [
 		'drv/platform/amdm37x',
 		'drv/fb/amdm37x_dispc',
@@ -79,5 +80,5 @@
 
 elif MACHINE == 'integratorcp'
-	rd_essential += [
+	rd_essential_drv += [
 		'drv/char/pl050',
 		'drv/hid/atkbd',
@@ -87,2 +88,4 @@
 	]
 endif
+
+rd_drv += rd_essential_drv
Index: meson/arch/arm64/meson.build
===================================================================
--- meson/arch/arm64/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ meson/arch/arm64/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -1,3 +1,4 @@
 #
+# Copyright (c) 2021 Jiri Svoboda
 # Copyright (c) 2015 Petr Pavlu
 # All rights reserved.
@@ -46,5 +47,5 @@
 
 if MACHINE == 'virt'
-	rd_essential += [
+	rd_essential_drv += [
 		'drv/char/pl011',
 		'drv/intctl/gicv2',
@@ -54,5 +55,5 @@
 
 if MACHINE == 'hikey960'
-	rd_essential += [
+	rd_essential_drv += [
 		'drv/char/pl011',
 		'drv/intctl/gicv2',
@@ -60,2 +61,4 @@
 	]
 endif
+
+rd_drv += rd_essential_drv
Index: meson/arch/ia32/meson.build
===================================================================
--- meson/arch/ia32/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ meson/arch/ia32/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -1,3 +1,4 @@
 #
+# Copyright (c) 2021 Jiri Svoboda
 # Copyright (c) 2019 Jiří Zárevúcky
 # All rights reserved.
@@ -56,5 +57,5 @@
 arch_uspace_link_args = [ '-nostdlib', '-lgcc' ]
 
-
+# Binaries to be included in a barebone build
 rd_essential += [
 	'app/edit',
@@ -63,5 +64,8 @@
 
 	'srv/audio/hound',
+]
 
+# Drivers to be included in a barebone build
+rd_essential_drv += [
 	'drv/intctl/apic',
 	'drv/intctl/i8259',
@@ -75,2 +79,39 @@
 	'drv/hid/xtkbd',
 ]
+
+# Drivers to be included in a regular build
+rd_drv += [
+	'drv/audio/hdaudio',
+	'drv/audio/sb16',
+	'drv/block/ahci',
+	'drv/block/ata_bd',
+	'drv/block/usbmast',
+	'drv/block/virtio-blk',
+	'drv/bus/isa',
+	'drv/bus/pci/pciintel',
+	'drv/bus/usb/ehci',
+	'drv/bus/usb/ohci',
+	'drv/bus/usb/uhci',
+	'drv/bus/usb/usbdiag',
+	'drv/bus/usb/usbflbk',
+	'drv/bus/usb/usbhub',
+	'drv/bus/usb/usbmid',
+	'drv/bus/usb/vhc',
+	'drv/bus/usb/xhci',
+	'drv/char/i8042',
+	'drv/char/ns8250',
+	'drv/char/pc-lpt',
+	'drv/hid/ps2mouse',
+	'drv/hid/xtkbd',
+	'drv/hid/usbhid',
+	'drv/intctl/apic',
+	'drv/intctl/i8259',
+	'drv/nic/ar9271',
+	'drv/nic/e1k',
+	'drv/nic/ne2k',
+	'drv/nic/rtl8139',
+	'drv/nic/rtl8169',
+	'drv/nic/virtio-net',
+	'drv/platform/pc',
+	'drv/time/cmos-rtc',
+]
Index: meson/arch/ia64/meson.build
===================================================================
--- meson/arch/ia64/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ meson/arch/ia64/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -1,3 +1,4 @@
 #
+# Copyright (c) 2021 Jiri Svoboda
 # Copyright (c) 2019 Jiří Zárevúcky
 # All rights reserved.
@@ -41,5 +42,5 @@
 
 if MACHINE == 'i460GX'
-	rd_essential += [
+	rd_essential_drv += [
 		'drv/platform/pc',
 		'drv/bus/pci/pciintel',
@@ -50,5 +51,5 @@
 
 elif MACHINE == 'ski'
-	rd_essential += [
+	rd_essential_drv += [
 		'drv/char/ski-con',
 		'drv/platform/ski',
@@ -56,2 +57,4 @@
 
 endif
+
+rd_drv += rd_essential_drv
Index: meson/arch/mips32/meson.build
===================================================================
--- meson/arch/mips32/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ meson/arch/mips32/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -1,3 +1,4 @@
 #
+# Copyright (c) 2021 Jiri Svoboda
 # Copyright (c) 2019 Jiří Zárevúcky
 # All rights reserved.
@@ -66,5 +67,5 @@
 
 if MACHINE == 'bmalta' or MACHINE == 'lmalta'
-	rd_essential += [
+	rd_essential_drv += [
 		'drv/platform/malta',
 		'drv/intctl/i8259',
@@ -79,5 +80,5 @@
 
 elif MACHINE == 'msim'
-	rd_essential += [
+	rd_essential_drv += [
 		'drv/platform/msim',
 		'drv/block/ddisk',
@@ -86,2 +87,4 @@
 
 endif
+
+rd_drv += rd_essential_drv
Index: meson/arch/ppc32/meson.build
===================================================================
--- meson/arch/ppc32/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ meson/arch/ppc32/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -1,3 +1,4 @@
 #
+# Copyright (c) 2021 Jiri Svoboda
 # Copyright (c) 2019 Jiří Zárevúcky
 # All rights reserved.
@@ -39,5 +40,5 @@
 
 
-rd_essential += [
+rd_essential_drv += [
 	'drv/platform/mac',
 	'drv/bus/adb/cuda_adb',
@@ -54,2 +55,4 @@
 	'drv/hid/usbhid',
 ]
+
+rd_drv += rd_essential_drv
Index: meson/arch/riscv64/meson.build
===================================================================
--- meson/arch/riscv64/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ meson/arch/riscv64/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -1,3 +1,4 @@
 #
+# Copyright (c) 2021 Jiri Svoboda
 # Copyright (c) 2019 Jiří Zárevúcky
 # All rights reserved.
@@ -36,2 +37,4 @@
 rd_essential += [
 ]
+
+rd_drv += rd_essential_drv
Index: meson/arch/sparc64/meson.build
===================================================================
--- meson/arch/sparc64/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ meson/arch/sparc64/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -1,3 +1,4 @@
 #
+# Copyright (c) 2021 Jiri Svoboda
 # Copyright (c) 2019 Jiří Zárevúcky
 # All rights reserved.
@@ -77,10 +78,10 @@
 
 if PROCESSOR == 'sun4v'
-	rd_essential += [
+	rd_essential_drv += [
 		'drv/platform/sun4v',
 		'drv/char/sun4v-con',
 	]
 else
-	rd_essential += [
+	rd_essential_drv += [
 		'drv/platform/sun4u',
 		'drv/bus/pci/pciintel',
@@ -90,2 +91,4 @@
 	]
 endif
+
+rd_drv += rd_essential_drv
Index: meson/part/initrd_manifest/meson.build
===================================================================
--- meson/part/initrd_manifest/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ meson/part/initrd_manifest/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -52,9 +52,13 @@
 	'srv/hid/output',
 	'srv/klog',
+]
 
+rd_essential_drv = [
 	'drv/root/root',
 	'drv/root/virt',
 	'drv/fb/kfb',
 ]
+
+rd_drv = rd_essential_drv
 
 if CONFIG_FB
Index: uspace/meson.build
===================================================================
--- uspace/meson.build	(revision c0436cb3c0f763909d9d2e695aa61903679ae70f)
+++ uspace/meson.build	(revision 581a54a616cde33e074a6a2e1641b98b682dbd7b)
@@ -58,4 +58,10 @@
 endforeach
 
+if CONFIG_BAREBONE
+	drv_list = rd_essential_drv
+else
+	drv_list = rd_drv
+endif
+
 foreach drv : drvs
 	_basename = run_command(basename, drv, check: true).stdout().strip()
@@ -68,5 +74,5 @@
 
 	# Install driver metadata.
-	if not CONFIG_BAREBONE or rd_essential.contains('drv' / drv)
+	if drv_list.contains('drv' / drv)
 		_src = meson.current_source_dir() / 'drv' / drv / _basename + '.ma'
 		_dstdir = 'drv' / _basename
@@ -93,5 +99,16 @@
 	installdir = appdirs.get('installdir')
 
-	install = not CONFIG_BAREBONE or rd_essential.contains(dir)
+	is_drv = (dir.split('/')[0] == 'drv')
+
+	if is_drv
+		# Drivers are installed based on rd_[essential_]drv list
+		install = drv_list.contains(dir)
+	else
+		#
+		# Servers and applications are installed all or
+		# based on rd_essential in case of barebone build
+		#
+		install = not CONFIG_BAREBONE or rd_essential.contains(dir)
+	endif
 
 	if install
@@ -129,5 +146,4 @@
 	# Binaries in the 'drv' subdirectory link libdrv by default.
 
-	is_drv = (dir.split('/')[0] == 'drv')
 
 	if is_drv
