SlideShare a Scribd company logo
1 of 28
Download to read offline
How to became a
Gentoo Developer
Alice Ferrazzi
kernel :~ $ whoami
- Gentoo Kernel Project Leader
- Gentoo Kernel Security
- Gentoo Mentor
Tokyo University of Technology
- Google Summer of Code 2017 for Gentoo organization
- Open Source software system laboratory
Summary
● What is Gentoo?
○ Gentoo based products
○ Customization/User flags
● Gentoo as a development enviroment
● Became a Gentoo Developer
● Conclusion
What is Gentoo?
● Highly customizable meta-distribution
● Built from source and support for user patching
● Available in most architecture
● Freedom of choice (OpenRC, SystemD, Runit, Epoch, and
Busybox)
● Easy maintenance (also of the Linux Kernel)
Gentoo based products
● Chrome OS
○ Chrome OS Has Double the Marketshare of Regular Linux in
USA(2017/03)
○ Chromebooks outsold Macs for the first time in the US (2016/05)
● Softbank Pepper (NAOqi OS)
● CoreOS
● Most of Gentoo’s sponsors run Gentoo:
○ https://www.gentoo.org/inside-gentoo/sponsors/
● Daniel Robbins maintains a useful graphic of Gentoo derivatives:
○ http://www.funtoo.org/Gentoo_Ecosystem
Customization
Gentoo Package Use Flags
● High Flexibility
○ Choice of which feature to install
Customization
Adding djvu and chm use flags to okular
Gentoo as development enviroment
Debugging
Debugging packages
● Debugging symbols for all packages
● Debugging symbols for selected packages
Debugging with Gentoo part1
For all packages
/etc/portage/make.conf # Global changes for all packages you will install
FEATURES=”nostrip” # keep symbols in elf files
or
FEATURES=”splitdebug” # saving the symbols files under /usr/lib/debug/
FEATURES="installsources" # keep the sources files on /usr/src/
Debugging with Gentoo part2
For selected packages
/etc/portage/env/debug.conf
----
CFLAGS="${CFLAGS} -g"
CXXFLAGS="${CXXFLAGS} -g"
FEATURES="splitdebug"
----
or -ggdb -ggdbv2 -ggdbv3
/etc/portage/package.env
----
media-gfx/gimp debug.conf
----
Patching
Applying patches
ebuild $(portageq get_repo_path / gentoo)/sys-apps/demo/demo-1.0.ebuild clean
unpack
cd /var/tmp/portage/sys-apps/demo-1.0/work
Change code make patch and put on
/etc/portage/patches/sys-apps/demo/my_patch.patch
Cross compiling
Cross compiling
● Gentoo Cross-toolchain generator
○ emerge -av sys-devel/crossdev
Example:
# crossdev -t sparc
Will build the sparc cross-toolchain
Became a Gentoo Developer
● Search bugs
● Fix ebuilds
● Talk to mentor
● Do quiz with mentor
Search bugs
● Bugday (many information on how to find bugs)
○ https://wiki.gentoo.org/wiki/Bugday
● Getting started
○ https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers#
Getting_Started
● Gentoo bugzilla
○ Bugs.gentoo.org
Fix ebuilds (packages)
● Sending patches to Gentoo bugzilla
○ bugs.gentoo.org
● Sending pull-request on github
○ https://wiki.gentoo.org/wiki/Gentoo_GitHub
Checking our changes
Let’s use repoman:
emerge -av repoman
repoman -x full
Man repoman
Talk to mentor
● Freenode #gentoo-mentors
○ https://wiki.gentoo.org/wiki/Project:Mentors
● Contacting me directly (日本語ok)
○ alicef@gentoo.org
Do Quiz with mentor
● Simple quiz with no time limitation
○ https://wiki.gentoo.org/wiki/Project:Recruiters/Quiz
Gentoo Japanese support channels
Gentoo Japanese support
● #gentoo-ja freenode
● gentoo.slack.com http://slackin.aliceinwire.net
● groups.google.com/forum/#!forum/gentoojp
● http://www.gentoo.jp/
● Gentoo 勉強会 @aliceinwire
http://gentoo.connpass.com
● Wiki.gentoo.org 日本語もあります
● https://github.com/gentoojp/issues
Still not convinced
Try Gentoo in any virtual enviroment:
● Gentoo on Qemu/Open stack
○ https://wiki.gentoo.org/wiki/Project:Openstack
● Gentoo on VirtualBox/VMware
○ http://www.osboxes.org/gentoo/
Any questions ? and Thanks you!!

