Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to became a Gentoo Developer #osc18tk

How to became a Gentoo Developer #osc18tk

Gentoo used cases, Gentoo GSoC 2018, Debugging with Gentoo, Gentoo Support for Japanese
https://docs.google.com/presentation/d/1csj12bdtkBFx54NY1wGInwSibYkA6jVlJc1dsW2Iazk/edit?usp=sharing

Alice Ferrazzi

February 23, 2018
Tweet

More Decks by Alice Ferrazzi

Other Decks in Programming

Transcript

  1. kernel :~ $ whoami - Gentoo Kernel Project Leader -

    Gentoo Kernel Security - Gentoo Google Summer of Code Administrator - Gentoo Vice Secretary Tokyo University of Technology - Open Source software system laboratory
  2. Summary • What is Gentoo? ◦ Gentoo based products ◦

    Customization/User flags • Gentoo as a development enviroment • Gentoo Google Summer of Code • Conclusion
  3. 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)
  4. 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
  5. High Performance Computers - St. Petersburg University run Gentoo -

    3072 core 12288 Gb Ram 1 PiB storage - Running as a single Gentoo Operating System - University of Washington Research HPC (Hyak) - Using Gentoo prefix
  6. More Security - Security Advisor (https://security.gentoo.org/glsa) twitter: @gentoo_glsa - Security

    Project - Easy check system security with glsa-check - # emerge -va app-portage/gentoolkit - Improved package manager security - (more strong source code checks)
  7. - Getting 5000$ for 3 months of coding - Learning

    from Gentoo Developers - Contribute to Open Source projects - Nice for your resume !
  8. Possible Ideas - Full Rust Support - Support for multiple

    MPI implementations - Social Linux Distribution Network - Gentoo CJK Support - Portage powered Android -
  9. How to apply - Communication - #gentoo-soc on the Freenode

    IRC network and the gentoo-soc mailing list - Get feedback on your idea - Write a proposal - Submitting your proposal
  10. 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/
  11. 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 ----
  12. 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
  13. Cross compiling • Gentoo Cross-toolchain generator ◦ emerge -av sys-devel/crossdev

    Example: # crossdev -t sparc Will build the sparc cross-toolchain
  14. 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
  15. Fix ebuilds (packages) • Sending patches to Gentoo bugzilla ◦

    bugs.gentoo.org • Sending pull-request on github ◦ https://wiki.gentoo.org/wiki/Gentoo_GitHub
  16. Do Quiz with mentor • Simple quiz with no time

    limitation ◦ https://wiki.gentoo.org/wiki/Project:Recruiters/Quiz
  17. 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
  18. 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/