# # \brief Test for the Noux terminal file system # \author Christian Prochaska # \date 2012-06-11 # # # The test shows two framebuffer terminals. The upper terminal runs an # interactive shell and the lower terminal can be accessed from the shell via # /dev/terminal. # # Example for writing to the lower terminal: echo "test" > /dev/terminal # Example for reading a line from the lower terminal: head -n 1 /dev/terminal # create_boot_directory import_from_depot genodelabs/src/[base_src] \ genodelabs/pkg/[drivers_interactive_pkg] \ genodelabs/pkg/terminal \ genodelabs/src/init \ genodelabs/src/nitpicker \ genodelabs/src/nit_fb \ genodelabs/src/libc \ genodelabs/src/noux \ genodelabs/src/posix \ genodelabs/src/ncurses \ genodelabs/src/bash \ genodelabs/src/coreutils \ genodelabs/src/ram_fs install_config { <config verbose="yes"> <parent-provides> <service name="ROM"/> <service name="LOG"/> <service name="RM"/> <service name="CPU"/> <service name="PD"/> <service name="IRQ"/> <service name="IO_PORT"/> <service name="IO_MEM"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route> <default caps="100"/> <start name="timer"> <resource name="RAM" quantum="1M"/> <provides><service name="Timer"/></provides> </start> <start name="drivers" caps="1000"> <resource name="RAM" quantum="32M" constrain_phys="yes"/> <binary name="init"/> <route> <service name="ROM" label="config"> <parent label="drivers.config"/> </service> <service name="Timer"> <child name="timer"/> </service> <any-service> <parent/> </any-service> </route> <provides> <service name="Input"/> <service name="Framebuffer"/> </provides> </start> <start name="nitpicker"> <resource name="RAM" quantum="2M"/> <provides><service name="Nitpicker"/></provides> <config> <domain name="pointer" layer="1" content="client" label="no" origin="pointer" /> <domain name="default" layer="2" content="client" focus="click" /> <policy label_prefix="pointer" domain="pointer"/> <default-policy domain="default"/> </config> <route> <service name="Input"> <child name="drivers"/> </service> <service name="Framebuffer"><child name="drivers"/> </service> <any-service><parent/><any-child/></any-service> </route> </start> <start name="pointer"> <resource name="RAM" quantum="1M"/> </start> <start name="terminal_noux_fb"> <binary name="nit_fb"/> <resource name="RAM" quantum="2M"/> <provides> <service name="Framebuffer"/> <service name="Input"/> </provides> <config xpos="0" ypos="0" width="1024" height="380" refresh_rate="25"/> </start> <start name="terminal_test_fb"> <binary name="nit_fb"/> <resource name="RAM" quantum="2M"/> <provides> <service name="Framebuffer"/> <service name="Input"/> </provides> <config xpos="0" ypos="388" width="1024" height="380" refresh_rate="25"/> </start> <start name="terminal_noux"> <binary name="terminal"/> <resource name="RAM" quantum="2M"/> <provides><service name="Terminal"/></provides> <route> <service name="ROM" label="config"> <parent label="terminal.config"/> </service> <service name="Input"><child name="terminal_noux_fb"/></service> <service name="Framebuffer"><child name="terminal_noux_fb"/> </service> <any-service><parent/><any-child/></any-service> </route> </start> <start name="terminal_test"> <binary name="terminal"/> <resource name="RAM" quantum="2M"/> <provides><service name="Terminal"/></provides> <route> <service name="ROM" label="config"> <parent label="terminal.config"/> </service> <service name="Input"><child name="terminal_test_fb"/></service> <service name="Framebuffer"><child name="terminal_test_fb"/> </service> <any-service><parent/><any-child/></any-service> </route> </start> <start name="ram_fs"> <resource name="RAM" quantum="10M"/> <provides><service name="File_system"/></provides> <config> <!-- constrain sessions according to their labels --> <policy label="noux -> root" root="/" /> </config> </start> <start name="noux" caps="300"> <resource name="RAM" quantum="1G" /> <route> <service name="Terminal" label=""> <child name="terminal_noux"/> </service> <service name="Terminal" label="terminal_fs"> <child name="terminal_test"/> </service> <any-service><parent/><any-child/></any-service> </route> <config> <fstab> <tar name="coreutils.tar" /> <tar name="bash.tar" /> <dir name="ram"> <fs label="root" /> </dir> <dir name="dev"> <terminal name="terminal" label="terminal_fs" /> </dir> </fstab> <start name="/bin/bash"> <env name="TERM" value="screen" /> </start> </config> </start> </config> } build_boot_image { } run_genode_until forever