Running webserver

Barrelfish webserver runs by fetching files over NFS share and serving them to users requesting the files. Currently it assumes that all files are in a flat directory without any subdirectories.

Modules needed

The webserver depends all the modules needed to get networking working (described bellow).

Using Networking in barrelfish

In order to use networking in Barrelfish, you will need following modules in your menu.lst:

module /x86_64/sbin/e1000n
module /x86_64/sbin/NGD_mng cardname=e1000
module /x86_64/sbin/netd cardname=e1000

The first line starts the e1000n driver. The next module NGD_mng provides services like port management, and the last module netd handles the background network traffic and provides services like ARP lookup. The netd service is also responsible for getting an IP address with DHCP server. In case you want to give a static IP address to the NIC interface then you can pass commandline parameters providing ip address, netmask, getway and DNS address to netd. Here is an example:

module /x86_64/sbin/netd cardname=e1000 do_dhcp=0 ip=192.168.2.11 nm=255.255.255.0 gw=192.168.2.1 dns=192.168.2.2

Once the system is up and running (system will print the IP address it received over DHCP) you should be able to ping the IP-address. If pings are working, then you have correctly configured network setup!