Project 3 Discovering things about Linux Kernel CS502
Project 3 Discovering things about Linux Kernel CS-502, Operating Systems Fall 2007 Due, Monday, December 3, 2007 CS-502 Fall 2007 Project 4 -- Discovery 1
Three Options – Choose only One A. Port VMware Host-Guest File System (HGFS) into your Linux kernel source tree and make it work automatically. B. Figure out how to use KDB, the Kernel Debugger, and write set of instructions C. Determine whether Eclipse can be used as an integrated development environment of Linux kernel, and if so how to use it. CS-502 Fall 2007 Project 4 -- Discovery 2
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 CS-502 Fall 2007 Project 4 -- Discovery 3
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 CS-502 Fall 2007 Project 4 -- Discovery 4
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 CS-502 Fall 2007 Project 4 -- Discovery 5
Project of Previous Term • Summer 2007 students investigated why this happens • Project assignment is here: – (. doc, html). • Project reports at link written on board CS-502 Fall 2007 Project 4 -- Discovery 6
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 CS-502 Fall 2007 Project 4 -- Discovery 7
If successful • Submit a patch file with appropriate source code and changes to kernel tree • Write-up explaining your solution CS-502 Fall 2007 Project 4 -- Discovery 8
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 CS-502 Fall 2007 Project 4 -- Discovery 9
B. KDB, the Kernel Debugger • Supposedly an improvement over printk() • See Linux Kernel Development, 2 nd 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 CS-502 Fall 2007 Project 4 -- Discovery 10
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 CS-502 Fall 2007 Project 4 -- Discovery 11
C. 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. CS-502 Fall 2007 Project 4 -- Discovery 12
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 CS-502 Fall 2007 Project 4 -- Discovery 13
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 CS-502 Fall 2007 Project 4 -- Discovery 14
Project Submission • Due date – Monday, December 3, 2007 • I. e. , three weeks from today • Submit report and data output via webbased Turnin system http: //turnin. cs. wpi. edu: 8088/servlets/turnin. ss • This is Project 4 CS-502 Fall 2007 Project 4 -- Discovery 15
Questions? CS-502 Fall 2007 Project 4 -- Discovery 16
- Slides: 16