Assignment 2 SARAH DIESBURG CO5641
Assignment 2 Other tools exist to ease kernel development and debugging Pick a tool not already explained, set it up, and give a brief (10-15 minute) presentation ◦Powerpoint and/or demo
Assignment 2 Try to answer the following questions ◦What is the tool’s primary purpose? ◦How useful is this tool? ◦How easy to set up? Give a quick tutorial on basic usage ◦Link to references
Assignment 2 Goal ◦Expose everyone to useful tools before major coding begins ◦Have useful discussion about tools
Assignment 2 Clarification ◦You don’t have to know everything about your chosen tool ◦Give us a good idea If you have trouble setting up the tool… ◦Create a presentation instead of a demo to discuss tool ◦Cite your web sources ◦Explain what the troubles were
Assignment 2 Tool Choices Git ◦Open source distributed version control system ◦Initially developed by Linus Torvalds for Linux kernel development ◦Necessary tool ◦Can use departmental servers (e.g. shell, linprog) ◦
Assignment 2 Tool Choices gdb ◦Find line of code where kernel oopsed ◦ (bottom)
Assignment 2 Tool Choices kgdb ◦Used along with gdb to debug the Linux kernel ◦Requires two machines that are connected via a serial connection or virtual machine ◦Look at kernel hacking menu in “make menuconfig” ◦
Assignment 2 Tool Choices Eclipse ◦Full-featured IDE ◦ rcehttp://wiki.eclipse.org/HowTo_use_the_CDT_to_navigate_Linux_kernel_sou rce
Assignment 2 Tool Choices Doxygen ◦Graphical documentation system ◦View dependency graphs, classes, defines, and comments ◦Example: ◦
Assignment 2 Tool Choices Capturing kernel oops ◦Sometimes kernel oops are not recordable and scroll off the screen ◦General presentation to capture oops messages, can include ◦Making console font smaller – will not scroll off screen ◦Serial connection ◦Virtual machine with minicom ◦Remote logging ◦In-depth presentation of Magic SysRq ◦ Use this link to get started:
Assignment 2 Tool Choices LTTng ◦Linux Trace Toolkit – next generation ◦Uses tracing to debug the kernel ◦Records low-level events ◦Customizable ◦
Assignment 2 Tool Choices Local indexers cscope ◦Console-mode interface to search source code ◦ Alternatively, CCTree as a native Vim plugin ◦ etags/ctags ◦Generate tag files for emacs, vim ◦ ◦
Assignment 2 Tool Choices /proc files ◦These special files report status information from the kernel to user space. ◦(some examples) en-US/s1-proc-topfiles.htmlhttp:// en-US/s1-proc-topfiles.html
Assignment 2 Tool Choices A tool not mentioned here ◦Something you have seen in the kernel hacking menu? ◦ me or Bobby for approval