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

PDF
Goの標準的な開発の流れ
PDF
Roll your own web crawler. RubyDay 2013
PDF
GNOME(TM) Desktop for Everyone
ODP
CS50x Permissions, Files, Users
TXT
Deny
PDF
How to install Odoo 13 in Ubuntu ?
PDF
NetBSD workshop
PDF
Can I write to a read only file ?
Goの標準的な開発の流れ
Roll your own web crawler. RubyDay 2013
GNOME(TM) Desktop for Everyone
CS50x Permissions, Files, Users
Deny
How to install Odoo 13 in Ubuntu ?
NetBSD workshop
Can I write to a read only file ?

Similar to How to became a Gentoo developer (20)

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

More from alice ferrazzi (7)

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

Recently uploaded (20)

PPTX
The various Industrial Revolutions .pptx
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
Modernising the Digital Integration Hub
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Hybrid model detection and classification of lung cancer
PDF
Unlock new opportunities with location data.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Architecture types and enterprise applications.pdf
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Five Habits of High-Impact Board Members
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
observCloud-Native Containerability and monitoring.pptx
The various Industrial Revolutions .pptx
Web Crawler for Trend Tracking Gen Z Insights.pptx
Developing a website for English-speaking practice to English as a foreign la...
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Modernising the Digital Integration Hub
Benefits of Physical activity for teenagers.pptx
Hybrid model detection and classification of lung cancer
Unlock new opportunities with location data.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Chapter 5: Probability Theory and Statistics
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Architecture types and enterprise applications.pdf
A review of recent deep learning applications in wood surface defect identifi...
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
CloudStack 4.21: First Look Webinar slides
Five Habits of High-Impact Board Members
Getting started with AI Agents and Multi-Agent Systems
observCloud-Native Containerability and monitoring.pptx

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