SlideShare a Scribd company logo
Let's contribute!
Levente Kurusa
Presented by
Fedora Project Hungary
<levex@linux.com>
Licensed under CC-BY-SA
Linux Kernel
Topics
1. Quick introduction
2. Random configurations
3. Kernel testing
a. Stable kernels
b. RC kernels
4. Checkpatch patches
Quick introduction
Linux powers the world!
Servers! The cloud! Desktop? Maybe this year?
Open source contribution is always a big plus
when it comes to job search!
Linux is cool!
Why not?
Why?
86% say Linux advanced their career
93% of HR will recruit a Linux pro next year
75% already received a call this year!
Interesting projects!
Greater pay check! (+10% this year)
Some statistics
First steps
Fetch the Linux kernel source code
For random configurations: linux-next
http://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
For stable testing: linux-stable
http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
For Rcs, simply clone down Linus' tree
http://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Eudyptula Challenge
http://eudyptula-challenge.org/
Series of programming tasks
Hard, but fun!
Linux-next
The current state of the kernel
Merged together by Stephen Rothwell
An excellent opportunity to start
Default configurations are tested
Linux-stable
Collection of important patches to old
kernel release
Backports needed!
Maintained by Greg KH and others
Documentation/stable_kernel_rules.txt
Random
configurations
Randomized configurations of the kernel
Often have a lot of problems
GCC warnings
GCC errors
kconfig errors/warnings
They sometimes don't even boot
Extremely useful!
What are randconfigs?
$ make randconfig
Completely nonsense config!
Try to build it:
$ make -j`nproc`
Your first randconfig
Possible errors
Undeclared functions
Kconfig circular dependencies
Boot failure
Test in emulator!
Kernel
testing
Run the latest kernel
Quite easy!
$ make defconfig
$ make localmodconfig
$ make -j`nproc`
# make headers_install
# make install
# reboot
Actual testing
If you test linux-stable
... and things break: Report it!
... if nothing breaks: Break it!
(repeat)
If you test linux-next
... it's risky to try on your computer
Actual testing
I use my own tiny project.
LATTE – Linux Automatic Testing Tool for Expert
(https://github.com/levex/latte)
Emulators are great.
Benchmarks are also fun.
perf
perf
# perf list
# perf record <command>
# perf report
# perf stat -e <event>
Sending your
first patch
● Also known as: Checkpatch patches
Checkpatch?
scripts/checkpatch.pl
Checks for common errors in the patch
... and files with the --file switch
Not just coding style, but bugs as well!
Getting maintainers
scripts/get_maintainer.pl
Gives you a list of maintainers for that
particular patch or file
... or you can manually browse through
the MAINTAINERS file
Creating the patch
$ git reset --hard HEAD
[work...]
$ git diff
[review work...]
$ git commit -as
$ git format-patch -1
… and then the hardest part
Sending it
9 out of 10 will fail this step
git send-email
Thunderbird and such can do it as well, but
it's hard to configure them properly.
People on LKML are grumpy!
Don't be afraid to ask
RTFM
Summary
Any questions?
Licensed under CC-BY-SA
<levex@linux.com>
@ilevex
Contact:

More Related Content

PDF
NBIS RNA-seq course
PDF
Nextflow Camp 2019: nf-core tutorial (Updated Feb 2020)
PDF
XFLTReat: a new dimension in tunnelling
PPTX
Dock ir incident response in a containerized, immutable, continually deploy...
PPTX
4055-841_Project_ShailendraSadh
PDF
ELIXIR Proteomics Community - Connection with nf-core
PDF
Nextflow Camp 2019: nf-core tutorial
PDF
Tp install anything
NBIS RNA-seq course
Nextflow Camp 2019: nf-core tutorial (Updated Feb 2020)
XFLTReat: a new dimension in tunnelling
Dock ir incident response in a containerized, immutable, continually deploy...
4055-841_Project_ShailendraSadh
ELIXIR Proteomics Community - Connection with nf-core
Nextflow Camp 2019: nf-core tutorial
Tp install anything

What's hot (20)

ODP
U boot source clean up project how-to
PDF
Kernel Recipes 2016 - The kernel report
PDF
Comment Asciidoctor peut vous aider pour votre doc
PDF
Reproducible bioinformatics workflows with Nextflow and nf-core
PDF
DCSF 19 eBPF Superpowers
PDF
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
PDF
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s going
PPTX
Reproducible, Automated and Portable Computational and Data Science Experimen...
PDF
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis EN
PDF
[2014 CodeEngn Conference 10] 정광운 - 안드로이드에서도 한번 후킹을 해볼까 (Hooking on Android)
PDF
Os Selbak
PDF
kci-linuxcon
PDF
Kernel Recipes 2016 - Patches carved into stone tablets...
PDF
Puppet Camp Atlanta 2014: r10k Puppet Workflow
ODP
2017 DevSecCon ZAP Scripting Workshop
PPTX
PyCon TW 2018 - A Python Engineer Under Giant Umbrella (巨大保護傘下的 Python 碼農辛酸史)
PPT
Simple Bugs and Vulnerabilities in Linux Distributions
PDF
CI CD Basics
PDF
Justin collins - Practical Static Analysis for continuous application delivery
PPTX
Advanced windows debugging
U boot source clean up project how-to
Kernel Recipes 2016 - The kernel report
Comment Asciidoctor peut vous aider pour votre doc
Reproducible bioinformatics workflows with Nextflow and nf-core
DCSF 19 eBPF Superpowers
Puppet Camp Sydney 2015: Puppet and AWS is easy right.....?
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s going
Reproducible, Automated and Portable Computational and Data Science Experimen...
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis EN
[2014 CodeEngn Conference 10] 정광운 - 안드로이드에서도 한번 후킹을 해볼까 (Hooking on Android)
Os Selbak
kci-linuxcon
Kernel Recipes 2016 - Patches carved into stone tablets...
Puppet Camp Atlanta 2014: r10k Puppet Workflow
2017 DevSecCon ZAP Scripting Workshop
PyCon TW 2018 - A Python Engineer Under Giant Umbrella (巨大保護傘下的 Python 碼農辛酸史)
Simple Bugs and Vulnerabilities in Linux Distributions
CI CD Basics
Justin collins - Practical Static Analysis for continuous application delivery
Advanced windows debugging
Ad

Similar to Linux Kernel - Let's Contribute! (20)

PDF
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
PDF
NRPE - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core 4 and others.
PDF
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
PDF
Introduction to Linux Kernel Development
PDF
Kernel Recipes 2013 - Easy rootfs using Buildroot
PPT
Rhce ppt
PDF
Ceh v5 module 18 linux hacking
PDF
Intro to Kernel Debugging - Just make the crashing stop!
PDF
Tools That Help You Write Better Code - 2025 Princeton Software Engineering S...
PDF
Tools to help you write better code - Princeton Wintersession
PDF
Linux Server Deep Dives (DrupalCon Amsterdam)
PDF
eBPF — Divulging The Hidden Super Power.pdf
PDF
Software Quality Assurance Tooling - Wintersession 2024
PPTX
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
PDF
Hacking+linux+kernel
PDF
Linux Performance Analysis: New Tools and Old Secrets
PPTX
Kali kinux1
PDF
Comment améliorer le quotidien des Développeurs PHP ?
PDF
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
NRPE - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core 4 and others.
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Introduction to Linux Kernel Development
Kernel Recipes 2013 - Easy rootfs using Buildroot
Rhce ppt
Ceh v5 module 18 linux hacking
Intro to Kernel Debugging - Just make the crashing stop!
Tools That Help You Write Better Code - 2025 Princeton Software Engineering S...
Tools to help you write better code - Princeton Wintersession
Linux Server Deep Dives (DrupalCon Amsterdam)
eBPF — Divulging The Hidden Super Power.pdf
Software Quality Assurance Tooling - Wintersession 2024
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Hacking+linux+kernel
Linux Performance Analysis: New Tools and Old Secrets
Kali kinux1
Comment améliorer le quotidien des Développeurs PHP ?
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Ad

Recently uploaded (20)

DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
DOCX
573137875-Attendance-Management-System-original
PPT
Project quality management in manufacturing
PDF
737-MAX_SRG.pdf student reference guides
PPTX
Current and future trends in Computer Vision.pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
additive manufacturing of ss316l using mig welding
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
Artificial Intelligence
PDF
composite construction of structures.pdf
PPTX
Construction Project Organization Group 2.pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPT
Mechanical Engineering MATERIALS Selection
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Foundation to blockchain - A guide to Blockchain Tech
573137875-Attendance-Management-System-original
Project quality management in manufacturing
737-MAX_SRG.pdf student reference guides
Current and future trends in Computer Vision.pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Operating System & Kernel Study Guide-1 - converted.pdf
additive manufacturing of ss316l using mig welding
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
OOP with Java - Java Introduction (Basics)
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
Artificial Intelligence
composite construction of structures.pdf
Construction Project Organization Group 2.pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Mechanical Engineering MATERIALS Selection
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

Linux Kernel - Let's Contribute!