SlideShare a Scribd company logo
1 of 37
Download to read offline
Introduction Gentoo Benefits How I port




.
             Porting Gentoo to DragonFly
.

                                   Naohiro Aota


                                    03/20 2011




                              Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Presentation Aims




      To show Gentoo benefits




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Presentation Aims




      To show Gentoo benefits
      To get more Gentoo/BSD users




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Presentation Aims




      To show Gentoo benefits
      To get more Gentoo/BSD users
      To improve Gentoo/BSD




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Agenda




      Gentoo and Gentoo/*BSD
      Gentoo Benefits: Ports vs Portage
      (How I port Gentoo)




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. About DragonFly?




   Visit http://www.dragonflybsd.org/




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. About Gentoo




      Linux distribution
            without rpm
            without deb
            build everything from source
            like ports and pkgsrc




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Portage




      Package management and build system
      ebuild: package file
            bash script
            executed within special environment




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Getnoo/*BSD




     one of Gentoo projects
     BSD based Gentoo
           like Debian/kFreeBSD




                               Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Gentoo/*BSD (2)


                                        kernel        C library/userland
           Debian/kFreeBSD              FreeBSD       GNU
           Gentoo/*BSD                  *BSD          *BSD

      Gentoo/*BSD support
            FreeBSD (7.2 and 8.0 on x86)
                   unofficial amd64 is also available
            NetBSD (5.0 on x86) (experiment)
            DragonFly (2.6.3) (unofficial)




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Portage Repository

      like Ports, Portage has local repository tree
                     FreeBSD Ports             /usr/ports
                                               editors/emacs
                                               Makefile
                     Gentoo Portage            /usr/portage
                                               app-editors/emacs
                                               emacs-18.59-r6.ebuild
                                               <snip>
                                               emacs-23.3.ebuild
      Use command line tool to install package
            No “cd”, just “emerge foobar”



                                Naohiro Aota    Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. USE flag




      FreeBSD ports
            WITH_PNG=true
      Gentoo Portage
            USE=”png”




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Why Gentoo?




     Gentoo = build everything from source




                               Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Why Gentoo?




     Gentoo = build everything from source
     Why not Ports?
     Why not pkgsrc?
     Why Gentoo?




                               Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Why Gentoo?




     Gentoo = build everything from source
     Why not Ports?
     Why not pkgsrc?
     Why Gentoo?
     Talk about Gentoo benefits




                               Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Able to select version




       Old version provided
       eselect




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. eselect




       FreeBSD ports
             lang/python25, python26, python27, python31
       Gentoo Portage
             dev-lang/python
             eselect




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Parallel build




       Ports: build B -> C -> A
       Portage: parallel package installation
             build B and C in parallel
             and then build A




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. news item




      notify important changes
            Ports: DONT forget to read /usr/ports/UPDATING
            Portage: notification displayed
      package specific news
            Ports: grep AFFECTS line
            Portage: hide not affecting news




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. multi repositories




       handle multi repositories
       repository management tool: layman
             support many sync method
             just one command sync all repositories




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. sandbox




      To avoid evil packages
            Separate install process from system
            Avoid read from/write to system




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. sandbox problem with DragonFly




      sandbox read /proc to determine process name
      DragonFly return different errno
      Use LD_PRELOAD hack
            static linked /bin/*
            dynamic lined libgcc




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. OpenRC




     service management system
     Dependency based startup
     Parallel startup/shutdown




                               Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Catalyst




       release metatool used for creating releases based on Gentoo
       Linux
             LiveCD
             install minimal file




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Catalyst problem




      Linuxism / GNUism / bashism
            sed




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Conclusion




      Portage is much like Ports
            but has superior features
      Maintaining Portage package may help *BSD
            Detect Linuxism, GNUism and bashism
            sending patch to upstream




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Detail in porting




       (maybe) boring technical details
       (maybe) sleep time ;)




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. roadmap




      Install official DragonFly
      Install Portage
      Create repository for DragonFly
      Write system packages
      Build, fix, and build . . .




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Install Portage




       Install Python
       and just unpack Portage source
       run self test script
             patch to fix mkdir(“/”) needed




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. Setup tree for DragonFly




       Create own repository for x86-dfbsd
       Repository layout
             repository name
             architecture support
             DragonFly system package category




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. profiles




       Specify system core packages
       What package should not be used
       What USE flag should/should not be used




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. baselayout




       Gentoo primitive package
       Basic configuration files
       /etc/hosts, shells . . .
       need to work on DragonFly




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. sandbox



      Feature
            a Gentoo util
            Separate install process from system
            Avoid read from/write to system
      Problem
            /proc entry
            ERANGE vs ENAMETOOLONG




                                Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. OpenRC



     Feature
           Gentoo service management system
           Dependency based service startup and shutdown
     Problem
           When shutdown
                  Wait for all process to stop
                  Kernel thread (pid = -1) exists and cannot be killed




                               Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. ld-elf.so.2 problem



       Problem
             Cannot load any library
             cause segmentation fault
       Solution
             need to change binary format
             from “em=freebsd”, “targ_emul=elf_i386_fbsd”
             to “em=386bsd”, “targ_emul=elf_i386”




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. linking problems



       Problem
             “sandbox” access check problem
             LD_PRELOAD hack not worked
                    /bin/* static linked

       Solution
             Changed to link dynamically to libc.so




                                 Naohiro Aota   Porting Gentoo to DragonFly
Introduction Gentoo Benefits How I port


. libgcc linking problem




       Problem
             /bin/* dynamically linked to libgcc_s.so under /usr
       Solution
             Modify dragonfly-spec.h to link libgcc statically




                                 Naohiro Aota   Porting Gentoo to DragonFly

More Related Content

What's hot

Madagascar2011 - 04 - Présentation configuration pratical work
Madagascar2011 - 04 - Présentation configuration pratical workMadagascar2011 - 04 - Présentation configuration pratical work
Madagascar2011 - 04 - Présentation configuration pratical workotb
 
PyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 TutorialPyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 TutorialJustin Lin
 
Introduction GStreamer
Introduction GStreamerIntroduction GStreamer
Introduction GStreamerShih-Yuan Lee
 
openPOWERLINK over Xenomai
openPOWERLINK over XenomaiopenPOWERLINK over Xenomai
openPOWERLINK over XenomaiAlexandre LAHAYE
 
Building RT image with Yocto
Building RT image with YoctoBuilding RT image with Yocto
Building RT image with YoctoAlexandre LAHAYE
 
Introduction to Gstreamer
Introduction to GstreamerIntroduction to Gstreamer
Introduction to GstreamerRand Graham
 
Python by Martin Geisler
Python by Martin GeislerPython by Martin Geisler
Python by Martin GeislerAberla
 
Intro to Rust 2019
Intro to Rust 2019Intro to Rust 2019
Intro to Rust 2019Timothy Bess
 
Surf iOS版 中文用户指南
Surf iOS版 中文用户指南Surf iOS版 中文用户指南
Surf iOS版 中文用户指南yarshure Kong
 
Mothra - A FreeBSD send-pr tool for bugzilla system
Mothra - A FreeBSD send-pr tool for bugzilla systemMothra - A FreeBSD send-pr tool for bugzilla system
Mothra - A FreeBSD send-pr tool for bugzilla systemDaniel Lin
 
インフラエンジニアのためのGit入門
インフラエンジニアのためのGit入門インフラエンジニアのためのGit入門
インフラエンジニアのためのGit入門Kouhei Maeda
 
僕の疑問に答えてください。
僕の疑問に答えてください。僕の疑問に答えてください。
僕の疑問に答えてください。Kouhei Maeda
 
Github - Down the Rabbit Hole
Github  - Down the Rabbit HoleGithub  - Down the Rabbit Hole
Github - Down the Rabbit HoleVagmi Mudumbai
 
How to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatterHow to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatterYoshifumi Kawai
 
Game programming with Groovy
Game programming with GroovyGame programming with Groovy
Game programming with GroovyJames Williams
 

What's hot (20)

Madagascar2011 - 04 - Présentation configuration pratical work
Madagascar2011 - 04 - Présentation configuration pratical workMadagascar2011 - 04 - Présentation configuration pratical work
Madagascar2011 - 04 - Présentation configuration pratical work
 
PyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 TutorialPyCon Taiwan 2013 Tutorial
PyCon Taiwan 2013 Tutorial
 
Introduction GStreamer
Introduction GStreamerIntroduction GStreamer
Introduction GStreamer
 
Zookeper
ZookeperZookeper
Zookeper
 
openPOWERLINK over Xenomai
openPOWERLINK over XenomaiopenPOWERLINK over Xenomai
openPOWERLINK over Xenomai
 
Building RT image with Yocto
Building RT image with YoctoBuilding RT image with Yocto
Building RT image with Yocto
 
Intro to-venv-py3
Intro to-venv-py3Intro to-venv-py3
Intro to-venv-py3
 
Introduction to Gstreamer
Introduction to GstreamerIntroduction to Gstreamer
Introduction to Gstreamer
 
Python by Martin Geisler
Python by Martin GeislerPython by Martin Geisler
Python by Martin Geisler
 
Intro to Rust 2019
Intro to Rust 2019Intro to Rust 2019
Intro to Rust 2019
 
Topologia lab
Topologia labTopologia lab
Topologia lab
 
Surf iOS版 中文用户指南
Surf iOS版 中文用户指南Surf iOS版 中文用户指南
Surf iOS版 中文用户指南
 
Logging system of Android
Logging system of AndroidLogging system of Android
Logging system of Android
 
Mothra - A FreeBSD send-pr tool for bugzilla system
Mothra - A FreeBSD send-pr tool for bugzilla systemMothra - A FreeBSD send-pr tool for bugzilla system
Mothra - A FreeBSD send-pr tool for bugzilla system
 
インフラエンジニアのためのGit入門
インフラエンジニアのためのGit入門インフラエンジニアのためのGit入門
インフラエンジニアのためのGit入門
 
CPAN For Private Code
CPAN For Private CodeCPAN For Private Code
CPAN For Private Code
 
僕の疑問に答えてください。
僕の疑問に答えてください。僕の疑問に答えてください。
僕の疑問に答えてください。
 
Github - Down the Rabbit Hole
Github  - Down the Rabbit HoleGithub  - Down the Rabbit Hole
Github - Down the Rabbit Hole
 
How to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatterHow to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatter
 
Game programming with Groovy
Game programming with GroovyGame programming with Groovy
Game programming with Groovy
 

Viewers also liked

10.Pierwociny herezji
10.Pierwociny herezji10.Pierwociny herezji
10.Pierwociny herezjiparakletos
 
C I P A S E P T E M B R E 2010
C I P A  S E P T E M B R E 2010C I P A  S E P T E M B R E 2010
C I P A S E P T E M B R E 2010Fattouma Djerrari
 
1.Charyzmaty w pierwszym milenium Kościoła
1.Charyzmaty w pierwszym milenium Kościoła1.Charyzmaty w pierwszym milenium Kościoła
1.Charyzmaty w pierwszym milenium Kościołaparakletos
 
Neeti saara-collection-of-subhaaashitaas
Neeti saara-collection-of-subhaaashitaasNeeti saara-collection-of-subhaaashitaas
Neeti saara-collection-of-subhaaashitaasBhim Upadhyaya
 
Managing Desktop & Files With Windows 7
Managing Desktop & Files With Windows 7Managing Desktop & Files With Windows 7
Managing Desktop & Files With Windows 7Skokie Public Library
 
Bhutan rural construction-rules 2013
Bhutan rural construction-rules 2013Bhutan rural construction-rules 2013
Bhutan rural construction-rules 2013Bhim Upadhyaya
 
Vmug consumerisation of it (11 oct 2011)
Vmug consumerisation of it (11 oct 2011)Vmug consumerisation of it (11 oct 2011)
Vmug consumerisation of it (11 oct 2011)subtitle
 
Vision dt solutions vmug leeds
Vision dt solutions vmug leedsVision dt solutions vmug leeds
Vision dt solutions vmug leedssubtitle
 
Effects of dots in HIV infected patients suffering from Tuberculosis
Effects of dots in HIV infected patients suffering from TuberculosisEffects of dots in HIV infected patients suffering from Tuberculosis
Effects of dots in HIV infected patients suffering from TuberculosisSubendu Mukherjee
 
Creating and Sharing Your Videos on YouTube and Facebook
Creating and Sharing Your Videos on YouTube and FacebookCreating and Sharing Your Videos on YouTube and Facebook
Creating and Sharing Your Videos on YouTube and FacebookSkokie Public Library
 
WordCamp Los Angeles Keynote : WP, GPL and VC
WordCamp Los Angeles Keynote : WP, GPL and VC WordCamp Los Angeles Keynote : WP, GPL and VC
WordCamp Los Angeles Keynote : WP, GPL and VC lukepilon
 
Unelte pentru comunicare
Unelte pentru comunicareUnelte pentru comunicare
Unelte pentru comunicareRuxandra Popa
 
My favorite philosophy
My favorite philosophyMy favorite philosophy
My favorite philosophyBhim Upadhyaya
 
Photo roman completer
Photo roman completerPhoto roman completer
Photo roman completerAleCla0189
 

Viewers also liked (20)

Unit 4, Lesson 4
Unit 4, Lesson 4Unit 4, Lesson 4
Unit 4, Lesson 4
 
10.Pierwociny herezji
10.Pierwociny herezji10.Pierwociny herezji
10.Pierwociny herezji
 
C I P A S E P T E M B R E 2010
C I P A  S E P T E M B R E 2010C I P A  S E P T E M B R E 2010
C I P A S E P T E M B R E 2010
 
Pp110 ilr
Pp110 ilrPp110 ilr
Pp110 ilr
 
1.Charyzmaty w pierwszym milenium Kościoła
1.Charyzmaty w pierwszym milenium Kościoła1.Charyzmaty w pierwszym milenium Kościoła
1.Charyzmaty w pierwszym milenium Kościoła
 
Nz immigration
Nz immigrationNz immigration
Nz immigration
 
Neeti saara-collection-of-subhaaashitaas
Neeti saara-collection-of-subhaaashitaasNeeti saara-collection-of-subhaaashitaas
Neeti saara-collection-of-subhaaashitaas
 
Pinterest Class
Pinterest ClassPinterest Class
Pinterest Class
 
Managing Desktop & Files With Windows 7
Managing Desktop & Files With Windows 7Managing Desktop & Files With Windows 7
Managing Desktop & Files With Windows 7
 
Bhutan rural construction-rules 2013
Bhutan rural construction-rules 2013Bhutan rural construction-rules 2013
Bhutan rural construction-rules 2013
 
Vmug consumerisation of it (11 oct 2011)
Vmug consumerisation of it (11 oct 2011)Vmug consumerisation of it (11 oct 2011)
Vmug consumerisation of it (11 oct 2011)
 
Vision dt solutions vmug leeds
Vision dt solutions vmug leedsVision dt solutions vmug leeds
Vision dt solutions vmug leeds
 
Unit4,lesson5
Unit4,lesson5Unit4,lesson5
Unit4,lesson5
 
Effects of dots in HIV infected patients suffering from Tuberculosis
Effects of dots in HIV infected patients suffering from TuberculosisEffects of dots in HIV infected patients suffering from Tuberculosis
Effects of dots in HIV infected patients suffering from Tuberculosis
 
Creating and Sharing Your Videos on YouTube and Facebook
Creating and Sharing Your Videos on YouTube and FacebookCreating and Sharing Your Videos on YouTube and Facebook
Creating and Sharing Your Videos on YouTube and Facebook
 
WordCamp Los Angeles Keynote : WP, GPL and VC
WordCamp Los Angeles Keynote : WP, GPL and VC WordCamp Los Angeles Keynote : WP, GPL and VC
WordCamp Los Angeles Keynote : WP, GPL and VC
 
Unelte pentru comunicare
Unelte pentru comunicareUnelte pentru comunicare
Unelte pentru comunicare
 
My favorite philosophy
My favorite philosophyMy favorite philosophy
My favorite philosophy
 
Photo roman completer
Photo roman completerPhoto roman completer
Photo roman completer
 
XEN App
XEN AppXEN App
XEN App
 

Similar to Porting Gentoo Linux to DragonFly BSD

Docker. Micro services for lazy developers
Docker. Micro services for lazy developersDocker. Micro services for lazy developers
Docker. Micro services for lazy developersEugene Krevenets
 
Dockerfish-Tutorial
Dockerfish-TutorialDockerfish-Tutorial
Dockerfish-TutorialBrian Hood
 
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013Puppet
 
GroongaアプリケーションをDockerコンテナ化して配布する
GroongaアプリケーションをDockerコンテナ化して配布するGroongaアプリケーションをDockerコンテナ化して配布する
GroongaアプリケーションをDockerコンテナ化して配布するongaeshi
 
Marek Kuziel - Deploying Django with Buildout
Marek Kuziel - Deploying Django with BuildoutMarek Kuziel - Deploying Django with Buildout
Marek Kuziel - Deploying Django with Buildoutmarekkuziel
 
Dive into Fluentd plugin v0.12
Dive into Fluentd plugin v0.12Dive into Fluentd plugin v0.12
Dive into Fluentd plugin v0.12N Masahiro
 
اسلاید اول جلسه دوم کلاس پایتون برای هکرهای قانونی
اسلاید اول جلسه دوم کلاس پایتون برای هکرهای قانونیاسلاید اول جلسه دوم کلاس پایتون برای هکرهای قانونی
اسلاید اول جلسه دوم کلاس پایتون برای هکرهای قانونیMohammad Reza Kamalifard
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonCodeSyntax
 
Japanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 AlphaJapanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 AlphaNaruto TAKAHASHI
 
CloudOpen North America 2013: Vagrant & CFEngine
CloudOpen North America 2013: Vagrant & CFEngineCloudOpen North America 2013: Vagrant & CFEngine
CloudOpen North America 2013: Vagrant & CFEngineNick Anderson
 
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon GarciaOpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon GarciaOpenNebula Project
 
TEW4 Yatce deprecated slides
TEW4 Yatce deprecated slidesTEW4 Yatce deprecated slides
TEW4 Yatce deprecated slidesUENISHI Kota
 
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
 
PyQt Application Development On Maemo
PyQt Application Development On MaemoPyQt Application Development On Maemo
PyQt Application Development On Maemoachipa
 
Puppet without Root - PuppetConf 2013
Puppet without Root - PuppetConf 2013Puppet without Root - PuppetConf 2013
Puppet without Root - PuppetConf 2013Puppet
 
Linux Security and How Web Browser Sandboxes Really Work (NDC Oslo 2017)
Linux Security  and How Web Browser Sandboxes Really Work (NDC Oslo 2017)Linux Security  and How Web Browser Sandboxes Really Work (NDC Oslo 2017)
Linux Security and How Web Browser Sandboxes Really Work (NDC Oslo 2017)Patricia Aas
 
Os dev tool box
Os dev tool boxOs dev tool box
Os dev tool boxbpowell29a
 
How tos nagios - centos wiki
How tos nagios - centos wikiHow tos nagios - centos wiki
How tos nagios - centos wikishahab071
 

Similar to Porting Gentoo Linux to DragonFly BSD (20)

Docker. Micro services for lazy developers
Docker. Micro services for lazy developersDocker. Micro services for lazy developers
Docker. Micro services for lazy developers
 
Dockerfish-Tutorial
Dockerfish-TutorialDockerfish-Tutorial
Dockerfish-Tutorial
 
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
 
GroongaアプリケーションをDockerコンテナ化して配布する
GroongaアプリケーションをDockerコンテナ化して配布するGroongaアプリケーションをDockerコンテナ化して配布する
GroongaアプリケーションをDockerコンテナ化して配布する
 
Marek Kuziel - Deploying Django with Buildout
Marek Kuziel - Deploying Django with BuildoutMarek Kuziel - Deploying Django with Buildout
Marek Kuziel - Deploying Django with Buildout
 
Dive into Fluentd plugin v0.12
Dive into Fluentd plugin v0.12Dive into Fluentd plugin v0.12
Dive into Fluentd plugin v0.12
 
اسلاید اول جلسه دوم کلاس پایتون برای هکرهای قانونی
اسلاید اول جلسه دوم کلاس پایتون برای هکرهای قانونیاسلاید اول جلسه دوم کلاس پایتون برای هکرهای قانونی
اسلاید اول جلسه دوم کلاس پایتون برای هکرهای قانونی
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in python
 
Japanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 AlphaJapanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 Alpha
 
CloudOpen North America 2013: Vagrant & CFEngine
CloudOpen North America 2013: Vagrant & CFEngineCloudOpen North America 2013: Vagrant & CFEngine
CloudOpen North America 2013: Vagrant & CFEngine
 
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon GarciaOpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
 
TEW4 Yatce deprecated slides
TEW4 Yatce deprecated slidesTEW4 Yatce deprecated slides
TEW4 Yatce deprecated slides
 
packaging
packagingpackaging
packaging
 
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
 
PyQt Application Development On Maemo
PyQt Application Development On MaemoPyQt Application Development On Maemo
PyQt Application Development On Maemo
 
Python in 15 minutes
Python in 15 minutesPython in 15 minutes
Python in 15 minutes
 
Puppet without Root - PuppetConf 2013
Puppet without Root - PuppetConf 2013Puppet without Root - PuppetConf 2013
Puppet without Root - PuppetConf 2013
 
Linux Security and How Web Browser Sandboxes Really Work (NDC Oslo 2017)
Linux Security  and How Web Browser Sandboxes Really Work (NDC Oslo 2017)Linux Security  and How Web Browser Sandboxes Really Work (NDC Oslo 2017)
Linux Security and How Web Browser Sandboxes Really Work (NDC Oslo 2017)
 
Os dev tool box
Os dev tool boxOs dev tool box
Os dev tool box
 
How tos nagios - centos wiki
How tos nagios - centos wikiHow tos nagios - centos wiki
How tos nagios - centos wiki
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 

Porting Gentoo Linux to DragonFly BSD

  • 1. Introduction Gentoo Benefits How I port . Porting Gentoo to DragonFly . Naohiro Aota 03/20 2011 Naohiro Aota Porting Gentoo to DragonFly
  • 2. Introduction Gentoo Benefits How I port . Presentation Aims To show Gentoo benefits Naohiro Aota Porting Gentoo to DragonFly
  • 3. Introduction Gentoo Benefits How I port . Presentation Aims To show Gentoo benefits To get more Gentoo/BSD users Naohiro Aota Porting Gentoo to DragonFly
  • 4. Introduction Gentoo Benefits How I port . Presentation Aims To show Gentoo benefits To get more Gentoo/BSD users To improve Gentoo/BSD Naohiro Aota Porting Gentoo to DragonFly
  • 5. Introduction Gentoo Benefits How I port . Agenda Gentoo and Gentoo/*BSD Gentoo Benefits: Ports vs Portage (How I port Gentoo) Naohiro Aota Porting Gentoo to DragonFly
  • 6. Introduction Gentoo Benefits How I port . About DragonFly? Visit http://www.dragonflybsd.org/ Naohiro Aota Porting Gentoo to DragonFly
  • 7. Introduction Gentoo Benefits How I port . About Gentoo Linux distribution without rpm without deb build everything from source like ports and pkgsrc Naohiro Aota Porting Gentoo to DragonFly
  • 8. Introduction Gentoo Benefits How I port . Portage Package management and build system ebuild: package file bash script executed within special environment Naohiro Aota Porting Gentoo to DragonFly
  • 9. Introduction Gentoo Benefits How I port . Getnoo/*BSD one of Gentoo projects BSD based Gentoo like Debian/kFreeBSD Naohiro Aota Porting Gentoo to DragonFly
  • 10. Introduction Gentoo Benefits How I port . Gentoo/*BSD (2) kernel C library/userland Debian/kFreeBSD FreeBSD GNU Gentoo/*BSD *BSD *BSD Gentoo/*BSD support FreeBSD (7.2 and 8.0 on x86) unofficial amd64 is also available NetBSD (5.0 on x86) (experiment) DragonFly (2.6.3) (unofficial) Naohiro Aota Porting Gentoo to DragonFly
  • 11. Introduction Gentoo Benefits How I port . Portage Repository like Ports, Portage has local repository tree FreeBSD Ports /usr/ports editors/emacs Makefile Gentoo Portage /usr/portage app-editors/emacs emacs-18.59-r6.ebuild <snip> emacs-23.3.ebuild Use command line tool to install package No “cd”, just “emerge foobar” Naohiro Aota Porting Gentoo to DragonFly
  • 12. Introduction Gentoo Benefits How I port . USE flag FreeBSD ports WITH_PNG=true Gentoo Portage USE=”png” Naohiro Aota Porting Gentoo to DragonFly
  • 13. Introduction Gentoo Benefits How I port . Why Gentoo? Gentoo = build everything from source Naohiro Aota Porting Gentoo to DragonFly
  • 14. Introduction Gentoo Benefits How I port . Why Gentoo? Gentoo = build everything from source Why not Ports? Why not pkgsrc? Why Gentoo? Naohiro Aota Porting Gentoo to DragonFly
  • 15. Introduction Gentoo Benefits How I port . Why Gentoo? Gentoo = build everything from source Why not Ports? Why not pkgsrc? Why Gentoo? Talk about Gentoo benefits Naohiro Aota Porting Gentoo to DragonFly
  • 16. Introduction Gentoo Benefits How I port . Able to select version Old version provided eselect Naohiro Aota Porting Gentoo to DragonFly
  • 17. Introduction Gentoo Benefits How I port . eselect FreeBSD ports lang/python25, python26, python27, python31 Gentoo Portage dev-lang/python eselect Naohiro Aota Porting Gentoo to DragonFly
  • 18. Introduction Gentoo Benefits How I port . Parallel build Ports: build B -> C -> A Portage: parallel package installation build B and C in parallel and then build A Naohiro Aota Porting Gentoo to DragonFly
  • 19. Introduction Gentoo Benefits How I port . news item notify important changes Ports: DONT forget to read /usr/ports/UPDATING Portage: notification displayed package specific news Ports: grep AFFECTS line Portage: hide not affecting news Naohiro Aota Porting Gentoo to DragonFly
  • 20. Introduction Gentoo Benefits How I port . multi repositories handle multi repositories repository management tool: layman support many sync method just one command sync all repositories Naohiro Aota Porting Gentoo to DragonFly
  • 21. Introduction Gentoo Benefits How I port . sandbox To avoid evil packages Separate install process from system Avoid read from/write to system Naohiro Aota Porting Gentoo to DragonFly
  • 22. Introduction Gentoo Benefits How I port . sandbox problem with DragonFly sandbox read /proc to determine process name DragonFly return different errno Use LD_PRELOAD hack static linked /bin/* dynamic lined libgcc Naohiro Aota Porting Gentoo to DragonFly
  • 23. Introduction Gentoo Benefits How I port . OpenRC service management system Dependency based startup Parallel startup/shutdown Naohiro Aota Porting Gentoo to DragonFly
  • 24. Introduction Gentoo Benefits How I port . Catalyst release metatool used for creating releases based on Gentoo Linux LiveCD install minimal file Naohiro Aota Porting Gentoo to DragonFly
  • 25. Introduction Gentoo Benefits How I port . Catalyst problem Linuxism / GNUism / bashism sed Naohiro Aota Porting Gentoo to DragonFly
  • 26. Introduction Gentoo Benefits How I port . Conclusion Portage is much like Ports but has superior features Maintaining Portage package may help *BSD Detect Linuxism, GNUism and bashism sending patch to upstream Naohiro Aota Porting Gentoo to DragonFly
  • 27. Introduction Gentoo Benefits How I port . Detail in porting (maybe) boring technical details (maybe) sleep time ;) Naohiro Aota Porting Gentoo to DragonFly
  • 28. Introduction Gentoo Benefits How I port . roadmap Install official DragonFly Install Portage Create repository for DragonFly Write system packages Build, fix, and build . . . Naohiro Aota Porting Gentoo to DragonFly
  • 29. Introduction Gentoo Benefits How I port . Install Portage Install Python and just unpack Portage source run self test script patch to fix mkdir(“/”) needed Naohiro Aota Porting Gentoo to DragonFly
  • 30. Introduction Gentoo Benefits How I port . Setup tree for DragonFly Create own repository for x86-dfbsd Repository layout repository name architecture support DragonFly system package category Naohiro Aota Porting Gentoo to DragonFly
  • 31. Introduction Gentoo Benefits How I port . profiles Specify system core packages What package should not be used What USE flag should/should not be used Naohiro Aota Porting Gentoo to DragonFly
  • 32. Introduction Gentoo Benefits How I port . baselayout Gentoo primitive package Basic configuration files /etc/hosts, shells . . . need to work on DragonFly Naohiro Aota Porting Gentoo to DragonFly
  • 33. Introduction Gentoo Benefits How I port . sandbox Feature a Gentoo util Separate install process from system Avoid read from/write to system Problem /proc entry ERANGE vs ENAMETOOLONG Naohiro Aota Porting Gentoo to DragonFly
  • 34. Introduction Gentoo Benefits How I port . OpenRC Feature Gentoo service management system Dependency based service startup and shutdown Problem When shutdown Wait for all process to stop Kernel thread (pid = -1) exists and cannot be killed Naohiro Aota Porting Gentoo to DragonFly
  • 35. Introduction Gentoo Benefits How I port . ld-elf.so.2 problem Problem Cannot load any library cause segmentation fault Solution need to change binary format from “em=freebsd”, “targ_emul=elf_i386_fbsd” to “em=386bsd”, “targ_emul=elf_i386” Naohiro Aota Porting Gentoo to DragonFly
  • 36. Introduction Gentoo Benefits How I port . linking problems Problem “sandbox” access check problem LD_PRELOAD hack not worked /bin/* static linked Solution Changed to link dynamically to libc.so Naohiro Aota Porting Gentoo to DragonFly
  • 37. Introduction Gentoo Benefits How I port . libgcc linking problem Problem /bin/* dynamically linked to libgcc_s.so under /usr Solution Modify dragonfly-spec.h to link libgcc statically Naohiro Aota Porting Gentoo to DragonFly