There are a number of things you need to do to establish the environment in which you can build and test the KUSP Kernel and the KUSP user software. Most KUSP development is done at ITTC, but much of this is applicable even if you are not working on KUSP at ITTC, but instead developing and testing KUSP on your own machines.
Talk to Dr. Niehaus to learn how to get access to the ITTC account creation interface:
- Fill out the forms as indicated
- Return the print out to Dr. Niehaus for signature
- Remember that your ssh account must have a different password than your ittc account.
To test KUSP kernels and software, you will need a target machine on which disasters can occur without unfortunate consequences and on which experiments can be conducted without outside interference. To install software and conduct all necessary tests you will need to be super-user on that machine. For security reasons ITTC uses the sudo command to give you access as superuser for specific operations that you may need to perform. Understandably ITTC restricts this to specific testbed machines on a separate network rather than any randomly selected ITTC workstation. For this reason you will need to check out an ITTC testbed machine or have a personal machine on which you have superuser permissions available.
- If you do not already have a testbed check-out account, you will be prompted to make one.
- If you are an EECS student doing this as part of a class, this step may be completed for you. If so, you will be notified via email which testbeds have been checked out for you.
Note that the project originally started as KU-Real Time Linux, and was thus called KURT-Linux. However, since then its scope has significantly broadened, and we now call the project Kernel and User System Programming (KUSP). The original capabilities of KURT-Linux and its associated programming models are now configuration choices under KUSP. However, we have not changed the names of the Linux group or the project directories, which are still called kurt, as it would be boring and does not seem all that important.
The KUSP software is under SVN control and in a repository that is publicly accessible. Anonymous checkout is available, but ensuring that your ITTC account has write permission to this source control database will be usually convenient for at lest the following reasons:
This is a reasonably powerful dual CPU machine upon which we commonly build kernels and the KUSP software using local disks to avoid NFS access overhead incurred when build in /projects/kurt. It is important to note that this work area is not backed up and therefore it is important for you to regularly commit any editing done on Yggdrasil to the SVN database.
Please contact Dr. Niehaus about Wiki editing access. We encourage and/or plead with all those involved to help improve the quality of the system by helping to improve our Viki’s and other documentation sets. Note that the Wiki’s are being/have been reduced in size and scope in favor of documentation prepared using Sphinx, which can generate both HTML and PDF document forms from the same root markup language. The publicly post documentation is at KUSP WWW Home and the source is in the “kusp_docs” directory sibling to the kernel and other KUSP subsystems in the Subversion repository.
The KUSP software is divided into two major sections: the KUSP Kernel and the KUSP Software. The KUSP Software is divided into several sub-trees, including: kusp-base, datastreams, group scheduling, and experiments. The current organization of the source tree is somewhat more a result of its history and less a result of conscious organizational decisions than is desirable. However, it is still not too hard to find things you need, and we will be working to make at least modest improvements in the directory structure in the near future.
Now that the environment in which you can work has been established, you can:
After you have built the kernel, booted it successfully, and built the KUSP software, you are ready to start learning to use it. You should begin by working through the tutorials designed to illustrate basic system capabilites and how to use them.
These WWW pages will lead you through these steps. All you have to do to proceed to the next step is use the “next” link at the top or bottom of this page.