28.08.2015 Views

The Design and Implementation of the Anykernel and Rump Kernels

1F3KDce

1F3KDce

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

B–27<br />

# This script starts a rump kernel with NFS serving capability,<br />

# configures a network interface <strong>and</strong> starts hijacked binaries<br />

# which are necessary to serve NFS (rpcbind, mountd, nfsd).<br />

#<br />

# directory used for all temporary stuff<br />

NFSX=/tmp/nfsx<br />

# no need to edit below this line<br />

haltserv()<br />

{<br />

RUMP_SERVER=unix://${NFSX}/nfsserv rump.halt 2> /dev/null<br />

RUMP_SERVER=unix://${NFSX}/nfscli rump.halt 2> /dev/null<br />

}<br />

die()<br />

{<br />

}<br />

haltserv<br />

echo $*<br />

exit 1<br />

# start from a fresh table<br />

haltserv<br />

rm -rf ${NFSX}<br />

mkdir ${NFSX} || die cannot mkdir ${NFSX}<br />

# create ffs file system we’ll be exporting<br />

newfs -F -s 10000 ${NFSX}/ffs.img > /dev/null || die could not create ffs<br />

# start nfs kernel server. this is a mouthful<br />

export RUMP_SERVER=unix://${NFSX}/nfsserv<br />

rump_server -lrumpvfs -lrumpdev -lrumpnet \<br />

-lrumpnet_net -lrumpnet_netinet -lrumpnet_local -lrumpnet_shmif \<br />

-lrumpdev_disk -lrumpfs_ffs -lrumpfs_nfs -lrumpfs_nfsserver \

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!