# # Build # set build_components { core init drivers/timer drivers/pci drivers/nic server/nic_bridge server/ram_fs app/lighttpd test/lwip/http_clnt } build $build_components create_boot_directory # # Generate config # append config { <config> <parent-provides> <service name="ROM"/> <service name="RAM"/> <service name="IRQ"/> <service name="IO_MEM"/> <service name="IO_PORT"/> <service name="CAP"/> <service name="PD"/> <service name="RM"/> <service name="CPU"/> <service name="LOG"/> <service name="SIGNAL"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route>} append_if [have_spec pci] config { <start name="pci_drv"> <resource name="RAM" quantum="1M"/> <provides><service name="PCI"/></provides> </start>} append config { <start name="timer"> <resource name="RAM" quantum="1M"/> <provides><service name="Timer"/></provides> </start> <start name="nic_drv"> <resource name="RAM" quantum="2M"/> <provides><service name="Nic"/></provides> </start> <start name="nic_bridge"> <resource name="RAM" quantum="24M"/> <provides><service name="Nic"/></provides> <config> <policy label="lighttpd" ip_addr="10.0.2.55"/> </config> <route> <service name="Nic"> <child name="nic_drv"/> </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> <policy label="lighttpd" root="/" /> <content> <dir name="etc"> <dir name="lighttpd"> <inline name="lighttpd.conf"> # lighttpd configuration server.port = 80 server.document-root = "/website" server.event-handler = "select" server.network-backend = "write" index-file.names = ( "index.xhtml", "index.html", "index.htm" ) mimetype.assign = ( ".html" => "text/html", ".htm" => "text/html" ) </inline> </dir> </dir> <dir name="website"> <inline name="index.html"> <html> <head> <title>Hello</title> </head> <body> <p>Hello Genode!</p> <b>I am bold ;-)</b> </body> </html> </inline> </dir> </content> </config> </start> <start name="lighttpd"> <resource name="RAM" quantum="256M" /> <config> <libc ip_addr="10.0.2.55" netmask="255.255.255.0" gateway="10.0.2.1"/> <arg value="lighttpd" /> <arg value="-f" /> <arg value="/etc/lighttpd/lighttpd.conf" /> <arg value="-D" /> </config> <route> <service name="Nic"> <child name="nic_bridge"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start> <start name="test-http_clnt"> <resource name="RAM" quantum="32M"/> <route> <service name="Nic"> <child name="nic_bridge"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start> </config>} install_config $config # # Boot modules # # generic modules set boot_modules { core init timer nic_drv nic_bridge ld.lib.so libc.lib.so libc_log.lib.so lwip.lib.so test-http_clnt ram_fs libm.lib.so libc_fs.lib.so zlib.lib.so libcrypto.lib.so libssl.lib.so lighttpd } # platform-specific modules lappend_if [have_spec linux] boot_modules fb_sdl lappend_if [have_spec pci] boot_modules pci_drv lappend_if [have_spec ps2] boot_modules ps2_drv build_boot_image $boot_modules append qemu_args " -m 512 " append_if [have_spec x86] qemu_args " -net nic,model=pcnet " append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 " append qemu_args " -net user " run_genode_until forever