GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing wiki.netbsd.org — rumpkernel
NetBSD Wiki/
rumpkernel
Contents This page is about rump kernels in NetBSD and assumes the reader knows the basics of rump kernels. General information about rump kernels is available elsewhere. System securityFile system drivers are vulnerable to consistency errors in file system images, see e.g. here What this vulnerability means is that whenever an untrusted file system image is mounted using an in-kernel driver, system compromise should be expected. This untrusted images include for example ones on USB sticks. There are heavyweight workarounds for the problem, for example including virtual machines. NetBSD allows transparently mounting an untrusted file system image by
running the kernel driver in a rump kernel in userspace. The driver
is thus isolated and any damage that a malicious file system image
can directly cause is restricted to a userspace process. From a user
perspective, mounting with the Automated testingThe problems of automated kernel testing are documented for example in
The Design and Implementation of the Anykernel and Rump Kernels.
Rump kernels are used in the continuous tests run by the NetBSD project.
See Release Engineering Status Site for the results or the NetBSD source tree
under Kernel developmentOn the flipside of testing is kernel development. Rump kernels allow developing kernel drivers in a test-driven manner, including both unit tests and integration tests. Since the iteration time with a rump kernel is in the subsecond range, the development process is smoother than with a virtual machine. Also, the tests written during development can be entered into the automated tests (see above), and later used for further development. This method avoids "throw-away" tests that are hardcoded for one virtual machine environment and unusable in both automated testing and further development done in another environment. Source CodeYou can also browse the source code history online. Code is found from all areas of the source tree. Some examples of where to look include src/lib, src/usr.bin and src/sys/rump.
Last edited Monday afternoon, March 28th, 2022
Preferences | Logout
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |