--- 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`