SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
„HaeRWu” Marcin Juszkiewicz




    OpenEmbedded
       Wprowadzenie

    Marcin Juszkiewicz


                 Poznań
               2006.10.18




1   2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz

                                   OpenEmbedded i ja

    ●   Czerwiec 2003: Palm M105 – by sprawdzić, czy palmtop jest tym czego szukałem
    ●   Wrzesień 2003: Sony Clie SJ30 – ekran wysokiej rozdzielczości, niestety słabo
        wspierany przez system
    ●   Luty 2004: Sharp Zaurus SL-5500 – bo dobrze jest móc pogrzebać w systemie
    ●   Marzec 2004: Pierwszy kontakt z OpenEmbedded – chciałem coś skompilować nas
        Zaurusa
    ●   Maj 2004: Dołączyłem do teamu OpenEmbedded jako opiekun SL-5500
    ●   Kwiecień 2005: Przesiadka na Sharp Zaurus C-760
    ●   Grudzień 2005: Michael Lauer przekazał mi zarządzanie dystrybucją OpenZaurus
    ●   Marzec 2006: OpenZaurus 3.5.4 wydany – przez wielu ogłoszony najlepszą wersją
    ●   Czerwiec 2006: OpenZaurus 3.5.4.1 wydany – wszystkie modele wspierane
    ●   Sierpień 2006: Pierwsza testowa wersja OpenZaurusa z kernelem 2.6 dla SL-5600 i SL-
        6000
    ●   Wrzesień 2006: Założyłem własną firmę „HaeRWu” zajmującą się konsultacjami
        związanymi z OpenEmbedded

2                             2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz

                             Czym jest OpenEmbedded?

    ●   w pełni otwartym rozwiązaniem problemów z kompilacją skrośną
    ●   systemem rozwijanym przez pasjonatów
    ●   projektem niezależnym od żadnej firmy komercyjnej
    ●   narzędziem tworzącym systemy plików gotowe do użycia na docelowych urządzeniach
    ●   odpowiedzią na dystrybucje wymagające 200 MiB dysku na podstawowy system




3                            2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz

                                           Historia

    ●   2001: Sharp wypuszcza na rynek swego pierwszego LinuxPDA: Sharp Zaurus SL-5000
    ●   2002: Chris Larson zaczyna prace nad własną dystrybucją o nazwie „OpenZaurus”
    ●   2002-2003: Buildsystem używany przez developerów (buildroot) staje się coraz
        bardziej niewygodny przy dodawaniu nowych pakietów i urządzeń
    ●   Styczeń 2003: Dyskusje nad nowym systemem do budowania oprogramowania – ma
        być niezależny od dystrybucji i urządzeń
    ●   Luty 2003: Holger Schurig tworzy pierwszą wersję OpenEmbedded
    ●   Maj 2003: Chris Larson rozwija funkcjonalność OpenEmbedded i zaczyna konwertować
        pakiety z poprzedniego systemu
    ●   Grudzień 2003: Michael Lauer wypuszcza OpenZaurus-a 3.3.5 będącego ostatnią
        wersją zbudowaną przy użyciu poprzedniego systemu
    ●   Maj 2004: Marcin Juszkiewicz dołącza do teamu OpenEmbedded
    ●   Grudzień 2004: OpenEmbedded zostaje podzielony na BitBake i metadane
    ●   Lipiec 2005: OpenEmbedded przechodzi z BitKeepera na Monotone




4                             2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz

                              Możliwości OpenEmbedded

    ●   umożliwia budowanie oprogramowania i całych dystrybucji
    ●   automatyczne generowane zależności pomiędzy pakietami
    ●   obsługa kompilacji skrośnej
    ●   niezależność od dystrybucji i architektury
    ●   umożliwia definiowanie dowolnej liczby zadań w ramach pakietu
    ●   umożliwia kooperację różnych projektów w ramach jednych metadanych
    ●   posiada prosty format pakietów
    ●   budowanie z zależnościami od docelowego urządzenia, dystrybucji, architektury
    ●   duża granulacja pakietów (dokumentacja osobno, lokalizacje osobno)




