<config>
	<parent-provides>
		<service name="ROM"/>
		<service name="PD"/>
		<service name="RM"/>
		<service name="CPU"/>
		<service name="LOG"/>
		<service name="Timer"/>
		<service name="File_system"/>
		<service name="Gui"/>
		<service name="Report"/>
	</parent-provides>

	<default-route> <any-service> <parent/> <any-child/> </any-service> </default-route>

	<default caps="100"/>

	<start name="gui_fb">
		<resource name="RAM" quantum="8M"/>
		<provides> <service name="Framebuffer"/> <service name="Input"/> </provides>
		<config xpos="10" ypos="10" initial_width="800" initial_height="600"/>
		<route>
			<service name="Gui"> <parent label="terminal"/> </service>
			<any-service> <parent/> </any-service>
		</route>
	</start>

	<start name="terminal">
		<resource name="RAM" quantum="4M"/>
		<provides> <service name="Terminal"/> </provides>
		<config copy="yes" paste="yes">
			<vfs> <dir name="fonts"> <fs/> </dir> </vfs>
		</config>
		<route>
			<service name="File_system"> <parent label="fonts"/> </service>
			<service name="Report" label="clipboard"> <parent label="clipboard"/> </service>
			<service name="ROM"    label="clipboard"> <parent label="clipboard"/> </service>
			<any-service> <parent/> <any-child/> </any-service>
		</route>
	</start>

	<start name="vfs" caps="150">
		<resource name="RAM" quantum="12M"/>
		<provides><service name="File_system"/></provides>
		<config>
			<vfs>
				<tar name="bash-minimal.tar" />
				<tar name="coreutils-minimal.tar" />
				<tar name="vim-minimal.tar" />
				<dir name="dev">
					<zero/> <null/> <terminal/>
					<dir name="pipe"> <pipe/> </dir>
					<inline name="rtc">2018-01-01 00:01</inline>
				</dir>
				<dir name="rw">     <fs label="target"/> </dir>
				<dir name="report"> <fs label="report"/> </dir>
				<dir name="config"> <fs label="config"/> </dir>
				<dir name="tmp"> <ram /> </dir>
				<dir name="share"> <dir name="vim">
					<rom name="vimrc" binary="no"/>
				</dir> </dir>
			</vfs>

			<policy label_prefix="vfs_rom" root="/"/>
			<default-policy root="/" writeable="yes"/>
		</config>
		<route>
			<service name="File_system" label="target"> <parent label="target"/> </service>
			<service name="File_system" label="config"> <parent label="config"/> </service>
			<service name="File_system" label="report"> <parent label="report"/> </service>
			<service name="ROM" label="vimrc"> <parent label="vimrc"/> </service>
			<service name="Terminal"> <child name="terminal"/> </service>
			<any-service> <parent/> </any-service>
		</route>
	</start>

	<start name="vfs_rom">
		<resource name="RAM" quantum="16M"/>
		<binary name="cached_fs_rom"/>
		<provides> <service name="ROM"/> </provides>
		<config/>
		<route>
			<service name="File_system"> <child name="vfs"/> </service>
			<any-service> <parent/> </any-service>
		</route>
	</start>

	<start name="/bin/bash" caps="450">
		<resource name="RAM" quantum="28M" />
		<exit propagate="yes"/>
		<config>
			<libc stdin="/dev/terminal" stdout="/dev/terminal"
			      stderr="/dev/terminal" rtc="/dev/rtc" pipe="/dev/pipe"/>
			<vfs> <fs/> </vfs>
			<arg value="bash"/>
			<env key="TERM" value="screen"/>
			<env key="PATH" value="/bin" />
			<env key="PS1"  value="system:$PWD> " />
		</config>
		<route>
			<service name="File_system"> <child name="vfs"/> </service>
			<service name="ROM" label_suffix=".lib.so"> <parent/> </service>
			<service name="ROM" label_last="/bin/bash"> <child name="vfs_rom"/> </service>
			<service name="ROM" label_prefix="/bin">    <child name="vfs_rom"/> </service>
			<any-service> <parent/> <any-child/> </any-service>
		</route>
	</start>

</config>
