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

What's hot (20)

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

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

PDF
Hacking the Linux Kernel - An Introduction
Levente Kurusa
 
PDF
From Zero to Hero - Contribute to Linux Kernel in 15 Minutes
GlobalLogic Ukraine
 
PDF
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
GlobalLogic Ukraine
 
PDF
Introduction to Linux Kernel Development
Levente Kurusa
 
PDF
Manage custom kernel builds
Marian Marinov
 
PDF
Linux Presentation_SSD.pdf
ssuser37b0e0
 
PDF
Part 01 Linux Kernel Compilation (Ubuntu)
Tushar B Kute
 
PDF
Operating-Systems-Network-System-Lecture 2.pdf
nathanaelcheramlak
 
PPTX
Linux Survival Kit for Proof of Concept & Proof of Technology
Nugroho Gito
 
PDF
Kernel Configuration and Compilation
Bud Siddhisena
 
PDF
Linux Kernel Development Developers Library Robert Love
zandiliviaz4
 
PDF
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
Anne Nicolas
 
PDF
Linux advanced concepts - Part 1
NAILBITER
 
PDF
Programming Embedded linux
Liran Ben Haim
 
PDF
Linux Kernel Introduction
Sage Sharp
 
PDF
Linux for Beginners
Gobinath Loganathan
 
PDF
Compiling kernel.pdf Compiling kernel Compiling kernel
RaghuBR9
 
PDF
Recompile
navaleashwini26
 
PPT
Linux concept workshop
Tahmoures Shabanian
 
PDF
An Introduction To Linux
Ishan A B Ambanwela
 
Hacking the Linux Kernel - An Introduction
Levente Kurusa
 
From Zero to Hero - Contribute to Linux Kernel in 15 Minutes
GlobalLogic Ukraine
 
Embedded Webinar #13: "From Zero to Hero: contribute to Linux Kernel in 15 mi...
GlobalLogic Ukraine
 
Introduction to Linux Kernel Development
Levente Kurusa
 
Manage custom kernel builds
Marian Marinov
 
Linux Presentation_SSD.pdf
ssuser37b0e0
 
Part 01 Linux Kernel Compilation (Ubuntu)
Tushar B Kute
 
Operating-Systems-Network-System-Lecture 2.pdf
nathanaelcheramlak
 
Linux Survival Kit for Proof of Concept & Proof of Technology
Nugroho Gito
 
Kernel Configuration and Compilation
Bud Siddhisena
 
Linux Kernel Development Developers Library Robert Love
zandiliviaz4
 
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
Anne Nicolas
 
Linux advanced concepts - Part 1
NAILBITER
 
Programming Embedded linux
Liran Ben Haim
 
Linux Kernel Introduction
Sage Sharp
 
Linux for Beginners
Gobinath Loganathan
 
Compiling kernel.pdf Compiling kernel Compiling kernel
RaghuBR9
 
Recompile
navaleashwini26
 
Linux concept workshop
Tahmoures Shabanian
 
An Introduction To Linux
Ishan A B Ambanwela
 
Ad

Recently uploaded (20)

PDF
Air -Powered Car PPT by ER. SHRESTH SUDHIR KOKNE.pdf
SHRESTHKOKNE
 
PDF
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
PPTX
filteration _ pre.pptx 11111110001.pptx
awasthivaibhav825
 
PPTX
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
PDF
Biodegradable Plastics: Innovations and Market Potential (www.kiu.ac.ug)
publication11
 
PDF
Machine Learning All topics Covers In This Single Slides
AmritTiwari19
 
PDF
IEEE EMBC 2025 「Improving electrolaryngeal speech enhancement via a represent...
NU_I_TODALAB
 
PDF
Zero carbon Building Design Guidelines V4
BassemOsman1
 
PPTX
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
PDF
Zero Carbon Building Performance standard
BassemOsman1
 
PDF
Natural_Language_processing_Unit_I_notes.pdf
sanguleumeshit
 
PPTX
Information Retrieval and Extraction - Module 7
premSankar19
 
PPTX
Water resources Engineering GIS KRT.pptx
Krunal Thanki
 
PDF
SG1-ALM-MS-EL-30-0008 (00) MS - Isolators and disconnecting switches.pdf
djiceramil
 
PPT
IISM Presentation.ppt Construction safety
lovingrkn
 
PDF
勉強会資料_An Image is Worth More Than 16x16 Patches
NABLAS株式会社
 
PPTX
Online Cab Booking and Management System.pptx
diptipaneri80
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PPTX
MSME 4.0 Template idea hackathon pdf to understand
alaudeenaarish
 
PDF
STUDY OF NOVEL CHANNEL MATERIALS USING III-V COMPOUNDS WITH VARIOUS GATE DIEL...
ijoejnl
 
Air -Powered Car PPT by ER. SHRESTH SUDHIR KOKNE.pdf
SHRESTHKOKNE
 
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
filteration _ pre.pptx 11111110001.pptx
awasthivaibhav825
 
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
Biodegradable Plastics: Innovations and Market Potential (www.kiu.ac.ug)
publication11
 
Machine Learning All topics Covers In This Single Slides
AmritTiwari19
 
IEEE EMBC 2025 「Improving electrolaryngeal speech enhancement via a represent...
NU_I_TODALAB
 
Zero carbon Building Design Guidelines V4
BassemOsman1
 
22PCOAM21 Session 1 Data Management.pptx
Guru Nanak Technical Institutions
 
Zero Carbon Building Performance standard
BassemOsman1
 
Natural_Language_processing_Unit_I_notes.pdf
sanguleumeshit
 
Information Retrieval and Extraction - Module 7
premSankar19
 
Water resources Engineering GIS KRT.pptx
Krunal Thanki
 
SG1-ALM-MS-EL-30-0008 (00) MS - Isolators and disconnecting switches.pdf
djiceramil
 
IISM Presentation.ppt Construction safety
lovingrkn
 
勉強会資料_An Image is Worth More Than 16x16 Patches
NABLAS株式会社
 
Online Cab Booking and Management System.pptx
diptipaneri80
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
MSME 4.0 Template idea hackathon pdf to understand
alaudeenaarish
 
STUDY OF NOVEL CHANNEL MATERIALS USING III-V COMPOUNDS WITH VARIOUS GATE DIEL...
ijoejnl
 
Ad

Linux Kernel - Let's Contribute!