Appendix A. Helpful Utilities
Retrieving, building, updating, and maintaining a Linux kernel source tree involves a lot of different steps, as this book has shown. Developers being naturally lazy creatures, they have created some programs to help with the various routine tasks. Here we describe a few of these useful tools and the basics on how to use them.
Linux kernel development differs in many ways from traditional software development. Some of the special demands on kernel programmers include:
Constantly applying your changes to the moving target of a fast-based kernel development release schedule.
Resolving any merge conflicts between changes you have made and changes made by other people.
Exporting your changes in a format that lets others incorporate and work with it easily.
patch and diff [16]
One of the most common methods of doing kernel work is to use the patch and diff programs. To use these tools, two different directory trees: a "clean" one and a "working" one must be used. The clean tree is a released kernel version, while the working one is based on the same version but contains your modifications. Then you can use patch and diff to extract your changes and port them forward to a new kernel release.
For an example, create two directories containing the latest kernel version as described in Chapter 3:
$tar -zxf linux-2.6.19.tar.gz$mv linux-2.6.19 linux-2.6.19-dirty$tar -zxf linux-2.6.19.tar.gz$lslinux-2.6.19/ linux-2.6.19-dirty/
Now make all of the different changes ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access