diff --git a/ports/run/genode_org.run b/ports/run/genode_org.run new file mode 100644 index 000000000..44490b87a --- /dev/null +++ b/ports/run/genode_org.run @@ -0,0 +1,145 @@ +# +# \brief Example for hosting the genode.org website on Genode +# \author Norman Feske +# \date 2012-08-16 +# +# This run script combines the lighttpd web server with the tar_fs file system +# to host the genode.org website. When executed the first time, the genode.org +# website is downloaded to 'bin/genode_org/website'. When the web server is up, +# you may point your web browser to http://localhost:5555 +# + +set build_components { + core init + drivers/pci + drivers/nic + drivers/timer + server/tar_fs + app/lighttpd +} + +build $build_components + +create_boot_directory + +append config { + + + + + + + + + + + + + + + + + + + + + } + +append_if [have_spec pci] config { + + + + } + +append config { + + + + + + + + + + + + + + + + + + + + + } + +append config { +} + +install_config $config + +# +# Create TAR archive containting the web-server configuration and the +# website content. +# + +# lighttpd configuration +exec mkdir -p bin/genode_org/etc/lighttpd +set fd [open "bin/genode_org/etc/lighttpd/lighttpd.conf" w] +puts $fd { +server.port = 80 +server.document-root = "/website" +server.event-handler = "select" +server.network-backend = "write" +server.max-keep-alive-requests = 0 +index-file.names = ( "index", "index.html", "index.htm" ) +mimetype.assign = ( + ".png" => "image/png", + ".jpg" => "image/jpeg", + ".jpeg" => "image/jpeg", + ".gif" => "image/gif", + ".css" => "text/css", + ".html" => "text/html", + ".htm" => "text/html", + "" => "text/html", + ) } +close $fd + +# mirror of genode.org website +if {![file exists bin/genode_org/website/index]} { + puts "mirroring genode.org website to bin/genode_org/website..." + exec mkdir -p bin/genode_org/website + + # ignore wget errors + catch { + exec wget -nH -Lrc -P bin/genode_org/website http://genode.org + } +} + +exec tar cfv bin/genode_org.tar -h -C bin/genode_org . + +# +# Boot modules +# + +# generic modules +set boot_modules { + core init timer ld.lib.so nic_drv tar_fs + libc.lib.so libm.lib.so libc_fs.lib.so libc_log.lib.so + lwip.lib.so zlib.lib.so libcrypto.lib.so libssl.lib.so + lighttpd genode_org.tar +} + +# platform-specific modules +lappend_if [have_spec pci] boot_modules pci_drv + +build_boot_image $boot_modules + +append_if [have_spec x86] qemu_args " -net nic,model=e1000 " +append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 " + +append qemu_args " -net user -redir tcp:5555::80 " +append qemu_args " -nographic -serial mon:stdio " + +run_genode_until forever