160 likes | 299 Views
This project investigates various aspects of Linux kernel integration and debugging techniques. Students can choose among three tasks: porting VMware's Host-Guest File System (HGFS) into the Linux kernel, exploring the Kernel Debugger (KDB) and documenting its usage, or integrating Eclipse as an IDE for Linux kernel development. The project emphasizes learning over completion, encouraging exploration, reporting findings, and providing guidance for future students. Collaborative work is encouraged, and the final report is due on December 3, 2007.
E N D
Project 3Discovering things about Linux Kernel CS-502, Operating SystemsFall 2007 Due, Monday, December 3, 2007 Project 4 -- Discovery
Three Options – Choose only One • Port VMware Host-Guest File System (HGFS) into your Linux kernel source tree and make it work automatically. • Figure out how to use KDB, the Kernel Debugger, and write set of instructions • Determine whether Eclipse can be used as an integrated development environment of Linux kernel, and if so how to use it. Project 4 -- Discovery
Discovery Project • There are no right answers • In some cases, no answers at all! • There is no guarantee that you will be able to complete the project within reasonable time available • Project grade depends upon how much you learn, how you learn & report • Not necessarily on what you complete Project 4 -- Discovery
A. Host-Guest File System (HGFS) • Basis for shared folders between virtual machine and host machine • Part of VMware Tools • Previously installed on your virtual machines • “Plugs into” the Linux Virtual File System • See /mnt/hgfs/… • Very useful Project 4 -- Discovery
HGFS – Problem • When a new kernel is installed and booted, HGFS stops working • Along with other VMware Tools • When old kernel is rebooted, HGFS does not start working again • Reason:– VMware Tools are installed and configured after kernel is built • /usr/bin/vmware-config-tools.pl • Check at boot time for correct kernel header files • Tools disabled if incorrect Project 4 -- Discovery
Project of Previous Term • Summer 2007 students investigated why this happens • Project assignment is here:– (.doc, html). • Project reports at link written on board Project 4 -- Discovery
This Project • Port HGFS into your Linux kernel source tree • Open source code at • http://www.vmware.com/resources/opensource/projects.html • http://open-vm-tools.sourceforge.net/ • Make it compile automatically • Preferably under control of kernel config step • Make it start automatically • /etc/mnttab or equivalent Project 4 -- Discovery
If successful • Submit a patch file with appropriate source code and changes to kernel tree • Write-up explaining your solution Project 4 -- Discovery
If unable to complete • Do as much as you can • Learn as much as you can • Report on what you learned • Create a brief project plan for the next student who undertakes this project Project 4 -- Discovery
KDB, the Kernel Debugger • Supposedly an improvement over printk() • See Linux Kernel Development, 2nd ed., Chapter 18 • Figure out how to use kdb for debugging the Linux kernel • Either one VM or two (your choice) • Write a set of instructions for other students Project 4 -- Discovery
If unable to complete • Do as much as you can • Learn as much as you can • Report on what you learned • Create a brief project plan for the next student who undertakes this project • Must build upon your work Project 4 -- Discovery
Eclipse for Linux kernel source • Eclipse, a popular Integrated Development Environment • Already installed on your VM desktop • Includes C/C++ Development package • Useful for automating build steps, finding files, code, definitions, declarations, etc. Project 4 -- Discovery
This Project • Goal – to put Linux kernel source tree under Eclipse management. • Figure out whether this is possible • If so, what has to be done • If not, explain why • Report • If so, instructions on how to do it (possibly including a patch file) • If not, in-depth report of difficulties & incompatibilities Project 4 -- Discovery
Collaboration • You may collaborate with each other in • Research on-line • Experimenting with kernel • Studying kernel code • Etc. • You may consult with anyone you wish on this project • Identify such people from outside of class in your report • You must write your own report in your own words • 3-5 pages plus any data output from experiments Project 4 -- Discovery
Project Submission • Due date – Monday, December 3, 2007 • I.e., three weeks from today • Submit report and data output via web-based Turnin system http://turnin.cs.wpi.edu:8088/servlets/turnin.ss • This is Project 4 Project 4 -- Discovery
Questions? Project 4 -- Discovery