More Related Content

Similar to How to became a Gentoo developer

Autotools pratical training
Autotools pratical trainingAutotools pratical training
Autotools pratical trainingThierry Gayet
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMAlexander Shopov
 
Open source projects with python
Open source projects with pythonOpen source projects with python
Open source projects with pythonroskakori
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingDonnie Berkholz
 
How to install gentoo distributed
How to install gentoo distributedHow to install gentoo distributed
How to install gentoo distributedSongWang54
 
Leveraging Android's Linux Heritage at AnDevCon VI
Leveraging Android's Linux Heritage at AnDevCon VILeveraging Android's Linux Heritage at AnDevCon VI
Leveraging Android's Linux Heritage at AnDevCon VIOpersys inc.
 
Bringing-it-all-together-overview-of-rpm-packaging-in-fedora
Bringing-it-all-together-overview-of-rpm-packaging-in-fedoraBringing-it-all-together-overview-of-rpm-packaging-in-fedora
Bringing-it-all-together-overview-of-rpm-packaging-in-fedoraLalatendu Mohanty
 
Leveraging Android's Linux Heritage at AnDevCon V
Leveraging Android's Linux Heritage at AnDevCon VLeveraging Android's Linux Heritage at AnDevCon V
Leveraging Android's Linux Heritage at AnDevCon VOpersys inc.
 
The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012Philip Polstra
 
OpenWRT guide and memo
OpenWRT guide and memoOpenWRT guide and memo
OpenWRT guide and memo家榮 吳
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Puppet
 
Linux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of TechnologyLinux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of TechnologyNugroho Gito
 
Development and deployment with composer and kite
Development and deployment with composer and kiteDevelopment and deployment with composer and kite
Development and deployment with composer and kiteChristian Opitz
 
The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09Bastian Feder
 
Wrangling 3rd Party Installers from Puppet
Wrangling 3rd Party Installers from PuppetWrangling 3rd Party Installers from Puppet
Wrangling 3rd Party Installers from PuppetPuppet
 
You think you're not a target? A tale of three developers...
You think you're not a target? A tale of three developers...You think you're not a target? A tale of three developers...
You think you're not a target? A tale of three developers...Speck&Tech
 

Similar to How to became a Gentoo developer (20)

Autotools pratical training
Autotools pratical trainingAutotools pratical training
Autotools pratical training
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
 
Open source projects with python
Open source projects with pythonOpen source projects with python
Open source projects with python
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
 
How to install gentoo distributed
How to install gentoo distributedHow to install gentoo distributed
How to install gentoo distributed
 
Leveraging Android's Linux Heritage at AnDevCon VI
Leveraging Android's Linux Heritage at AnDevCon VILeveraging Android's Linux Heritage at AnDevCon VI
Leveraging Android's Linux Heritage at AnDevCon VI
 
Bringing-it-all-together-overview-of-rpm-packaging-in-fedora
Bringing-it-all-together-overview-of-rpm-packaging-in-fedoraBringing-it-all-together-overview-of-rpm-packaging-in-fedora
Bringing-it-all-together-overview-of-rpm-packaging-in-fedora
 
Leveraging Android's Linux Heritage at AnDevCon V
Leveraging Android's Linux Heritage at AnDevCon VLeveraging Android's Linux Heritage at AnDevCon V
Leveraging Android's Linux Heritage at AnDevCon V
 
