Your SlideShare is downloading. ×
0
Introduction Gentoo Benefits How I port.             Porting Gentoo to DragonFly.                                   Naohiro...
Introduction Gentoo Benefits How I port. Presentation Aims      To show Gentoo benefits                                Naohi...
Introduction Gentoo Benefits How I port. Presentation Aims      To show Gentoo benefits      To get more Gentoo/BSD users   ...
Introduction Gentoo Benefits How I port. Presentation Aims      To show Gentoo benefits      To get more Gentoo/BSD users   ...
Introduction Gentoo Benefits How I port. Agenda      Gentoo and Gentoo/*BSD      Gentoo Benefits: Ports vs Portage      (How...
Introduction Gentoo Benefits How I port. About DragonFly?   Visit http://www.dragonflybsd.org/                              ...
Introduction Gentoo Benefits How I port. About Gentoo      Linux distribution            without rpm            without deb...
Introduction Gentoo Benefits How I port. Portage      Package management and build system      ebuild: package file         ...
Introduction Gentoo Benefits How I port. Getnoo/*BSD     one of Gentoo projects     BSD based Gentoo           like Debian/...
Introduction Gentoo Benefits How I port. Gentoo/*BSD (2)                                        kernel        C library/use...
Introduction Gentoo Benefits How I port. Portage Repository      like Ports, Portage has local repository tree             ...
Introduction Gentoo Benefits How I port. USE flag      FreeBSD ports            WITH_PNG=true      Gentoo Portage           ...
Introduction Gentoo Benefits How I port. Why Gentoo?     Gentoo = build everything from source                             ...
Introduction Gentoo Benefits How I port. Why Gentoo?     Gentoo = build everything from source     Why not Ports?     Why n...
Introduction Gentoo Benefits How I port. Why Gentoo?     Gentoo = build everything from source     Why not Ports?     Why n...
Introduction Gentoo Benefits How I port. Able to select version       Old version provided       eselect                   ...
Introduction Gentoo Benefits How I port. eselect       FreeBSD ports             lang/python25, python26, python27, python3...
Introduction Gentoo Benefits How I port. Parallel build       Ports: build B -> C -> A       Portage: parallel package inst...
Introduction Gentoo Benefits How I port. news item      notify important changes            Ports: DONT forget to read /usr...
Introduction Gentoo Benefits How I port. multi repositories       handle multi repositories       repository management too...
Introduction Gentoo Benefits How I port. sandbox      To avoid evil packages            Separate install process from syste...
Introduction Gentoo Benefits How I port. sandbox problem with DragonFly      sandbox read /proc to determine process name  ...
Introduction Gentoo Benefits How I port. OpenRC     service management system     Dependency based startup     Parallel sta...
Introduction Gentoo Benefits How I port. Catalyst       release metatool used for creating releases based on Gentoo       L...
Introduction Gentoo Benefits How I port. Catalyst problem      Linuxism / GNUism / bashism            sed                  ...
Introduction Gentoo Benefits How I port. Conclusion      Portage is much like Ports            but has superior features   ...
Introduction Gentoo Benefits How I port. Detail in porting       (maybe) boring technical details       (maybe) sleep time ...
Introduction Gentoo Benefits How I port. roadmap      Install official DragonFly      Install Portage      Create repository ...
Introduction Gentoo Benefits How I port. Install Portage       Install Python       and just unpack Portage source       ru...
Introduction Gentoo Benefits How I port. Setup tree for DragonFly       Create own repository for x86-dfbsd       Repositor...
Introduction Gentoo Benefits How I port. profiles       Specify system core packages       What package should not be used  ...
Introduction Gentoo Benefits How I port. baselayout       Gentoo primitive package       Basic configuration files       /etc...
Introduction Gentoo Benefits How I port. sandbox      Feature            a Gentoo util            Separate install process ...
Introduction Gentoo Benefits How I port. OpenRC     Feature           Gentoo service management system           Dependency...
Introduction Gentoo Benefits How I port. ld-elf.so.2 problem       Problem             Cannot load any library             ...
Introduction Gentoo Benefits How I port. linking problems       Problem             “sandbox” access check problem         ...
Introduction Gentoo Benefits How I port. libgcc linking problem       Problem             /bin/* dynamically linked to libg...
Upcoming SlideShare
Loading in...5
×

Porting Gentoo to DragonFly

1,580

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,580
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Porting Gentoo to DragonFly"

  1. 1. Introduction Gentoo Benefits How I port. Porting Gentoo to DragonFly. Naohiro Aota 03/20 2011 Naohiro Aota Porting Gentoo to DragonFly
  2. 2. Introduction Gentoo Benefits How I port. Presentation Aims To show Gentoo benefits Naohiro Aota Porting Gentoo to DragonFly
  3. 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. 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. 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. 6. Introduction Gentoo Benefits How I port. About DragonFly? Visit http://www.dragonflybsd.org/ Naohiro Aota Porting Gentoo to DragonFly
  7. 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. 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. 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. 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. 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. 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. 13. Introduction Gentoo Benefits How I port. Why Gentoo? Gentoo = build everything from source Naohiro Aota Porting Gentoo to DragonFly
  14. 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. 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. 16. Introduction Gentoo Benefits How I port. Able to select version Old version provided eselect Naohiro Aota Porting Gentoo to DragonFly
  17. 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. 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. 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. 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. 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. 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. 23. Introduction Gentoo Benefits How I port. OpenRC service management system Dependency based startup Parallel startup/shutdown Naohiro Aota Porting Gentoo to DragonFly
  24. 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. 25. Introduction Gentoo Benefits How I port. Catalyst problem Linuxism / GNUism / bashism sed Naohiro Aota Porting Gentoo to DragonFly
  26. 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. 27. Introduction Gentoo Benefits How I port. Detail in porting (maybe) boring technical details (maybe) sleep time ;) Naohiro Aota Porting Gentoo to DragonFly
  28. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×