Skip to content
bgenidy edited this page Mar 4, 2015 · 14 revisions

The current directory tree looks like this:

  • rump
    • rumprun-posix (rr)
      • This is where the client-side of rump-kernels are. The programs located in this folder will be used to interact with rump_server (see below)
      • rr/src/ <- for rump-kernel platform
    • buildrump.sh (br)
      • Here is where the NetBSD source code is. The NetBSD code is mostly organized into "components", or heaps of code that act together to provide some critical piece of functionality ex: File systems or networking. These components are what make up a rump kernel; all code modifications should be within buildrump.sh on this NetBSD code. buildrump.sh is also where rump_server is located which is used to host your rump-kernerinos! rump_server loads up as many components as desired. However, some components have dependencies within other components. You can check our dependencies wiki sheet to know the dependencies of objects or use rump_wmd to check a component's dependencies. You can also use rump_allserver to load up all components, but this is not recommended.

      • br/src/ <- for BSD (note that within this directory you have a rump directory that contains all rump components which essentially just organize the netbsd code into their own separate components)

      • br/rumptools rumpmake <- for compiling (this has to be done from a relative path of the component you are trying to recompile)

      • br/rumptools rumpmake install <- installing into the rump component (after compilation (this also has to be done from a relative path of the component you are trying to recompile))

For basic bootstrapping please read Getting Started and Kernel Development provided by the rump-kernel wiki pages. For setting up your build environment, issue the following commands instructed in the Kernel Development:

For development, run:

$ git clone http://repo.rumpkernel.org/rumprun-posix rr
$ cd rr
$ ./buildnb.sh
$ make
$ cd ..
  • Notes: