This is an old revision of the document!


Send your first patch to Linux kernel

Useful info:

First we will have to figure out which kernel tree you should use. Usually you will have to pick up the maintainer's tree for the subsystem your patch belongs to. When in doubt use linux-next.

We will try to find and fix a small issue in the staging/ driver directory. So we will use staging.git tree.

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git

Tools setup

git

# setup user name
git config --global user.name "Green Penguin"

# setup user email
$ git config --global user.email "your_email@example.com"

# setup default editor
$ git config --global core.editor vim

git send-email

$ sudo apt-get install git-email

# configure git-email, add this to your ~/.gitconfig
<code>

[sendemail]
	smtpEncryption = tls
	smtpServer = smtp.gmail.com
	smtpUser = yourname@gmail.com
	smtpServerPort = 587
</code>

==== Misc tools  ====

  * coccinelle

<code>
$ sudo apt-get install coccinelle </code>

  • sparse
$ sudo apt install sparse

Compilation

We can use defconfig for getting a smaller kernel image.

$ make defconfig
$ make 
$ make modules

Selecting a module for compilation

Use make menuconfig and in the GUI navigate to your module. For search we can use '/' as in vim.

Compiling a module

make path/file.o

Remember to always compile to code before submitting. Maintainers will get very angry if you break kernel.

so2/upstream.1487965385.txt.gz · Last modified: 2017/02/24 21:43 by daniel.baluta
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0