Project 4 -- DiscoveryCS-502 Fall Project 3 Discovering things about Linux Kernel CS-502, Operating Systems Fall 2007 Due, Monday, December 3, 2007
Project 4 -- DiscoveryCS-502 Fall 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.
Project 4 -- DiscoveryCS-502 Fall 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 -- DiscoveryCS-502 Fall 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 -- DiscoveryCS-502 Fall 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 -- DiscoveryCS-502 Fall Project of Previous Term Summer 2007 students investigated why this happens Project assignment is here:– (.doc, html)..dochtml Project reports at link written on board
Project 4 -- DiscoveryCS-502 Fall This Project Port HGFS into your Linux kernel source tree –Open source code at Make it compile automatically –Preferably under control of kernel config step Make it start automatically –/ etc/mnttab or equivalent
Project 4 -- DiscoveryCS-502 Fall If successful Submit a patch file with appropriate source code and changes to kernel tree Write-up explaining your solution
Project 4 -- DiscoveryCS-502 Fall 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 -- DiscoveryCS-502 Fall 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
Project 4 -- DiscoveryCS-502 Fall 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 -- DiscoveryCS-502 Fall 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.
Project 4 -- DiscoveryCS-502 Fall 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 -- DiscoveryCS-502 Fall 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 -- DiscoveryCS-502 Fall Project Submission Due date – Monday, December 3, 2007 I.e., three weeks from today Submit report and data output via web- based Turnin system This is Project 4
Project 4 -- DiscoveryCS-502 Fall Questions?