5                              2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz

                               Kto używa OpenEmbedded

    Dystrybucje:
      ●   Ångström
      ●   Familiar
      ●   JLime
      ●   Nylon
      ●   OpenOmap
      ●   OpenSlug
      ●   OpenZaurus


    Firmy:
      ●   4G-Systems (Meshcube router)
      ●   AMD
      ●   CELF (Consumer Electronics Linux Forum)
      ●   Dream Multimedia TV (Dreambox DVB settopbox)
      ●   Siemens




6                              2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz

                                     Wspierane urządzenia

    Palmtopy:
      ●   Sharp Zaurus (wszystkie modele poza SL-A300)
      ●   iPaQ h1910, h1940, h3600, h3900, h5400, h2200, hx2000, h4000, hx4700, h6300
      ●   HP Jornada 5xx, 6xx, 7xx
      ●   Nokia 770
      ●   Psion NetBook Pro
      ●   Siemens SIMpad


    Routery, serwery plików:
      ●   Linksys NSLU2
      ●

      ●   Linksys WRT54
      ●   Meshcube
      ●   ASUS wl500g


    A także:
      ●   różne devboardy,
      ●   komputery domowe,
      ●   settopboksy (np. Dreambox DVB).


7                               2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz

                                                   Pakiety

    Dostępne pakiety:
      ●   toolchainy bazujące na glibc, uclibc
      ●   różne programy przydatne developerom (debugery, testy)
      ●   aplikacje sieciowe, daemony
      ●   X.Org 7.1
      ●   GCC 3.3.x, 3.4.x, 4.1.x
      ●   GPE Palmtop Environment
      ●   Open Palmtop Integrated Environment
      ●   języki programowania takie jak Perl, PHP, Python, Ruby



    Ogółem OpenEmbedded zawiera prawie 4000 pakietów co przekłada się na ponad 12000
    pakietów gotowych do użycia na docelowych urządzeniach.




8                                   2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz

                           Przykładowy opis urządzenia

    #@TYPE: Machine
    #@NAME: OMAP5912 cpu on an OSK board

    #@DESCRIPTION: Machine configuration for the OMAP Starter Kit with a 5912
    processor



    TARGET_ARCH = quot;armquot;

    IPKG_EXTRA_ARCHS = quot;armv5tequot;



    PREFERRED_PROVIDER_virtual/kernel = quot;linux-omap1quot;



    SERIAL_CONSOLE ?= quot;115200 ttyS0quot;

    EXTRA_IMAGECMD_jffs2 = quot;--pad --little-endian --eraseblock=0x20000 -nquot;



    MACHINE_FEATURES = quot;kernel26 pcmcia usbhostquot;



    include conf/machine/include/tune-arm926ejs.conf

9                           2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz

                                       Przykładowa dystrybucja

     #@TYPE: Distribution
     #@NAME: OpenOMAP
     #@DESCRIPTION: OE Distribution for TI OMAP Development Boards


     INHERIT += quot; package_ipk debian multimachinequot;
     TARGET_OS = quot;linuxquot;
     TARGET_FPU = quot;softquot;


     PREFERRED_VERSION_linux-omap1_omap5912osk ?= quot;2.6.18+gitquot;


     # toolchain
     PREFERRED_VERSION_gcc = quot;4.1.1quot;
     PREFERRED_VERSION_gcc-cross = quot;4.1.1quot;
     PREFERRED_VERSION_gcc-cross-initial = quot;4.1.1quot;
     PREFERRED_VERSION_binutils = quot;2.17quot;
     PREFERRED_VERSION_binutils-cross = quot;2.17quot;
     PREFERRED_VERSION_linux-libc-headers = quot;2.6.15.99quot;
     PREFERRED_VERSION_glibc = quot;2.4quot;
     PREFERRED_VERSION_glibc-intermediate = quot;2.4quot;


     # We want images supporting the following features (for task-base)
     DISTRO_FEATURES = quot;nfs pcmcia usbhostquot;
     PCMCIA_MANAGER = quot;pcmciautilsquot;




