SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Linux Kernel – Hogyan csapjunk bele?
Előadja:
Kurusa Levente <levex@linux.com>
Embedded Software Engineer
JW Technologies, AG.
Ki vagyok én?
➢
19 éves számítógép őrült
➢
2014 (& 2015) nyári gyakornok a Red Hat-nél
➢
Fedora nagykövet
➢
Kernelfejlesztő
➢
Upstream & Downstream
➢
... bár igazából bármi ami 'low-level'
➢
AOSP fejlesztő
Tematika
➢
Gyors bevezetés
➢
Véletlenszerű konfiguráció
➢
Patchelés!
Miért pont a kernel?
➢
A Linux a világ mozgató rugója
➢
Szerverek! A felhő! A Desktop? Talán 2015-ben
➢
A kernel segít megérteni az alkalmazások
működését
➢
Érdekes, eredeti kihívások
Kifogások
➢
Mítosz:
“A kernelfejlesztés nehéz”
➢
Tény:
A Linux Kernel ma már majdnem teljes libc-t
tartalmaz
Kifogások
➢
Mítosz:
“Nehéz a hibakeresés”
➢
Tény:
GDB elérhető (!!!)
Netconsole, serial port
OOPS, BUG, stack-trace, etc.
Kifogások
➢
Mítosz:
“Veszélyes a hardware-re nézve”
➢
Tény:
A Linux kernel “fool-proof”
Kifogások
➢
Mítosz:
“Nem mondható befogadónak a közösség”
➢
Tény:
“Nem mondható befogadónak a közösség”
Első lépések
➢
A Linux kernel forráskódjának letöltése
➢
Szükséges a Git
➢
linux-next:
➢
http://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
➢
linux-stable:
http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
➢
Linus' tree
http://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Eudyptula Challenge
➢
http://eudyptula-challenge.org/
➢
Programozási feladatok sora
➢
Nehéz, de szórakoztató
linux-next
➢
State of Art kernel
➢
Stephen Rothwell fűzi össze
➢
Kiváló kiinduló pont
➢
Alapvető konfigurációk tesztelve
linux-stable
➢
Új patch-ek gyűjteménye régi kernelekhez
➢
Backport-ok kellenek!
➢
Greg KH & Co. tartja karban
➢
Documentation/stable_kernel_rules.txt
Véletlenszerű konfigurációk
Mik is ők?
➢
Véletlenszerű kernel konfiguráció
➢
Sok probléma van velük
➢
GCC figyelmeztetéses és hibák
➢
kconfig hibák és figyelmeztetések
➢
Néha (többnyire) nem is bootolnak
➢
Nagyon hasznos segítség!
Az első randconfig
$ make randconfig
➢
Semmi értelme nincs a konfigurációnak
➢
Próbáljuk meg lefordítattni:
make -j4 make -j`nproc`
Lehetséges hibák
➢
Undeclared functions
➢
Cirkuláris függőségek
➢
Bootolási hibák
➢
Emulátor!
Az első patch
checkpatch
➢
scripts/checkpatch.pl
➢
Gyakori hibák észlelése a patch küldése előtt
(és fájlokat is...)
➢
Nem csak Coding Style hibákat keres (és talál)
drivers/staging
➢
Kezdetleges állapotú driver-ek
➢
TODO fájl
➢
checkpatch itt megengedett
... máshol inkább ne
A patchelés menete
$ git checkout -b open-academy
$ git reset --hard HEAD
[ munka... ]
$ git diff
[ review ]
$ git commit --signoff --all
$ git format-patch -1
... és most jön a legnehezebb dolog:
Elküldés
➢
90%-nak nem fog sikerülni
$ git send-email <patch-file>
➢
Thunderbird is lehetséges, de nehézkes
Maintainer keresés
➢
scripts/get_maintainer.pl
➢
A patch-hez elkészíti a maintainer listát
➢
MAINTAINERS fájl
Köszönöm a figyelmet!
Kurusa Levente
Email: <levex@linux.com> / <levex@fedoraproject.org>
Twitter: @ilevex
Google+: +LeventeKurusa
Blog: http://ilevex.eu/

Contenu connexe

En vedette

Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Daniel Bryant
 
10 tips to become an awesome Technical Lead v2 (Devoxx PL)
10 tips to become an awesome Technical Lead v2 (Devoxx PL)10 tips to become an awesome Technical Lead v2 (Devoxx PL)
10 tips to become an awesome Technical Lead v2 (Devoxx PL)Bart Blommaerts
 
Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Abdelrahman Omran
 
Swift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvérőlSwift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvérőlBalaBit
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and YouBalaBit
 
Big Data Science - hype?
Big Data Science - hype?Big Data Science - hype?
Big Data Science - hype?BalaBit
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 

En vedette (8)

Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
 