The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012
 
OpenWRT guide and memo
OpenWRT guide and memoOpenWRT guide and memo
OpenWRT guide and memo
 
Autotools
AutotoolsAutotools
Autotools
 
Linux Internals - Part I
Linux Internals - Part ILinux Internals - Part I
Linux Internals - Part I
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
 
Linux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of TechnologyLinux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of Technology
 
Development and deployment with composer and kite
Development and deployment with composer and kiteDevelopment and deployment with composer and kite
Development and deployment with composer and kite
 
Linux
LinuxLinux
Linux
 
The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09The Beauty And The Beast Php N W09
The Beauty And The Beast Php N W09
 
Wrangling 3rd Party Installers from Puppet
Wrangling 3rd Party Installers from PuppetWrangling 3rd Party Installers from Puppet
Wrangling 3rd Party Installers from Puppet
 
You think you're not a target? A tale of three developers...
You think you're not a target? A tale of three developers...You think you're not a target? A tale of three developers...
You think you're not a target? A tale of three developers...
 
Linux
LinuxLinux
Linux
 

More from alice ferrazzi

20161203 Gentoo勉強会
20161203 Gentoo勉強会20161203 Gentoo勉強会
20161203 Gentoo勉強会alice ferrazzi
 
Gentoo勉強会平成26 11月-15日
Gentoo勉強会平成26 11月-15日Gentoo勉強会平成26 11月-15日
Gentoo勉強会平成26 11月-15日alice ferrazzi
 
Gentoo勉強会平成26 8月-2日
Gentoo勉強会平成26 8月-2日Gentoo勉強会平成26 8月-2日
Gentoo勉強会平成26 8月-2日alice ferrazzi
 
Gentoo勉強会平成26/7月/5日
Gentoo勉強会平成26/7月/5日Gentoo勉強会平成26/7月/5日
Gentoo勉強会平成26/7月/5日alice ferrazzi
 
Travisでrepomanチェックしょう!
Travisでrepomanチェックしょう!Travisでrepomanチェックしょう!
Travisでrepomanチェックしょう!alice ferrazzi
 

More from alice ferrazzi (7)

20161203 Gentoo勉強会
20161203 Gentoo勉強会20161203 Gentoo勉強会
20161203 Gentoo勉強会
 
Gentoo勉強会平成26 11月-15日
Gentoo勉強会平成26 11月-15日Gentoo勉強会平成26 11月-15日
Gentoo勉強会平成26 11月-15日
 
Raspberry pi + gentoo
Raspberry pi + gentooRaspberry pi + gentoo
Raspberry pi + gentoo
 
Gentoo勉強会平成26 8月-2日
Gentoo勉強会平成26 8月-2日Gentoo勉強会平成26 8月-2日
Gentoo勉強会平成26 8月-2日
 
Gentoo勉強会平成26/7月/5日
Gentoo勉強会平成26/7月/5日Gentoo勉強会平成26/7月/5日
Gentoo勉強会平成26/7月/5日
 
Travisでrepomanチェックしょう!
Travisでrepomanチェックしょう!Travisでrepomanチェックしょう!
Travisでrepomanチェックしょう!
 
Ebuild and overlay
Ebuild and overlayEbuild and overlay
Ebuild and overlay
 