10                                    2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz

                                      Przykładowy pakiet

     DESCRIPTION = quot;GNU nano (Nano's ANOther editor, or Not ANOther editor) is an enhanced 
     clone of the Pico text editor.quot;

     HOMEPAGE = quot;http://www.nano-editor.org/quot;

     LICENSE = quot;GPLv2quot;

     SECTION = quot;console/utilsquot;

     DEPENDS = quot;ncursesquot;



     SRC_URI = quot;http://www.nano-editor.org/dist/v1.3/nano-${PV}.tar.gz 

                file://glib.m4quot;



     inherit autotools



     do_configure_prepend () {

             install -m 0644 ${WORKDIR}/glib.m4 m4/

     }




11                                2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz




             Pytania




12   2006.10.18 OpenEmbedded. Wprowadzenie
„HaeRWu” Marcin Juszkiewicz




     Dziękuję za uwagę

            Marcin Juszkiewicz

       e-mail: haerwu@haerwu.biz



           http://blog.haerwu.biz/




13     2006.10.18 OpenEmbedded. Wprowadzenie

Contenu connexe

Tendances

100 sposobów na BSD
100 sposobów na BSD100 sposobów na BSD
100 sposobów na BSD
Wydawnictwo Helion
 
Po prostu Red Hat Linux 8
Po prostu Red Hat Linux 8Po prostu Red Hat Linux 8
Po prostu Red Hat Linux 8
Wydawnictwo Helion
 
Fedora Core 2. Księga eksperta
Fedora Core 2. Księga ekspertaFedora Core 2. Księga eksperta
Fedora Core 2. Księga eksperta
Wydawnictwo Helion
 
Linux. Rozwiązywanie problemów. Biblia
Linux. Rozwiązywanie problemów. BibliaLinux. Rozwiązywanie problemów. Biblia
Linux. Rozwiązywanie problemów. Biblia
Wydawnictwo Helion
 
Red Hat Linux 7.3. Księga eksperta
Red Hat Linux 7.3. Księga ekspertaRed Hat Linux 7.3. Księga eksperta
Red Hat Linux 7.3. Księga eksperta
Wydawnictwo Helion
 
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalistyMySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
Wydawnictwo Helion
 
Fedora Core 2 dla każdego
Fedora Core 2 dla każdegoFedora Core 2 dla każdego
Fedora Core 2 dla każdego
Wydawnictwo Helion
 
Red Hat Enterprise Linux i Fedora Core 2. Wprowadzenie
Red Hat Enterprise Linux i Fedora Core 2. WprowadzenieRed Hat Enterprise Linux i Fedora Core 2. Wprowadzenie
Red Hat Enterprise Linux i Fedora Core 2. Wprowadzenie
Wydawnictwo Helion
 
OpenBSD. Tworzenie firewalli za pomocą PF
OpenBSD. Tworzenie firewalli za pomocą PFOpenBSD. Tworzenie firewalli za pomocą PF
OpenBSD. Tworzenie firewalli za pomocą PF
Wydawnictwo Helion
 
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PROIDEA
 
Slackware Linux. Ćwiczenia
Slackware Linux. ĆwiczeniaSlackware Linux. Ćwiczenia
Slackware Linux. Ćwiczenia
Wydawnictwo Helion
 

Tendances (20)

100 sposobów na BSD
100 sposobów na BSD100 sposobów na BSD
100 sposobów na BSD
 
Po prostu Red Hat Linux 8
Po prostu Red Hat Linux 8Po prostu Red Hat Linux 8
Po prostu Red Hat Linux 8
 
Fedora Core 2. Księga eksperta
Fedora Core 2. Księga ekspertaFedora Core 2. Księga eksperta
Fedora Core 2. Księga eksperta
 
PHP. Programowanie w systemie Windows. Vademecum profesjonalisty
PHP. Programowanie w systemie Windows. Vademecum profesjonalistyPHP. Programowanie w systemie Windows. Vademecum profesjonalisty
PHP. Programowanie w systemie Windows. Vademecum profesjonalisty
 
PLNOG19 - Jakub Słociński - Wieloprocesorowa platforma x86 a wydajny routing ...
PLNOG19 - Jakub Słociński - Wieloprocesorowa platforma x86 a wydajny routing ...PLNOG19 - Jakub Słociński - Wieloprocesorowa platforma x86 a wydajny routing ...
PLNOG19 - Jakub Słociński - Wieloprocesorowa platforma x86 a wydajny routing ...
 
PHP i memcached, zaawansowane przypadki użycia
PHP i memcached, zaawansowane przypadki użyciaPHP i memcached, zaawansowane przypadki użycia
PHP i memcached, zaawansowane przypadki użycia
 
Linux. Rozwiązywanie problemów. Biblia
Linux. Rozwiązywanie problemów. BibliaLinux. Rozwiązywanie problemów. Biblia
Linux. Rozwiązywanie problemów. Biblia
 
Red Hat Linux 7.3. Księga eksperta
Red Hat Linux 7.3. Księga ekspertaRed Hat Linux 7.3. Księga eksperta
Red Hat Linux 7.3. Księga eksperta
 
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalistyMySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty
 
Fedora Core 2 dla każdego
Fedora Core 2 dla każdegoFedora Core 2 dla każdego
Fedora Core 2 dla każdego
 
Docker praktyczne podstawy
Docker  praktyczne podstawyDocker  praktyczne podstawy
Docker praktyczne podstawy
 
Automatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
Automatyzacja tworzenia maszyn wirtualnych Magdalena WojnarowskaAutomatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
Automatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
 
Red Hat Enterprise Linux i Fedora Core 2. Wprowadzenie
Red Hat Enterprise Linux i Fedora Core 2. WprowadzenieRed Hat Enterprise Linux i Fedora Core 2. Wprowadzenie
Red Hat Enterprise Linux i Fedora Core 2. Wprowadzenie
 
Bootloadery i programy bare metal.
Bootloadery i programy bare metal.Bootloadery i programy bare metal.
Bootloadery i programy bare metal.
 
OpenBSD. Tworzenie firewalli za pomocą PF
OpenBSD. Tworzenie firewalli za pomocą PFOpenBSD. Tworzenie firewalli za pomocą PF
OpenBSD. Tworzenie firewalli za pomocą PF
 
Serwer internetowy w systemie Linux
Serwer internetowy w systemie LinuxSerwer internetowy w systemie Linux
Serwer internetowy w systemie Linux
 
Jak stworzyć wysokowydajny i skalowalny stos sieciowy dla 72 rdzeni CPU?
Jak stworzyć wysokowydajny i skalowalny stos sieciowy dla 72 rdzeni CPU?Jak stworzyć wysokowydajny i skalowalny stos sieciowy dla 72 rdzeni CPU?
Jak stworzyć wysokowydajny i skalowalny stos sieciowy dla 72 rdzeni CPU?
 
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
 
Barcamp 08/06/2010
Barcamp 08/06/2010Barcamp 08/06/2010
Barcamp 08/06/2010
 
Slackware Linux. Ćwiczenia
Slackware Linux. ĆwiczeniaSlackware Linux. Ćwiczenia
Slackware Linux. Ćwiczenia
 

Similaire à Wprowadzenie do OpenEmbedded

Pocałunek śmierci
Pocałunek śmierciPocałunek śmierci
Pocałunek śmierci
Divante
 
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerFull Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Marek Będkowski
 
OpenBSD. Podstawy administracji systemem
OpenBSD. Podstawy administracji systememOpenBSD. Podstawy administracji systemem
OpenBSD. Podstawy administracji systemem
Wydawnictwo Helion
 
SUSE Linux 10. Księga eksperta
SUSE Linux 10. Księga ekspertaSUSE Linux 10. Księga eksperta
SUSE Linux 10. Księga eksperta
Wydawnictwo Helion
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
GaldoMedia
 
Mandrake Linux
Mandrake LinuxMandrake Linux
Mandrake Linux
Wydawnictwo Helion
 
Onet barcamp 4 - Cloud Storage
Onet barcamp 4  - Cloud StorageOnet barcamp 4  - Cloud Storage
Onet barcamp 4 - Cloud Storage
OnetIT
 

Similaire à Wprowadzenie do OpenEmbedded (20)

Prezentacja o X11
Prezentacja o X11Prezentacja o X11
Prezentacja o X11
 
Pocałunek śmierci
Pocałunek śmierciPocałunek śmierci
Pocałunek śmierci
 
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
 
PLNOG 18 - Marcin Kuczera- ONT idealny
PLNOG 18 - Marcin Kuczera- ONT idealny PLNOG 18 - Marcin Kuczera- ONT idealny
PLNOG 18 - Marcin Kuczera- ONT idealny
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerFull Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
 
PLNOG 13: Adam Heczko: Openstack, Ceph, SDN
PLNOG 13: Adam Heczko: Openstack, Ceph, SDNPLNOG 13: Adam Heczko: Openstack, Ceph, SDN
PLNOG 13: Adam Heczko: Openstack, Ceph, SDN
 
Shall we play a game? PL version
Shall we play a game? PL versionShall we play a game? PL version
Shall we play a game? PL version
 
Programowanie sterowników w Linuksie.
Programowanie sterowników w Linuksie.Programowanie sterowników w Linuksie.
Programowanie sterowników w Linuksie.
 
OpenBSD. Podstawy administracji systemem
OpenBSD. Podstawy administracji systememOpenBSD. Podstawy administracji systemem
OpenBSD. Podstawy administracji systemem
 
SUSE Linux 10. Księga eksperta
SUSE Linux 10. Księga ekspertaSUSE Linux 10. Księga eksperta
SUSE Linux 10. Księga eksperta
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
 
Praca Dyplomowa
Praca DyplomowaPraca Dyplomowa
Praca Dyplomowa
 
Praca Dyplomowa
Praca DyplomowaPraca Dyplomowa
Praca Dyplomowa
 
Mandrake Linux
Mandrake LinuxMandrake Linux
Mandrake Linux
 
3
33
3
 
Instalacja sterowników urządzeń peryferyjnych
 Instalacja sterowników urządzeń peryferyjnych Instalacja sterowników urządzeń peryferyjnych
Instalacja sterowników urządzeń peryferyjnych
 
Iron Python I Dlr
Iron Python I DlrIron Python I Dlr
Iron Python I Dlr
 
Onet barcamp 4 - Cloud Storage
Onet barcamp 4  - Cloud StorageOnet barcamp 4  - Cloud Storage
Onet barcamp 4 - Cloud Storage
 

Wprowadzenie do OpenEmbedded

  • 1. „HaeRWu” Marcin Juszkiewicz OpenEmbedded Wprowadzenie Marcin Juszkiewicz Poznań 2006.10.18 1 2006.10.18 OpenEmbedded. Wprowadzenie
  • 2. „HaeRWu” Marcin Juszkiewicz OpenEmbedded i ja ● Czerwiec 2003: Palm M105 – by sprawdzić, czy palmtop jest tym czego szukałem ● Wrzesień 2003: Sony Clie SJ30 – ekran wysokiej rozdzielczości, niestety słabo wspierany przez system ● Luty 2004: Sharp Zaurus SL-5500 – bo dobrze jest móc pogrzebać w systemie ● Marzec 2004: Pierwszy kontakt z OpenEmbedded – chciałem coś skompilować nas Zaurusa ● Maj 2004: Dołączyłem do teamu OpenEmbedded jako opiekun SL-5500 ● Kwiecień 2005: Przesiadka na Sharp Zaurus C-760 ● Grudzień 2005: Michael Lauer przekazał mi zarządzanie dystrybucją OpenZaurus ● Marzec 2006: OpenZaurus 3.5.4 wydany – przez wielu ogłoszony najlepszą wersją ● Czerwiec 2006: OpenZaurus 3.5.4.1 wydany – wszystkie modele wspierane ● Sierpień 2006: Pierwsza testowa wersja OpenZaurusa z kernelem 2.6 dla SL-5600 i SL- 6000 ● Wrzesień 2006: Założyłem własną firmę „HaeRWu” zajmującą się konsultacjami związanymi z OpenEmbedded 2 2006.10.18 OpenEmbedded. Wprowadzenie
  • 3. „HaeRWu” Marcin Juszkiewicz Czym jest OpenEmbedded? ● w pełni otwartym rozwiązaniem problemów z kompilacją skrośną ● systemem rozwijanym przez pasjonatów ● projektem niezależnym od żadnej firmy komercyjnej ● narzędziem tworzącym systemy plików gotowe do użycia na docelowych urządzeniach ● odpowiedzią na dystrybucje wymagające 200 MiB dysku na podstawowy system 3 2006.10.18 OpenEmbedded. Wprowadzenie
  • 4. „HaeRWu” Marcin Juszkiewicz Historia ● 2001: Sharp wypuszcza na rynek swego pierwszego LinuxPDA: Sharp Zaurus SL-5000 ● 2002: Chris Larson zaczyna prace nad własną dystrybucją o nazwie „OpenZaurus” ● 2002-2003: Buildsystem używany przez developerów (buildroot) staje się coraz bardziej niewygodny przy dodawaniu nowych pakietów i urządzeń ● Styczeń 2003: Dyskusje nad nowym systemem do budowania oprogramowania – ma być niezależny od dystrybucji i urządzeń ● Luty 2003: Holger Schurig tworzy pierwszą wersję OpenEmbedded ● Maj 2003: Chris Larson rozwija funkcjonalność OpenEmbedded i zaczyna konwertować pakiety z poprzedniego systemu ● Grudzień 2003: Michael Lauer wypuszcza OpenZaurus-a 3.3.5 będącego ostatnią wersją zbudowaną przy użyciu poprzedniego systemu ● Maj 2004: Marcin Juszkiewicz dołącza do teamu OpenEmbedded ● Grudzień 2004: OpenEmbedded zostaje podzielony na BitBake i metadane ● Lipiec 2005: OpenEmbedded przechodzi z BitKeepera na Monotone 4 2006.10.18 OpenEmbedded. Wprowadzenie
  • 5. „HaeRWu” Marcin Juszkiewicz Możliwości OpenEmbedded ● umożliwia budowanie oprogramowania i całych dystrybucji ● automatyczne generowane zależności pomiędzy pakietami ● obsługa kompilacji skrośnej ● niezależność od dystrybucji i architektury ● umożliwia definiowanie dowolnej liczby zadań w ramach pakietu ● umożliwia kooperację różnych projektów w ramach jednych metadanych ● posiada prosty format pakietów ● budowanie z zależnościami od docelowego urządzenia, dystrybucji, architektury ● duża granulacja pakietów (dokumentacja osobno, lokalizacje osobno) 5 2006.10.18 OpenEmbedded. Wprowadzenie
  • 6. „HaeRWu” Marcin Juszkiewicz Kto używa OpenEmbedded Dystrybucje: ● Ångström ● Familiar ● JLime ● Nylon ● OpenOmap ● OpenSlug ● OpenZaurus Firmy: ● 4G-Systems (Meshcube router) ● AMD ● CELF (Consumer Electronics Linux Forum) ● Dream Multimedia TV (Dreambox DVB settopbox) ● Siemens 6 2006.10.18 OpenEmbedded. Wprowadzenie
  • 7. „HaeRWu” Marcin Juszkiewicz Wspierane urządzenia Palmtopy: ● Sharp Zaurus (wszystkie modele poza SL-A300) ● iPaQ h1910, h1940, h3600, h3900, h5400, h2200, hx2000, h4000, hx4700, h6300 ● HP Jornada 5xx, 6xx, 7xx ● Nokia 770 ● Psion NetBook Pro ● Siemens SIMpad Routery, serwery plików: ● Linksys NSLU2 ● ● Linksys WRT54 ● Meshcube ● ASUS wl500g A także: ● różne devboardy, ● komputery domowe, ● settopboksy (np. Dreambox DVB). 7 2006.10.18 OpenEmbedded. Wprowadzenie
  • 8. „HaeRWu” Marcin Juszkiewicz Pakiety Dostępne pakiety: ● toolchainy bazujące na glibc, uclibc ● różne programy przydatne developerom (debugery, testy) ● aplikacje sieciowe, daemony ● X.Org 7.1 ● GCC 3.3.x, 3.4.x, 4.1.x ● GPE Palmtop Environment ● Open Palmtop Integrated Environment ● języki programowania takie jak Perl, PHP, Python, Ruby Ogółem OpenEmbedded zawiera prawie 4000 pakietów co przekłada się na ponad 12000 pakietów gotowych do użycia na docelowych urządzeniach. 8 2006.10.18 OpenEmbedded. Wprowadzenie
  • 9. „HaeRWu” Marcin Juszkiewicz Przykładowy opis urządzenia #@TYPE: Machine #@NAME: OMAP5912 cpu on an OSK board #@DESCRIPTION: Machine configuration for the OMAP Starter Kit with a 5912 processor TARGET_ARCH = quot;armquot; IPKG_EXTRA_ARCHS = quot;armv5tequot; PREFERRED_PROVIDER_virtual/kernel = quot;linux-omap1quot; SERIAL_CONSOLE ?= quot;115200 ttyS0quot; EXTRA_IMAGECMD_jffs2 = quot;--pad --little-endian --eraseblock=0x20000 -nquot; MACHINE_FEATURES = quot;kernel26 pcmcia usbhostquot; include conf/machine/include/tune-arm926ejs.conf 9 2006.10.18 OpenEmbedded. Wprowadzenie
  • 10. „HaeRWu” Marcin Juszkiewicz Przykładowa dystrybucja #@TYPE: Distribution #@NAME: OpenOMAP #@DESCRIPTION: OE Distribution for TI OMAP Development Boards INHERIT += quot; package_ipk debian multimachinequot; TARGET_OS = quot;linuxquot; TARGET_FPU = quot;softquot; PREFERRED_VERSION_linux-omap1_omap5912osk ?= quot;2.6.18+gitquot; # toolchain PREFERRED_VERSION_gcc = quot;4.1.1quot; PREFERRED_VERSION_gcc-cross = quot;4.1.1quot; PREFERRED_VERSION_gcc-cross-initial = quot;4.1.1quot; PREFERRED_VERSION_binutils = quot;2.17quot; PREFERRED_VERSION_binutils-cross = quot;2.17quot; PREFERRED_VERSION_linux-libc-headers = quot;2.6.15.99quot; PREFERRED_VERSION_glibc = quot;2.4quot; PREFERRED_VERSION_glibc-intermediate = quot;2.4quot; # We want images supporting the following features (for task-base) DISTRO_FEATURES = quot;nfs pcmcia usbhostquot; PCMCIA_MANAGER = quot;pcmciautilsquot; 10 2006.10.18 OpenEmbedded. Wprowadzenie
  • 11. „HaeRWu” Marcin Juszkiewicz Przykładowy pakiet DESCRIPTION = quot;GNU nano (Nano's ANOther editor, or Not ANOther editor) is an enhanced clone of the Pico text editor.quot; HOMEPAGE = quot;http://www.nano-editor.org/quot; LICENSE = quot;GPLv2quot; SECTION = quot;console/utilsquot; DEPENDS = quot;ncursesquot; SRC_URI = quot;http://www.nano-editor.org/dist/v1.3/nano-${PV}.tar.gz file://glib.m4quot; inherit autotools do_configure_prepend () { install -m 0644 ${WORKDIR}/glib.m4 m4/ } 11 2006.10.18 OpenEmbedded. Wprowadzenie
  • 12. „HaeRWu” Marcin Juszkiewicz Pytania 12 2006.10.18 OpenEmbedded. Wprowadzenie
  • 13. „HaeRWu” Marcin Juszkiewicz Dziękuję za uwagę Marcin Juszkiewicz e-mail: haerwu@haerwu.biz http://blog.haerwu.biz/ 13 2006.10.18 OpenEmbedded. Wprowadzenie