---
layout: post
tile: Linux kernel notes I
date: 2015-06-26
tags:
- linux
## Make sure to change these
published: true
sitemap: true
---
Notes and bookmarks I’ve gathered by doing the [Eyduptula
challenge](
http://eudyptula-challenge.org/)
Must read
---------
- [Linux Loadable Kernel Module
HOWTO](
http://tldp.org/HOWTO/Module-HOWTO/)
- [Linux Kernel Newbies -
KernelBuild](
http://kernelnewbies.org/KernelBuild)
- Documentation/SubmittingPatches in the Linux source tree
- Documentation/CodingStyle
- Documentation/email-clients.txt
Grab yourself a copy of the mainline kernel repository
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Build steps
-----------
*.config* CONFIG\_LOCALVERSION\_AUTO=y
make localmodconfig
make silentoldconfig
make menuconfig
make -j4 all
make modules_install
make install
Make a patch
------------
SRCTREE= linux
MYFILE= drivers/net/mydriver.c
cp $MYFILE $MYFILE.orig
vi $MYFILE # make your change
cd ..
diff -up $SRCTREE/$MYFILE{.orig,} > /tmp/patch
Multiple files
MYSRC= /dev/linux
tar xvzf linux-3.19.tar.gz
mv linux-3.19 linux-3.19-vanilla
diff -uprN linux-3.19-vanilla/Documentation/dontdiff \
linux-3.19-vanilla $MYSRC > /tmp/patch
Check your patches with the patch style checker `scripts/checkpatch.pl`