Instructions to build a router VM like this 1) Get a debian image 2) Put senxtore-read and xenstore-write in there. 2a) Fidget with debian packages to get the proper stuff in there 2b.1) apt-get install gcc libc6-dev make (keep track of installed dependencies for 2b.5) 2b.2) copy svnrepo/code/trunk/vm_xenstore into the image 2b.3) cd vm_xenstore/tools/xenstore 2b.4) make install 2b.5) apt-get remove gcc libc6-dev make (and dependencies) 2b.6) clean up files (like vm_xenstore) 3) Overwrite 3a) /etc/network/interfaces 3b) /etc/rc.local 3c) /etc/inittab 3d) /root/router-setup.sh with the files in the scripts/ subdirectory here 4) apt-get install iproute iptables dnsmasq 5) apt-get remove ssh openssh-server cron 6) Remove all services from /etc/rc2.d/that are not strictly necessary. 6a) e.g, keep only: S15dnsmasq S20makedev S99rc.local S99rmnologin S99stop-bootlogd 7) Fix /root/router-setup.sh internal vars to point to the appropriate xenstore-{read,write} binaries 8) Set up a non-trivial password 9) Poweroff the VM 10) Run ./dump-modules.sh. Takes two args, path to the VM image, and path to standard xen dom0 kernel build directory 11) The VM must be booted with the same standard xen kernel as dom0 ----------------- Contents of this directory necessary_modules: the kernel modules loaded at runtime by the script dump-modules.sh: a script to be run after you rebuild the dom0 kernel. It puts the freshly built modules needed by the router VM in its filesystem sync-scripts.sh: puts the scripts in scripts/ into the bzipped image old: the previous image (doesn't work with a COW disk!!) kickoff-test.sh: a script that simplifies testing of the router VM ----------------- The password of the router VM is routerbio