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