10 tips to become an awesome Technical Lead v2 (Devoxx PL)
10 tips to become an awesome Technical Lead v2 (Devoxx PL)10 tips to become an awesome Technical Lead v2 (Devoxx PL)
10 tips to become an awesome Technical Lead v2 (Devoxx PL)
 
Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016
 
CDI 2.0 is upon us Devoxx
CDI 2.0 is upon us DevoxxCDI 2.0 is upon us Devoxx
CDI 2.0 is upon us Devoxx
 
Swift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvérőlSwift -Helyzetjelentés az iOS programozás új nyelvéről
Swift -Helyzetjelentés az iOS programozás új nyelvéről
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
Big Data Science - hype?
Big Data Science - hype?Big Data Science - hype?
Big Data Science - hype?
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 

Similaire à Linux Kernel – Hogyan csapjunk bele?

BlackBerry10 alapú natív alkalmazásfejlesztés
BlackBerry10 alapú natív alkalmazásfejlesztésBlackBerry10 alapú natív alkalmazásfejlesztés
BlackBerry10 alapú natív alkalmazásfejlesztésOpen Academy
 
Nyílt forráskód a Fővárosi Bíróságon
Nyílt forráskód a Fővárosi BíróságonNyílt forráskód a Fővárosi Bíróságon
Nyílt forráskód a Fővárosi BíróságonNorbert Laky
 
Klaszter és virtualizációs technikák
Klaszter és virtualizációs technikákKlaszter és virtualizációs technikák
Klaszter és virtualizációs technikákFerenc Szalai
 
CoLinux - avagy két dudás egy csárdában
CoLinux - avagy két dudás egy csárdábanCoLinux - avagy két dudás egy csárdában
CoLinux - avagy két dudás egy csárdábanFerenc Szalai
 
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokonVirtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokonFerenc Szalai
 
Openstack 101 Devstack Hungary
Openstack 101 Devstack HungaryOpenstack 101 Devstack Hungary
Openstack 101 Devstack HungaryMarton Kiss
 

Similaire à Linux Kernel – Hogyan csapjunk bele? (8)

BlackBerry10 alapú natív alkalmazásfejlesztés
BlackBerry10 alapú natív alkalmazásfejlesztésBlackBerry10 alapú natív alkalmazásfejlesztés
BlackBerry10 alapú natív alkalmazásfejlesztés
 
Nyílt forráskód a Fővárosi Bíróságon
Nyílt forráskód a Fővárosi BíróságonNyílt forráskód a Fővárosi Bíróságon
Nyílt forráskód a Fővárosi Bíróságon
 
Klaszter és virtualizációs technikák
Klaszter és virtualizációs technikákKlaszter és virtualizációs technikák
Klaszter és virtualizációs technikák
 
CoLinux - avagy két dudás egy csárdában
CoLinux - avagy két dudás egy csárdábanCoLinux - avagy két dudás egy csárdában
CoLinux - avagy két dudás egy csárdában
 
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokonVirtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
 
Sles admin
Sles adminSles admin
Sles admin
 
Openstack 101 Devstack Hungary
Openstack 101 Devstack HungaryOpenstack 101 Devstack Hungary
Openstack 101 Devstack Hungary
 
A Firefox-on túl is Mozilla
A Firefox-on túl is MozillaA Firefox-on túl is Mozilla
A Firefox-on túl is Mozilla
 

Plus de BalaBit

SCaLE 2016 - syslog-ng: From Raw Data to Big Data
SCaLE 2016 - syslog-ng: From Raw Data to Big DataSCaLE 2016 - syslog-ng: From Raw Data to Big Data
SCaLE 2016 - syslog-ng: From Raw Data to Big DataBalaBit
 
NIAS 2015 - The value add of open source for innovation
NIAS 2015 - The value add of open source for innovationNIAS 2015 - The value add of open source for innovation
NIAS 2015 - The value add of open source for innovationBalaBit
 
Les Assises 2015 - Why people are the most important aspect of IT security?
Les Assises 2015 - Why people are the most important aspect of IT security?Les Assises 2015 - Why people are the most important aspect of IT security?
Les Assises 2015 - Why people are the most important aspect of IT security?BalaBit
 
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...2015. Libre Software Meeting - syslog-ng: from log collection to processing a...
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...BalaBit
 
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...LOADays 2015 - syslog-ng - from log collection to processing and infomation e...
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...BalaBit
 
syslog-ng: from log collection to processing and information extraction
syslog-ng: from log collection to processing and information extractionsyslog-ng: from log collection to processing and information extraction
syslog-ng: from log collection to processing and information extractionBalaBit
 
eCSI - The Agile IT security
eCSI - The Agile IT securityeCSI - The Agile IT security
eCSI - The Agile IT securityBalaBit
 
Top 10 reasons to monitor privileged users
Top 10 reasons to monitor privileged usersTop 10 reasons to monitor privileged users
Top 10 reasons to monitor privileged usersBalaBit
 