Recently uploaded

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Recently uploaded (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

How to became a Gentoo developer

  • 1. How to became a Gentoo Developer Alice Ferrazzi
  • 2. kernel :~ $ whoami - Gentoo Kernel Project Leader - Gentoo Kernel Security - Gentoo Mentor Tokyo University of Technology - Google Summer of Code 2017 for Gentoo organization - Open Source software system laboratory
  • 3. Summary ● What is Gentoo? ○ Gentoo based products ○ Customization/User flags ● Gentoo as a development enviroment ● Became a Gentoo Developer ● Conclusion
  • 4. What is Gentoo? ● Highly customizable meta-distribution ● Built from source and support for user patching ● Available in most architecture ● Freedom of choice (OpenRC, SystemD, Runit, Epoch, and Busybox) ● Easy maintenance (also of the Linux Kernel)
  • 5. Gentoo based products ● Chrome OS ○ Chrome OS Has Double the Marketshare of Regular Linux in USA(2017/03) ○ Chromebooks outsold Macs for the first time in the US (2016/05) ● Softbank Pepper (NAOqi OS) ● CoreOS ● Most of Gentoo’s sponsors run Gentoo: ○ https://www.gentoo.org/inside-gentoo/sponsors/ ● Daniel Robbins maintains a useful graphic of Gentoo derivatives: ○ http://www.funtoo.org/Gentoo_Ecosystem
  • 7. Gentoo Package Use Flags ● High Flexibility ○ Choice of which feature to install
  • 8. Customization Adding djvu and chm use flags to okular
  • 11. Debugging packages ● Debugging symbols for all packages ● Debugging symbols for selected packages
  • 12. Debugging with Gentoo part1 For all packages /etc/portage/make.conf # Global changes for all packages you will install FEATURES=”nostrip” # keep symbols in elf files or FEATURES=”splitdebug” # saving the symbols files under /usr/lib/debug/ FEATURES="installsources" # keep the sources files on /usr/src/
  • 13. Debugging with Gentoo part2 For selected packages /etc/portage/env/debug.conf ---- CFLAGS="${CFLAGS} -g" CXXFLAGS="${CXXFLAGS} -g" FEATURES="splitdebug" ---- or -ggdb -ggdbv2 -ggdbv3 /etc/portage/package.env ---- media-gfx/gimp debug.conf ----
  • 15. Applying patches ebuild $(portageq get_repo_path / gentoo)/sys-apps/demo/demo-1.0.ebuild clean unpack cd /var/tmp/portage/sys-apps/demo-1.0/work Change code make patch and put on /etc/portage/patches/sys-apps/demo/my_patch.patch
  • 17. Cross compiling ● Gentoo Cross-toolchain generator ○ emerge -av sys-devel/crossdev Example: # crossdev -t sparc Will build the sparc cross-toolchain
  • 18. Became a Gentoo Developer
  • 19. ● Search bugs ● Fix ebuilds ● Talk to mentor ● Do quiz with mentor
  • 20. Search bugs ● Bugday (many information on how to find bugs) ○ https://wiki.gentoo.org/wiki/Bugday ● Getting started ○ https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers# Getting_Started ● Gentoo bugzilla ○ Bugs.gentoo.org
  • 21. Fix ebuilds (packages) ● Sending patches to Gentoo bugzilla ○ bugs.gentoo.org ● Sending pull-request on github ○ https://wiki.gentoo.org/wiki/Gentoo_GitHub
  • 22. Checking our changes Let’s use repoman: emerge -av repoman repoman -x full Man repoman
  • 23. Talk to mentor ● Freenode #gentoo-mentors ○ https://wiki.gentoo.org/wiki/Project:Mentors ● Contacting me directly (日本語ok) ○ alicef@gentoo.org
  • 24. Do Quiz with mentor ● Simple quiz with no time limitation ○ https://wiki.gentoo.org/wiki/Project:Recruiters/Quiz
  • 26. Gentoo Japanese support ● #gentoo-ja freenode ● gentoo.slack.com http://slackin.aliceinwire.net ● groups.google.com/forum/#!forum/gentoojp ● http://www.gentoo.jp/ ● Gentoo 勉強会 @aliceinwire http://gentoo.connpass.com ● Wiki.gentoo.org 日本語もあります ● https://github.com/gentoojp/issues
  • 27. Still not convinced Try Gentoo in any virtual enviroment: ● Gentoo on Qemu/Open stack ○ https://wiki.gentoo.org/wiki/Project:Openstack ● Gentoo on VirtualBox/VMware ○ http://www.osboxes.org/gentoo/
  • 28. Any questions ? and Thanks you!!