Hogyan maradj egészséges irodai munka mellett?
Hogyan maradj egészséges irodai munka mellett?Hogyan maradj egészséges irodai munka mellett?
Hogyan maradj egészséges irodai munka mellett?BalaBit
 
Regulatory compliance and system logging
Regulatory compliance and system loggingRegulatory compliance and system logging
Regulatory compliance and system loggingBalaBit
 
Kontrolle und revisionssichere Auditierung privilegierter IT-Zugriffe
Kontrolle und revisionssichere Auditierung privilegierter IT-ZugriffeKontrolle und revisionssichere Auditierung privilegierter IT-Zugriffe
Kontrolle und revisionssichere Auditierung privilegierter IT-ZugriffeBalaBit
 
Techreggeli - Logmenedzsment
Techreggeli - LogmenedzsmentTechreggeli - Logmenedzsment
Techreggeli - LogmenedzsmentBalaBit
 
State of the art logging
State of the art loggingState of the art logging
State of the art loggingBalaBit
 
Why proper logging is important
Why proper logging is importantWhy proper logging is important
Why proper logging is importantBalaBit
 
Balabit Company Overview
Balabit Company OverviewBalabit Company Overview
Balabit Company OverviewBalaBit
 
BalaBit IT Security cégismertető prezentációja
BalaBit IT Security cégismertető prezentációjaBalaBit IT Security cégismertető prezentációja
BalaBit IT Security cégismertető prezentációjaBalaBit
 
The Future of Electro Car
The Future of Electro CarThe Future of Electro Car
The Future of Electro CarBalaBit
 
Compliance needs transparency
Compliance needs transparencyCompliance needs transparency
Compliance needs transparencyBalaBit
 

Plus de BalaBit (18)

SCaLE 2016 - syslog-ng: From Raw Data to Big Data
SCaLE 2016 - syslog-ng: From Raw Data to Big DataSCaLE 2016 - syslog-ng: From Raw Data to Big Data
SCaLE 2016 - syslog-ng: From Raw Data to Big Data
 
NIAS 2015 - The value add of open source for innovation
NIAS 2015 - The value add of open source for innovationNIAS 2015 - The value add of open source for innovation
NIAS 2015 - The value add of open source for innovation
 
Les Assises 2015 - Why people are the most important aspect of IT security?
Les Assises 2015 - Why people are the most important aspect of IT security?Les Assises 2015 - Why people are the most important aspect of IT security?
Les Assises 2015 - Why people are the most important aspect of IT security?
 
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...2015. Libre Software Meeting - syslog-ng: from log collection to processing a...
2015. Libre Software Meeting - syslog-ng: from log collection to processing a...
 
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...LOADays 2015 - syslog-ng - from log collection to processing and infomation e...
LOADays 2015 - syslog-ng - from log collection to processing and infomation e...
 
syslog-ng: from log collection to processing and information extraction
syslog-ng: from log collection to processing and information extractionsyslog-ng: from log collection to processing and information extraction
syslog-ng: from log collection to processing and information extraction
 
eCSI - The Agile IT security
eCSI - The Agile IT securityeCSI - The Agile IT security
eCSI - The Agile IT security
 
Top 10 reasons to monitor privileged users
Top 10 reasons to monitor privileged usersTop 10 reasons to monitor privileged users
Top 10 reasons to monitor privileged users
 
Hogyan maradj egészséges irodai munka mellett?
Hogyan maradj egészséges irodai munka mellett?Hogyan maradj egészséges irodai munka mellett?
Hogyan maradj egészséges irodai munka mellett?
 
Regulatory compliance and system logging
Regulatory compliance and system loggingRegulatory compliance and system logging
Regulatory compliance and system logging
 
Kontrolle und revisionssichere Auditierung privilegierter IT-Zugriffe
Kontrolle und revisionssichere Auditierung privilegierter IT-ZugriffeKontrolle und revisionssichere Auditierung privilegierter IT-Zugriffe
Kontrolle und revisionssichere Auditierung privilegierter IT-Zugriffe
 
Techreggeli - Logmenedzsment
Techreggeli - LogmenedzsmentTechreggeli - Logmenedzsment
Techreggeli - Logmenedzsment
 
State of the art logging
State of the art loggingState of the art logging
State of the art logging
 
Why proper logging is important
Why proper logging is importantWhy proper logging is important
Why proper logging is important
 
Balabit Company Overview
Balabit Company OverviewBalabit Company Overview
Balabit Company Overview
 
BalaBit IT Security cégismertető prezentációja
BalaBit IT Security cégismertető prezentációjaBalaBit IT Security cégismertető prezentációja
BalaBit IT Security cégismertető prezentációja
 
The Future of Electro Car
The Future of Electro CarThe Future of Electro Car
The Future of Electro Car
 
Compliance needs transparency
Compliance needs transparencyCompliance needs transparency
Compliance needs transparency
 

Linux Kernel – Hogyan csapjunk bele?