April 20, 2015 KSEM WETI PG. Programowanie Systemów Wbudowanych. Kompilacja OS dla systemu wbudowanego. OpenEmbedded.
|
|
- Maria Marszałek
- 8 lat temu
- Przeglądów:
Transkrypt
1 KSEM WETI PG April 20, 2015 Yocto
2 Historia Projekt - framework do budowania dystrybucji Linux dla systemów wbudowych Wyrósł na bazie projektu OpenZaurus dla Sharp Zaurus Personal Digital Assistants (PDAs). W 2001 roku Sharp Corporation przedstawił SL-5000 PDA, nazywany Zaurus, z dystrybucją Linux o nazwie Lineo. Niedługo po tym Chris Larson uruchomił projekt OpenZaurus - system operacyjny oparty na systemie buildroot. Programiści zaczęli rozszerzać projekt o kolejne pakiety programów dla coraz bardziej licznych platform sprzętowych. Styczeń społeczność skupiona wokół OpenZaurus rozpoczęła dyskusję o rozwijaniu nowego do budowania dystrybucji Linux dla systemów wbudowanych. Chris Larson, Michael Lauer, and Holger Schurig rozpoczęli pracę nad. Marzec połączenie projektów i Yocto pod nazwą OE-Core. Yocto
3 Bitbake i metadane Dwa zasadnicze elementy projektu - build engine (napisany w Python-ie) Metadata (metadane) - instrukcje budowania dla From OE user s manual: unlike single project tools like make [] is not based on one makefile or a closed set of interdependent makefiles, but collects and manages an open set of largely independent build descriptions (package recipes) and builds them in proper order. Yocto
4 Outline Yocto Yocto
5 Yocto. Źródło: P. Raghavan, Amol Lad, Sriram Neelakandan, Embedded Linux system design and development analizuje przepisy (recipes) i pliki konfiguracyjne, aby ustalić, co i jak ma być zbudowane Pobiera z sieci kod źródłowy Buduje obrazy zbiorów pakietów i plików
6 Implementacja w Python ie na bazie menadżera pakietów Gentoo (emerge) Pobiera kody źródłowe z sieci, jako tarballs (archiwa.tar) lub z repozytoriów (svn, cvs, git...) Instaluje patch-e zawarte w opisach pakietów Domyślnie buduje najnowsze wersje wszystkich kompontentów Buduje wskazane wersje kompilatorów i kompilatorów skrośnych (crosscompilers) oraz narzędzi konfiguracyjnych (autoconf...) Konfiguruje, kompiluje i lokuje pakiety (kopiuje do plików), włącznie z bibliotekami C Potrafi kompilować równolegle dla kilku różnych architektur sprzętowych Buduje obrazy systemów plików, obsługuje formaty pakietów:.rpm,.ipk,.deb Yocto
7 Formaty pakietów Linux deb - skrót od Deborah, imienia byłej żony twórcy Debiana, Iana Murdocka. Format pakietu instalacyjnego używanego przez dystrybucję operacyjnego Linux Debian GNU/Linux i pochodnych (Progeny, Ubuntu, Corel). Instalator: dpkg. Używa Makefile do kontroli procesu budowania pakietu. rpm - skrót od Red Hat Package Manager. Format pakietu instalacyjnego używanego przez dystrybucję operacyjnego Red Hat Linux (aktualnie również przez dystrybucje Fedora, SUSE, Mandriva, PLD). Instalator: rpm. Używa własnego narzędzia do kontroli procesu budowania pakietu (rpmbuild) Makra RPM są tłumaczone na przepisy dla Makefile. ipk - wcześniej ipkg (Itsy Package Management System) Format pakietu instalacyjnego używanego przez dystrybucje pochodne Debiana dla systemów wbudowanych (Unslung, OpenWrt, Openmoko, webos, Gumstix, the ipaq, QNAP NASes) oraz i. Instalator: opkg (kiedyś ipkg) Yocto
8 Bitbake - proces budowania obrazu Yocto Źródło:
9 Outline Yocto Yocto
10 (Metadata) Cztery funkcjonalne katogorie metadanych: Przepisy, ang. Recipes (*.bb) instrukcje dla do zbudowania pojedynczego pakietu. Opisują pakiet, jego zależności i ewentualne specjalne akcje potrzebne do jego zbudowania Klasy, ang. Classes (*.bbclass) enkapsulują funkcjonalnści przepisów. Pełnią rolę podobną do klas w obiektowych językach programowania Zadania, ang. Tasks używane do grupowania pakietów w systemie plików. Mają relatywnie prostą budowę, zwykle składają się z kilku linii definiujących zależności miedzy pakietami. Konfiguracje, ang. Configuration (*.conf) określają ogólne zachowanie (local configuration, machine/distro configuration). Yocto
11 Outline Yocto Yocto
12 Praca z Pobranie : git clone git://git.openembedded.org/openembedded-core Pobranie (do katalogu openembedded-core): git clone git://github.com/openembedded/bitbake Yocto Konfiguracja :
13 Struktura katalogów przestrzeni roboczej my_oe/ bitbake bin... OE.mtn openembedded _MTN ==> special Monotone directory classes conf contrib files packages ==> package rule files, bitbake recipes tasks/ ==> base tasks, useful tasks groups in file recipes conf machine/ ==> machine rule files distro/ ==> distro rule files site Yocto
14 Konfiguracja środowiska Bitbake powinien być zawsze dostępny jako plik wykonywalny. W starszych wersjach OE należy ustawić zmienne środowiskowe BBPATH i BBFILES: $ export PATH=$PATH:${HOME}/my_OE/bitbake/bin/ $ export BBPATH=${HOME}/my_OE/build:${HOME}/my_OE/openembedded $ export BBFILES=${HOME}/my_OE/openembedded/packages/ /.bb Jeśli pracujemy z najnowszą wersją OE, konfigurację środowiska definiuje plik oe-init-build-env: Yocto $ source./oe init build env [<build directory>]
15 Plik local.conf Plik konfiguracyjny w katalogu roboczym: my_oe/ build/ conf/ local.conf Podstawowy plik konfiguracyjny ze zmiennymi OE. Najważniejsze z nich to: MACHINE = "any_available_machine_type" DISTRO = "any_available_distro" OE wykorzystuje tą informację jako punkt wyjściowy do zbudowania kompilatora skrośnego dla docelowej architektury oraz zbudowania dystrybucji OS dla tej architektury. Yocto
16 Budowa dystrybucji (distro) Budowa przykładowego obrazu: ~/my_oe/build$ bitbake core image minimal I włączamy ulubiony kanał YouTube... ;) Yocto
17 Budowa dystrybucji (distro) Po pierwszej kompilacji utworzony zostaje nowy katalog tmp, którego używa jako katalogu wyjściowego: ~/my_oe/build/tmp/ cache/ cross/ ==> cross tools (gcc, ldd,...) deploy/ images ==> final image files (cpio, jffs2, ext3,...) ipk ==> final packets rootfs/ ==> final rootfs layout. staging/ ==> shared items availables for the whole system. stamps/ ==> magnagement stamps. work/ ==> where bitbake uncompress, configure, compile,... Yocto
18 Yocto - najmniejsza jednostka układu SI. Prefiks yocto oznacza 10^-24. Projekt powstał na bazie. Rdzeń projektu Yocto to system Poky (autor: Richard Purdie). Listopad pod opieką Linux Foundation. od i rozwijane razem jako zbiór pakietów OE-Core. Yocto
19 Elementy Yocto Poky - system do budowania OS Wirtualny obraz hosta do pracy z Yocto Instalator Application Development Toolkit (ADT) dla hosta Dla różnych platform: wstępnie zbudowane (prebuild) łańcuchy narzędzi (toolchains) wstępnie zbudowane pakiety w formie binarnej wstępne zbudowane obrazy Nowa wersja Yocto pojawia się raz na ok. 6 miesięcy. Najnowsza to Yocto Fido (wcześniejsza: Yocto Dizzy). Yocto
20 Outline Yocto Yocto
21 Narzędzie Poky służy do budowania elementów Linux: obraz bootloadera, obraz jądra Linux, obraz plików, toolchains i software development kits (SDKs) do tworzenia aplikacji. - początkowa struktura (footprint) obrazu: od wersji minimalnej (shell) do pełnego Linux z interfejsem użytkownika Sato (oparty na GNOME Mobile and Embedded (GMAE)). Możliwe jest dodawanie nowych warstw metadanych dla rozszerzenia funkcjonalności (nowy rodzaj obrazu, dodatkowy board support package (BSP) dla nowej platformy sprzętowej). Yocto
22 Przygotowanie środowiska pracy Profesjonalna stacja robocza programisty powinna spełniać następujące wymagania: system wieloprocesorowy symetryczny (symmetric multiprocessing,smp) co najmniej 8 GB pamięci, szybki dysk twardy szybkie łącze internetowe Wymagane oprogramowanie: OS Linux (jako system natywny lub wirtualny) Tar w wersji 1.24 lub wyższej Python w wersji lub wyższej (ale nie Python 3) Instalacja wymaganych pakietów: Yocto $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gccmultilib build-essential chrpath socat libsdl1.2-dev xterm make xsltproc docbook-utils fop dblatex xmlto autoconf automake libtool libglib2.0-dev python-gtk2 bsdmainutils screen
23 Outline Yocto Yocto
24 Środowisko do wirtualizacji ( hosta) Yocto
25 = abstrakcja zasobów. Rodzaje: Emulacja API - wprowadzenie do głównego operacyjnego otoczenia API aplikacji pochodzące z innego. Przykład: Wine (ang. Wine is not emulator) - implementacja WinAPI dla środowiska Unix/X11. Emulacja pełna stanowi sposób na uruchamianie aplikacji pochodzących z niekompatybilnego komputera, w stosunku do wykorzystywanego (np. PC/Mac). Emulowane są podstawowe podzespoły komputera (CPU, RAM, HDD, CD itp.) wraz z systemem operacyjnym (virtual OS), zapewniając dużą przenośność. Emulator wykonuje w pętli wszystko to, co robiłby rzeczywisty procesor maszyny emulowanej, co prowadzi do spadku wydajności pracy komputera. Przykład: QEMU. Yocto
26 wiele systemów operacyjnych na tej samej platformie sprzętowej i systemowej przy maksymalnej możliwej wydajności. Procesy operacyjnego gościa ( emulowanego) wykonywane są bezpośrednio na zasobach sprzętowych komputera. Dopiero w sytuacji, gdy operacje takie nie dadzą się bezpośrednio wykonać, wirtualizator emuluje je. Hipernadzorca (ang. hypervisor), menedżer maszyn wirtualnych (ang. Virtual Machine Manager) narzędzie niezbędne do prowadzenia procesu wirtualizacji. Nazwa pochodzi od supervisor (ang. nadzorca) programu kontrolującego pracę komputera. Decyduje, które procesy wirtualizowanego OS można wykonywać bezpośrednio na zasobach sprzętowych, a które należy emulować. Jeżeli określona operacja nie daje się wykonać bezpośrednio na danym zasobie sprzętowym (błąd ochrony), jest przechwytywana i emulowana przez hipernadzorcę. Pośredniczy w przekazywaniu przerwań pomiędzy wirtualnym systemem a zasobami sprzętowymi Przykłady: VMware Workstation, Virtual Box Yocto
27 Docker - kontenery Kontenery - sposób na separację aplikacji od operacyjnego oraz fizycznej infrastruktury wykorzystywanej do połączeń z siecią. Są one instalowane poza jądrem operacyjnego i wirtualizują środowisko określonej aplikacji. Pierwowzór - chroot w systemach UNIX. Komenda Linux ograniczająca zasoby, który może wykorzystywać proces i każdy wywoływany przez niego proces-dziecko. Kontenery wspierane przez system Linux (LXC, Linux Kernel Containers) - jedna z najnowocześniejszych metod wirtualizacji aplikacji. LXC pozwala na przydział zasobów CPU, pamięci, dysków i sieci dla aplikacji odizolowanych od OS LXC separuje drzewa procesów, dostęp do sieci, ID użytkownika, dostęp do plików. Kontenery Linux są elastyczne, ponieważ pozwalają administratorowi wirtualizować pojedynczą aplikację, a nie cały system operacyjny z wykorzystaniem VM. Yocto
28 Docker Docker - aplikacja pracującą na podbudowie w postaci LXC Zarządza obrazami oraz asystuje we wdrożeniach wirtualizacji aplikacji. Dostarcza automatyzacji oraz mechanizmów szybkiego tworzenia kontenerów LXC. Dockerem był wewnętrznym projektem rozwijanym w firmie dotcloud. W marcu 2013 Docker został udostępniony publicznie. Aktualnie jest zintegrowany z szeregiem innych narzędzi m.in. Ansible, Chef, OpenStack, Pupper, Salt. Jest też dołączony do RHEL, OpenShift PaaS, Google Compute Engine, Deis, a także Amazon Web Services Elastic Beanstalk. Standard wirtualizacji aplikacji dla system Linux. Yocto
29 Docker a wirtualna maszyna Yocto Źródło:
30 Docker Strona domowa: Instalacja w Debianie: $ sudo apt get install docker.io Pierwsze uruchomienie w Debianie (stworzenie kontenera): $ sudo docker run nazwa_obrazu Uruchomienie kontenera (lista kontenerów: docker ps -a): $ sudo docker start nazwa_kontenera Yocto Uruchomienie ze współdzielonym katalogiem: $ sudo docker run v /var/logs/on/host:/var/logs/in/container
31 Emulator QEMU Quick EMUlator - szybki emulator dostępny jako otwarte oprogramowanie. Umożliwia uruchomienie kilku systemów operacyjnych jednocześnie na jednej maszynie. Emulacja wielu architektur CPU. Sama aplikacja może działać w dwóch trybach: użytkownika uruchamianie procesów Linux skompilowanych na innym typie procesora niż bieżący (np. aplikacje 64-bitowe na procesorze 32-bitowym). emulowany jest cały system, łącznie z procesorem, dyskiem twardym oraz odpowiednimi urządzeniami peryferyjnymi. Możliwe uruchamianie i instalowanie OS na różne architektury: x86, x86_64, ARM, SPARC, SPARC64, PowerPC, PowerPC64, MIPS, m68k (Coldfire), SH-4, Alpha, CRIS.vvv więcej na: Yocto
32 Outline Yocto Yocto
33 System Poky - platformy sprzętowe System Poky obsługuje wirtualne maszyny QEMU dla następujących architektur: ARM (qemuarm) x86 (qemux86) x86-64 (qemux86-64) PowerPC (qemuppc) MIPS (qemumips, qemumips64) Obsługuje też wybrane pakiety BSP (Board Support Packages) dla platform sprzętowych: Texas Instruments Beaglebone (beaglebone) Freescale MPC8315E-RDB (mpc8315e-rdb) Maszyny PC oparte na układach Intel x86 (genericx86 i genericx86-64) Ubiquiti Networks EdgeRouter Lite (edgerouter) Do pracy z innymi platformami sprzętowymi potrzebne są dodatkowe warstwy Yocto (co najmniej BPS). Yocto
34 Warstwy Poky System Poky posiada trzy katalogi przechowujące metadane: meta: metadane -Core; wsparcie dla architektur ARM, x86, x86-64, PowerPC, MIPS imips64 oraz dla wirtualnej maszyny QEMU meta-yocto: metadane dystrybucji Poky meta-yocto-bsp: metadane dla wybranych platform sprzętowych Poky posiada również warstwę meta-skeleton, będącą wzorcem (schematem) dla nowych warstw. Yocto
35 Katalog roboczy Poky (build directory) uruchomienie skryptu (sourcing) oe-init-build-env: ustawia zmienne środowiskowe, tworzy pliki konfiguracyjne (można je modyfikować) sprawdza, czy spełnione są minimalne wymagania systemowe dla skrypt woła scripts/oe-setup-builddir script, który tworzy katalog roboczy. w momencie utworzenia katalog ten zawiera trzy pliki: bblayers.conf: lista warstw służących do budowy dystrybucji OS local.conf: konfiguracja parametrów procesu budowy dystrybucji templateconf.cfg: wzorcowe pliki konfiguracyjne. Yocto
36 System Poky analizuje konfigurację obrazu (m.in. pliki: bblayers.bb, local.conf) poszukując dodatkowych warstw, klas, przepisów i zadań i budując łańcuch zależności między nimi (i standardowymi elementami OE-core). Tak powstaje mapa ważonych priorytetów zadań (weighted task priority map). korzysta z tej mapy podczas ustalania kolejności budowy poszczególnych pakietów. Zadania wymagane przez większość innych zadań oceniane są wyżej, a więc będą wykonane wcześniej podczas procesu budowy dystrybucji OS wykonuje kolejkę zadań rozdzielając je między wątki (maksymalna liczba wątków zdefiniowana jest przez zmienną BB_NUMBER_THREADS w pliku conf/local.conf) Yocto
37 System Poky ZADANIE OPIS FUNKCJA Fetch pobranie danych (źródeł) do_fetch() Unpack rozpakowanie danych do_unpack() Patch dodanie łatek (patch-ów) do_patch() Configure konfiguracja drzewa źrodeł do_configure() Compile kompilacja drzewa źródeł do_compile() Stage instalacja w przestrzeni stage do_stage() Install instalacja do_install() Package utworzenie pakietu do_package() Skompilowane źródło jest rozdzielane na pakiety; tworzona jest inforamcja dla debuggera (debug package information). Rozdzielone pakiety pakowane są do odpowiedniego formatu (rpm, ipk lub deb). Bitbake wykorzystuje je do budowy plików. Yocto
38 System Poky Każdy aspekt procesu budowania jest kontrolowany przez metadane. mogą być luźno pogrupowane w: przepisy (package recipes) zbiór niewykonywalnych metadanych, wykorzystywany do ustawienia zmiennych lub zdefiniowania dodatkowych zadań, pola: recipe description, the recipe version, the license of the package i upstream source repository, mogą definiować dodatkowe zadania, pliki konfiguracyjne (configuration files) konfiguracja i (w ogólności) całego procesu budowania, konfiguracja warstw wykorzystywanych przez Poky do różnych obrazów docelowych. Yocto
39 Warstwy w systemie Poky Warstwa (layer) - grupa medanych definiujących określoną funkcjonalność: BSP - warstwy definiujące urządzenia, warstwy definiujące typy obrazów, warstwy definiujące dodatkowe oprogramowanie. meta-yocto - rdzenna warstwa. Warstwy bitbake - przykład Yocto Figure:
40 Outline Yocto Yocto
41 - interfejsy użytkownika Interfejs użytkownika umożliwia: prezentowanie wyników, statusie i postępach procesu budowania, przechwytywanie zdarzeń od zadań (build tasks). knotty - domyślny interfejs użytkownika; linia poleceń. hob - graficzny interfejs użytkownika; umożliwia modyfikowanie plików konfiguracyjnych, dodawanie warstw i pakietów. Yocto
42 - Hob Yocto
43 Podstawowy plik wykonawczy to bitbake/bin/bake Uruchomienie oznacza rozpoczęcie budowy infrastruktury potrzebnej do Kolejność uruchamiania modułów interfejs użytkownika (UI) serwer procesów (IPC) Cooker DataSmart parsowanie plików konfiguracyjnych obiekt Runqueue Scheduler Yocto
44 Moduł IPC Moduł IPC (Interprocess Communication) Umożliwia uruchomienie wielu procesów podczas budowy obrazu Architektura klient-serwer Domyślny serwer (i najczęściej używany z poziomu knotty) to serwer procesów Interfejs użytkownika potrafi wysyłać polecenia do modułu serwera Yocto
45 Cooker Zarządza parsowaniem metadanych Inicjalizuje generowanie drzewa zależności i zadań Zarządza procesem budowania. Yocto
46 DataSmart Moduł DataSmart przechowuje dane z plików konfiguracyjnych jako obiekty. Jeśli przepis (recipe) zmieni się podczas procesu budowy, obiekty danych nie są uaktualniane w całości, lecz zapisywane są jedynie różnice między stanem przed i po zmianie (oszczędność pamięci!). Słownik copy-on-write (COW) zmienne mogą zawierać kod pythona (DataSmart sprawdza poprawność kodu i obecność odwołań cyklicznych). Yocto
47 Runqueue i Scheduler Budowa obrazu - setki przepisów, każdy zawierający wiele pakietów i zadań powiązanych zależnościami. Zadaniem jest uporządkowanie ich. Cooker buduje mapę zadań z wagami, nazywaną runqueue pełna lista pakietów potrzebnych do łańcuch zależności między nimi Przepis (recipe) sprawdzenie PREFERRED_PROVIDER lub wybór dostawcy pakietu sprawdzenie DEPENDS i RDEPENDS wybór dostawców pakietów z zależności lista pakietów potrzebnych do zbudowana obrazu oraz ich dostawców Yocto
48 Scheduler - zależności Zależności (dependencies): DEPENDS - zależności (pakiety) potrzebne w procesie budowania. DEPENDS = "b" w przepisie "a" zostanie przetłumaczone na zadanie do_configure a, które zależy od zadania do_populate_sysroot task w b. Wszystko co b dodaje do plików, jest dostępne kiedy a jest konfigurowane. RDEPENDS - zależności (pakiety) potrzebne w procesie wykonywania. RDEPENDS_${PN} = "b" w przepisie "a" zostanie przetłumaczone na zadanie do_build task a, zależne od zadania b : do_package_write. Pakiet b będzie dostępny, kiedy a zostanie zbudowane Yocto
49 Scheduler - budowa Runqueue pierwszy znaleziony pakiet A lista zadań potrzebnych do budowy pakietu A przypisanie wag odpowiadających liczbie pakietów potrzebnych do zrealizowania zadania (zadania z wyższą wagą mają więcej zależności, zostaną wykonane wcześniej) Yocto Na podstawie mapy Runqueue rozdziela kolejne zadania między swoimi wątkami
50 - schemat Yocto
51 Outline Yocto Yocto
52 Obrazy w projekcie Poky Lista domyślnych obrazów projektu Poky: $ cd /opt/yocto/poky $ ls meta /recipes /images/.bb Najbardziej popularne to: core-image-minimal: najmniejszy obraz (tylko konsola) zawierający: busybox - podstawowe narzędzia UNIX sysvinit - pierwszy program uruchamiany w systemach uniksowych (np. Linux) przez jądro w trakcie procesu uruchamiania operacyjnego udev - dynamiczna alokacja plików urządzeń core-image-full-cmdline: konsola, pełna obsługa sprzętu oraz bash core-image-lsb: obraz z konsolą oparty na kompilacji Linux Standard Base core-image-x11: obraz z graficznym UI (X11) core-image-sato: obraz z graficznym UI (X11) i pulpitem GNOME Mobile oraz motywem SATO core-image-weston: obraz z protokołem Wayland i Weston reference compositor-based image Yocto
53 Obrazy w projekcie Poky Nazwy obrazów mogą mieć następujące przyrostki: dev: obraz zawiera pliki nagłówkowe i biblioteki potrzebne do tworzenia oprogramowania sdk: zawiera kompletne SDK, które może być używane na maszynie docelowej initramfs: initial RAM file system Yocto
54 Budowa obrazu Maszynę docelową (MACHINE) można zdefiniować na trzy sposoby. Na przykład, jeśli platformą docelową jest emulator maszyn x86: 1. Zdefiniowanie zmiennej MACHINE wraz z uruchomieniem bitbake: $ MACHINE=qemux86 bitbake core image minimal 2. Wyeksportowanie zmiennej MACHINE do bieżącej powłoki shell: $ export MACHINE=qemux86 $ bitbake core image minimal Yocto 3. Sposób preferowany: edycja pliku conf/local.conf: # MACHINE?= "qemux86" A w linii poleceń: $ bitbake core image minimal
55 Budowa obrazu Bitbake w pierwszej kolejności analizuje pliki: conf/bblayers.conf: lista warstw conf/layer.conf: konfiguracja każdej warstwy meta/conf/bitbake.conf: konfiguracja bitbake conf/local.conf: konfiguracja procesu budowania obrazu conf/machine/<machine>.conf: konfiguracja maszyny docelowej (np. qemux86.conf) conf/distro/<distro>.conf: konfiguracja dystrybucji OS (domyślnie jest to poky.conf) Następnie parsuje przepisy i ich zależności. Then parses the target recipe that has been provided and its dependencies. The outcome is a set of interdependent tasks that will then execute in order. Yocto
56 Budowa obrazu Zwykle nie jesteśmy zainteresowani całą informacją generowaną podczas procesu budowania. Zaleca się taką konfigurację procesu budowania, w której informacja wyjściowa dla każdego pakietu (np. źródła czy logi) była usuwana po zbudowaniu obrazu. W pliku conf/local.conf file: INHERIT += "rm_work" Z drugiej jednak strony uniemożliwia się w ten sposób debugowanie (wstecz). Możliwe jest zdefiniowanie listy pakietów, które mają być wyłączone z procesu czyszczenia historii, np.: RM_WORK_EXCLUDE += "linux yocto u boot" Yocto
57 Budowa obrazu Plik wzorcowy local.conf.sample - domyślna konfiguracja Gotowe zbudowane obrazy znajdują się w katalogu: build/tmp/deploy/images/qemux86 Domyślnie obrazy nie są usuwane z katalogu deploy. Jeśli podczas budowy poprzednia wersja ma być usunięta, trzeba w pliku conf/local.conf ustawić zmienną: RM_OLD_IMAGE = "1" Testowanie obrazu w emulatorze QEMU: Yocto $ runqemu qemuarm core image minimal
58 Budowa Yocto Intel dostarcza pliki niezbędne do Linux Dokumentacja: Intel QuarkTM SoC X1000 Board Support Package (BSP) Build and Software User Guide Quark-BSP Omawiany przykład bazuje na wersji Release 1.1 (January 2015) Wymagania wobec hosta: komputer PC z systemem Linux (Intel zaleca system 64-bitowy) lub Windows 7 (x64). W omawianym przykładzie system hosta to 64-bitowy Debian 8.0 (Jessie). łącze internetowe co najmniej 30 GB wolnego miejsca na dysku interfejs szeregowy do komunikacji z Intel Galileo Yocto
59 Przygotowanie środowiska pracy Powiązane pakiety: Python 2.6 or 2.7 (ale nie Python 3.x ) GCC i G++ (wersje nie młodsze niż GCC 4.7). Domyślna wersja kompilatora w Debian 8.0 to GCC 4.9. Należy zainstalować również starszą wersję (na przykład z repozytoriów Wheezy) klient kontroli wersji (git) uuid-dev (uuid = Universally Unique Identifier) iasl (iasl = ACPI Source Language Compiler) Instalacja niezbędnych pakietów: $ sudo apt get install build essential p7zip ful Pobranie pliku Download Board_Support_Package_Sources_for_Intel_Quark_v z spod adresu: Quark-BSP Yocto
60 Przygotowanie środowiska pracy Rozpakowanie pobranego pliku: $ 7z x Board_Support_Package_Sources_for_Intel_Quark_v z Pobranie i instalacja EDKII $ tar xvf Quark_EDKII_.tar.gz $ cd Quark_EDKII $./svn_setup.py $ svn update Instalacja patch-a OpenSSL (opis w CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt) Budowa oprogramowania układowego EDKII: Yocto $./buildallconfigs.sh GCC46 QuarkPlatform
61 Instalacja starszych wersji kompilatorów GCC i G++ Dodanie repozytoriów starszej wersji OS (np. Debian Wheezy) do listy repozytoriów (plik /etc/apt/source.list) Instalacja kompilatora gcc-4.6 $ sudo apt get update $ sudo apt get install gcc 4.6 g Menadżer pakietów może w tym miejscu wyświetlić informację o problemie z zależnymi pakietami. Wówczas należy zainstalować je każdy osobno, np.: Yocto $ sudo apt get install gcc 4.6 base= $ sudo apt get install cpp 4.6 $ sudo apt get install gcc 4.6 $ sudo apt get install g++ 4.6
62 Instalacja starszych wersji kompilatorów GCC i G++ Aby używać zamiennie starszej i nowszej wersji kompilatora, należy zainstalować wersję 4.6 jako alternatywną. W tym celu należy usunąć wszystkie istniejące alternatywy dla gcc i g++: $ sudo update alternatives remove all gcc $ sudo update alternatives remove all g++ A następnie dodać informację o wersji 4.6 i 4.9 (zaznaczenie g++ jako slave powoduje, że przełączanie wersji gcc będzie powodowało analogiczne przełączenie wersji g++) : Yocto $ sudo update alternatives install /usr/bin/gcc gcc /usr/bin/gcc slave /usr/ $ sudo update alternatives install /usr/bin/gcc gcc /usr/bin/gcc slave /usr/ Można teraz przełączać wersje kompilatorów za pomocą polecenia: $ sudo update alternatives config gcc Aktualną wersję kompilatora można sprawdzić za pomocą polecenia: $ gcc version
63 Budowa obrazu W nowej sesji terminala należy rozpakować warstwę Yocto (meta-clanton_v1.1.0-dirty) i uruchomić skrypt setup.sh, który pobierze z zewnętrznych źródeł pliki potrzebne do zbudowania plików: $ tar xvf meta clanton.tar.gz # cd meta clanton $./setup.sh Następnie należy wykonać skrypt iot-devkit-init-build-env, inicjalizujący proces budowania: $ source./iot devkit init build env my_build Yocto Pozostaje uruchomić narzędzie bitbake: $ bitbake image full i uzbroić się w cierpliowość...
64 Budowa obrazu Po zakończeniu procesu budowania plików, wyjściowe obrazy znajdują się w:./tmp/deploy/images/quark/ i są to: image-full-quark.ext3 (system plików) core-image-minimal-initramfs-quark.cpio.gz (system plików RAM) bzimage (jądro) grub.efi boot (katalog) Pliki można skopiować na pustą kartę SD lub pamięć USB (sformatowane jako ext3). Yocto
65 Nagranie obrazów na kartę SD Gotowe pliki obrazów w katalogu tmp/deploy/images/ directory to: jądro Linux: bzimage wersja-r0-clanton-yyyymmddhhmmss.bin początkowy system plików RAM: core-image-minimalinitramfs-clanton-yyyymmddhhmmss.rootfs.cpio.gz system plików: image-full-clanton-yyyymmddhhmmss.rootfs.ext3 moduły jądra: modules wersja-r0-clanton-yyyymmddhhmmss.tgz konfiguracja Grub: boot/grub/grub.conf Formatowanie karty SD: $ sudo dd if=/dev/zero of=/dev/sdd Yocto Nagranie plików jako: bzimage core-image-minimal-initramfs-clanton.cpio.gz image-full-clanton.ext3 boot/grub/grub.conf
66 Używanie historii budowania obrazu Historia budowania obrazu - umożliwia sprawdzenie zależności między pakietami, które weszły do plików. By umożliwić jej używanie, należy dodać do pliku conf/local.conf: INHERIT += "buildhistory" Włączenie gromadzenia informacji (m.in. grafu zależności) w lokalnym repozytorium Git: BUILDHISTORY_COMMIT = "1" Yocto Lokalizacja repozytorium Git może być ustawiona za pomocą zmiennej BUILDHISTORY_DIR (domyślnie: build/buildhistory)
67 Używanie historii budowania obrazu Domyślnie buildhistory śledzi wszelkie zmiany w pakietach, obrazach i SDK. Jeśli chcemy śledzić tylko obrazy, należy zmienić wartość zmiennej BUILDHISTORY_FEATURES (w conf/local.conf): BUILDHISTORY_FEATURES = "image" Można śledzić konkretne pliki, należy je wówczas dodać to buildhistory za pomocą zmiennej: BUILDHISTORY_IMAGE_FILES += "/path/to/file" Budowa z rejestracją historii jest wolniejsza a rozmiar katalogów wynikowych większy. Nie zaleca się więc używania historii przy każdej kompilacji obrazu (jedynie kiedy jest to niezbędne). Yocto
68 Używanie historii budowania obrazu Dla pakietów rejestrowane są następujące informacje: wersja pakietu i przepisu zależności rozmiar pakietu pliki Dla obrazu: konfiguracja budowania graf zależności lista plików związanych z prawami własności i dostępem (permissions) lista zainstalowanych pakietów Dla SDK: konfiguracja SDK lista plików hosta i maszyny docelowej grafy zależności lista zainstalowanych pakietów Yocto
69 Używanie historii budowania obrazu Przeglądanie historii budowania obrazu: 1. Za pomocą narzędzi Git (gitk lub git log). 2. Za pomocą komendy buildhistory-diff 3. Za pomocą interfejsu sieciowego Django-1.4-based 3.1 import historii budowania do bazy danych 3.2 więcej: Yocto
70 Statystyka procesu budowania Podczas budowania obrazu możliwe jest zbieranie informacji przydatnej w identyfikowaniu obszarów potencjalnej optymalizacji i tzw. wąskich gardeł (zwłaszcza gdy w systemie pojawia się nowy przepis). Do zbierania informacji statystycznej potrzebne jest dziedziczenie klasy buildstats: USER_CLASSES?= "buildstats" Zmienna BUILDSTATS_BASE określa lokalizację statystyki (domyślnie build/tmp/buildstats Katalog buildstats zawiera osobny katalog dla każdego budowanego obrazu a w nim - podkatalogi odpowiadające pakietom z plikami build_stats, zawierającymi informację o: systemie hosta lokalizacji i rozmiarze plików czasie trwania procesu budowania średnim użyciu CPU statystyce dysku Yocto
71 Statystyka procesu budowania Przykładowy plik statystyki może zawierać informacje: ReadsComp: całkowita liczba operacji odczytu TimeReads: całkowita liczba milisekund poświęconych na operacje odczytu WritesComp: całkowita liczba operacji zapisu TimeWrite: całkowita liczba milisekund poświęconych na operacje zapisu TimeIO: całkowita liczba milisekund poświęconych na obsługę I/O Yocto
72 Statystyka procesu budowania pybootchartgui.py tool - graficzna reprezentacja danych ze źrodeł Poky Generowanie pliku bootchart.png w katalogu /tmp: $../sources/poky/scripts/pybootchartgui/pybootchartgui.py tmp/buildstats/core image minimal/ o /tmp Yocto
73 Debugowanie Sprawdzenie, czy dany plik jest obecny w danej warstwie: $ find name " busybox " To polecenie spowoduje rekursywne wyszukiwanie we wszystkich warstwach wzorca busybox. Wyszukiwanie wśród przepisów: $ find name " busybox.bb " Wyszukiwanie pliku ze zmienną DISTRO_FEATURES: $ bitbake e grep w DISTRO_FEATURES Lokalizowanie ścieżki pliku przepisu: Yocto $ bitbake e busybox grep ^S= Lokalizowanie katalogu roboczego pakietu lub obrazu: $ bitbake e <target> grep ^WORKDIR=
74 Debugowanie dostarcza zadanie devshell, ktore rozpakowuje źródło i wykonuje patch-e, a następnie uruchamia nową sesję terminala z prawidłowo ustawionymi zmiennymi środowiskowymi. $ bitbake c devshell <target> Wewnątrz devshell można używać komend takich jak configure, make i run. Jeśli na maszynie hosta nie ma środowiska graficznego, w conf/local.conf trzeba ustawić ekran wyjściowy: Yocto OE_TERMINAL = "screen"
75 Debugowanie Wiadomość o błędach budowy pakietów drukowana jest w terminalu podczas procesu budowania. Lista zadań dla danego przepisu: $ bitbake c listtasks <target> Powtórzenie błędu (wymuszone uruchomienie procesu budowania): $ bitbake f <target> lub (wymuszone) uruchomienie konkretnego zadania: $ bitbake c compile f <target> Yocto Drukowanie wersji pakietów: $ bitbake show versions Lista zależności: $ bitbake v <target>
76 Debugowanie Zapis zależności do pliku DOT: $ bitbake g <target> do odczytu można użyć pakietu GraphViz Niektóre zależności mogą być usunięte z grafu, np. by pominąć zależności dla glibc: $ bitbake g <target> I glibc Po wydrukowaniu pliku z zależnościami w bieżącym katalogu znajdują się trzy pliki: package-depends.dot: zależności między pakietami pn-depends.dot: zależności między przepisami task-depends.dot: zależności między zadaniami Konwersja pliku.dot do formatu.ps: Yocto $ dot Tps filename.dot o outfile.ps Wyswietlenie danych o zależności za pomocą eksplorera: $ bitbake g u depexp <target>
77 Raportowanie błędów Centralna baza danych o błędach zgłaszanych przez użytkowników: Zgłoszenie błędu do bazy - za pomocą klasy report-error: INHERIT += "report-error" Domyślnie informacja o błędach przechowywana jest w katalogu: build/tmp/log/error-report Można zmienić tą ścieżkę za pomocą zmiennej ERR_REPORT_DIR. Yocto
78 Elizabeth Flanagan, The Architecture of Open Source Applications, P. Raghavan, Amol Lad, Sriram Neelakandan, Embedded Linux system design and development, Auerbach Publications, Yocto
QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:
QEMU Stosunkowo szybki emulator procesora, korzystający z tzw. dynamicznej translacji i kilku innych ciekawych technik programistycznych i optymalizacyjnych. działa na procesorach procesorach: Intel x86,
Bardziej szczegółowoQ E M U. http://www.qemu.com/
http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama
Bardziej szczegółowoVMware, QEMU, UML. oraz inne wirtualne maszyny. Piotr Findeisen Filip Grządkowski Piotr Kuśka Krzysztof Mroczek
VMware, QEMU, UML oraz inne wirtualne maszyny Piotr Findeisen Filip Grządkowski Piotr Kuśka Krzysztof Mroczek Wirtualizacja - technika ukrywania fizycznej charakterystyki zasobów przed systemami, aplikacjami
Bardziej szczegółowoHaeRWu Marcin Juszkiewicz. OpenEmbedded. Wprowadzenie. Marcin Juszkiewicz. Poznań 2006.10.18. 1 2006.10.18 OpenEmbedded.
1 2006.10.18 OpenEmbedded. Wprowadzenie OpenEmbedded Wprowadzenie Marcin Juszkiewicz Poznań 2006.10.18 2 2006.10.18 OpenEmbedded. Wprowadzenie OpenEmbedded i ja Czerwiec 2003: Palm M105 by sprawdzić, czy
Bardziej szczegółowoK. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko
Jądro Linuksa dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Jądro Linuksa Program wykładu: Właściwości jądra Linuksa. Pliki źródłowe jądra. Konfiguracja jądra. Kompilacja i kompilacja skrośna
Bardziej szczegółowoIBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)
IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics wersji 20 przy użyciu licencja sieciowa. Ten dokument
Bardziej szczegółowoPrezentacja emulatora QEMU Zajęcia SO
Prezentacja emulatora QEMU Zajęcia SO 08.11.2006 Czym jest QEMU...? QEMU to emulator procesora: osiągający bardzo dobrą szybkość emulacji udostępniony jako otwarte oprogramowanie Do czego może się przydać..?
Bardziej szczegółowoPracownia Technik Obliczeniowych
Pracownia Technik Obliczeniowych Instalowanie oprogramowania Paweł Daniluk Wydział Fizyki Wiosna 2016 P. Daniluk(Wydział Fizyki) PTO XI Wiosna 2016 1 / 16 Standardowy układ katalogów Systemy UNIXowe mają
Bardziej szczegółowoMentorGraphics ModelSim
MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu
Bardziej szczegółowoPołączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne?
Strona 1 z 6 Połączenia Instalowanie drukarki lokalnie (Windows) Uwaga: Jeśli dysk CD Oprogramowanie i dokumentacja nie obejmuje obsługi danego systemu operacyjnego, należy skorzystać z Kreatora dodawania
Bardziej szczegółowoOpenEmbedded Marcin Juszkiewicz
OpenEmbedded Marcin Juszkiewicz Budowanie ręczne Skąd wziąć kompilator? Czy będzie on wspierał moje urządzenie? Która biblioteka jest potrzebna do zbudowania XYZ? Dlaczego nie mogę skompilować POX? Oops,
Bardziej szczegółowoTworzenie oprogramowania
Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Bardziej szczegółowoIBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux
IBM SPSS Statistics - ssentials for R: Instrukcje instalacji dla Linux Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for R w systemach operacyjnych Linux. Przegląd
Bardziej szczegółowoX P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj 2014 - Poznań, Polska
X PIWO 17 Maj 2014 - Poznań, Polska Portowanie Tizena na nowe architektury na przykładzie ARMv6 Maciej Wereski Samsung R&D Institute Poland Plan prezentacji Środowisko budowania Tizena Infrastruktura GBS
Bardziej szczegółowoInstrukcja instalacji oprogramowania dla środowiska Linux
Instrukcja instalacji oprogramowania dla środowiska Linux Kurs Python od podstaw Przygotuj się jeszcze przed zajęciami! Specyfikacja komputera Python od podstaw minimum 8 GB RAM, rekomendowany procesor
Bardziej szczegółowoProgramowanie Systemów Wbudowanych
Programowanie Systemów Wbudowanych Debugowanie z GDB Iwona Kochańska Gdansk University of Technology GNU debugger Identyfikacja i naprawianie błędów to część procesu wytwarzania oprogramowania Techniki
Bardziej szczegółowoSilent setup SAS Enterprise Guide (v 3.x)
SAS Institute TECHNICAL SUPPORT Silent setup SAS Enterprise Guide (v 3.x) Silent Setup ( cicha instalacja oprogramowania) pozwala na instalację Enterprise Guide (lub całości oprogramowania SAS) na wielu
Bardziej szczegółowoPraca w środowisku Cygwin. Przygotował Mateusz Dudek
Praca w środowisku Cygwin Przygotował Mateusz Dudek Czym jest Cygwin? Cygwin to implementacja standardu POSIX funkcji systemowych przeznaczona dla systemów z rodziny Windows oraz zestaw wolnego oprogramowania
Bardziej szczegółowoSpis treści. Wstęp... 10
Spis treści Wstęp... 10 1. Yocto... 25 1.1. Podstawowe komponenty... 26 1.2. Metadane... 26 1.3. Przygotowanie systemu... 28 1.4. Rozpoczęcie pracy z Yocto... 29 1.4.1. Konfiguracja GIT... 29 1.4.2. fsl-community-bsp-platform...
Bardziej szczegółowoSystem Zarządzania Dystrybucją
PRI - Projekt System Zarządzania Dystrybucją Leszek Krupiński 13 czerwca 2003 Spis treści 1 Opis dziedziny problemowej 2 2 Cel 3 3 Zakres 4 4 Kontekst 5 5 Opis wymagań 6 5.1 Wymagania funkcjonalne......................
Bardziej szczegółowoDział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Systemy Operacyjne i Sieci Komputerowe Klasa: pierwsza Dział Dopuszczający Dostateczny Dobry
Bardziej szczegółowoZadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.
T: Wirtualizacja instalacji serwera Windows. Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V. VirtualBox to
Bardziej szczegółowoIdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com
IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz
Bardziej szczegółowoU M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)
http://user-mode-linux.sourceforge.net/ System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux) Autor: Jeff Dike Koncepcja powstała w 1999 r. Początkowo jako patch do jądra 2.0
Bardziej szczegółowoInstrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux
Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux Kontakt: e-mail: kontakt@mforex.pl infolinia: 22 697 4774 www.mforex.pl 1 1 O platformie Platforma mforex Trader to część systemu
Bardziej szczegółowoInstrukcja instalacji środowiska testowego na TestingCup wersja 1.0
Instrukcja instalacji środowiska testowego na TestingCup 2017 wersja 1.0 Spis treści: 1. Wstęp Błąd! Nie zdefiniowano zakładki. 2. Konfiguracja sprzętowa 2 3. Instalacja bazy danych MySQL 5.7 2 4. Import
Bardziej szczegółowoKonfiguracja i kompilacja jądra Linux. Based on Free Electrons
Konfiguracja i kompilacja jądra Linux Based on Free Electrons Obsługiwane platformy Rodzaje obsługiwanych architektury katalog arch/ Minimum: 32 bit, opcjonalnie MMU, gcc Architektura 32 bit: arm, avr32,
Bardziej szczegółowoProgramowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Bardziej szczegółowoLinux -- u mnie działa!
Linux -- u mnie działa! Wirtualizacja - czyli jak z jednego komputera zrobić 100 Stanisław Kulczycki grung@kce.one.pl Agenda Co to jest wirtualizacja? Zastosowanie Metody wirtualizacji Popularne maszyny
Bardziej szczegółowoĆwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego
Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Cel ćwiczenia: Celem zajęć jest zdobycie doświadczenia i umiejętności instalacji systemu operacyjnego z rodziny Unix bez wykorzystania
Bardziej szczegółowoInstalacja SQL Server Express. Logowanie na stronie Microsoftu
Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy
Bardziej szczegółowoInstrukcja instalacji oprogramowania dla środowiska Linux
Instrukcja instalacji oprogramowania dla środowiska Linux Kurs Tester Oprogramowania Przygotuj się jeszcze przed zajęciami! Specyfikacja komputera Tester Oprogramowania min. 4 GB RAM, rekomendowany procesor
Bardziej szczegółowoLaboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Bardziej szczegółowoInstrukcja instalacji oprogramowania dla środowiska Windows
Instrukcja instalacji oprogramowania dla środowiska Windows Kurs.NET od podstaw Przygotuj się jeszcze przed zajęciami! Specyfikacja komputera.net od postaw minimum 8 GB RAM, rekomendowany procesor minimum
Bardziej szczegółowoInstrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.
Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2 Instrukcja tworzenia bazy danych dla programu AUTOSAT 3 wersja 0.0.4 2z12 1. Wymagania systemowe. Przed rozpoczęciem instalacji
Bardziej szczegółowoAcronis Backup & Recovery 10 Server for Linux. Instrukcja szybkiego rozpoczęcia pracy
Acronis Backup & Recovery 10 Server for Linux Instrukcja szybkiego rozpoczęcia pracy W tym dokumencie opisano sposób instalowania programu Acronis Backup & Recovery 10 Server for Linux oraz rozpoczynania
Bardziej szczegółowoINSTRUKCJA I WSKAZÓWKI
INSTRUKCJA I WSKAZÓWKI korzystania z maszyny wirtualnej Oracle VirtualBox 4 Michał Karbowańczyk, wrzesień 2011 Spis treści 1 Informacje wstępne...4 1.1 Nazewnictwo...4 1.2 Legalność...4 1.3 Instalacja
Bardziej szczegółowoKernel Kompilacja jądra
Kernel Kompilacja jądra systemu Co to jest jądro systemu operacyjnego Jądro systemu operacyjnego jest rozpowszechniane na licencji GNU General Public License (GPL) określonej przez konsorcjum Free Software
Bardziej szczegółowoZałącznik 1 instrukcje instalacji
Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych
Bardziej szczegółowo1.Wstęp. 2.Generowanie systemu w EDK
1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).
Bardziej szczegółowoInstrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie
Strona 1 z 6 Połączenia Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie Uwaga: Przy instalowaniu drukarki podłączonej lokalnie, jeśli dysk CD-ROM Oprogramowanie i dokumentacja
Bardziej szczegółowoRozdział 1. Informacje ogólne
Rozdział 1. Informacje ogólne 1.1. Wprowadzenie Dokument ten opisuje jak zainstalować OMNeT++ na platformie Windows. Poszczególne rozdziały i podrozdziały poświęcone są instalacji, konfiguracji, kompilacji
Bardziej szczegółowoBF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi
BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi Copyright (c) 2007 2008 Boff Spis treści 1. Opis urządzenia...3 2. Instalacja oprogramowania w Windows...4 3. Instalacja oprogramowania w UBUNTU
Bardziej szczegółowoWirtualizacja. Metody, zastosowania, przykłady
Wirtualizacja Metody, zastosowania, przykłady Wirtualizacja - Definicja Użycie oprogramowania w celu stworzenia abstrakcji (iluzji) posiadanych zasobów. Historia Pierwsze szerzej znane zastosowanie: komputer
Bardziej szczegółowoKalipso wywiady środowiskowe
Instrukcja instalacji Kalipso wywiady środowiskowe I. Na systemie operacyjnym Ubuntu (TM) II. Na systemie operacyjnym Windows INFO-R Spółka Jawna - 2017 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93
Bardziej szczegółowoProgramowanie Systemów Wbudowanych
Programowanie Systemów Wbudowanych Systemy budowy OS Linux Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG April 27, 2016 Elementy wbudowanego OS Linux Toolchain kompilator i inne narzdzia
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Bardziej szczegółowoPołączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja
Strona 1 z 6 Połączenia Obsługiwane systemy operacyjne Korzystając z dysku CD z oprogramowaniem, można zainstalować oprogramowanie drukarki w następujących systemach operacyjnych: Windows 8.1 Windows Server
Bardziej szczegółowoKonwersja maszyny fizycznej na wirtualną.
1 (Pobrane z slow7.pl) W końcu, kto Nam zabroni aby stworzyć maszyny wirtualne, które będą pracować pod kontrolą różnych systemów z rodziny Windows bądź Linux. Praca w oparciu o maszyny wirtualne pozwala
Bardziej szczegółowoWprowadzenie do informatyki
Grzegorz Śliwiński Radosław Maciaszczyk Wprowadzenie do informatyki Laboratorium Temat: Wirtualizacja Katedra Architektury Komputerów i Telekomunikacji Szczecin - 2019 I. Podłączenie do aplikacji zdalnej
Bardziej szczegółowoINSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32
INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32 Spis Treści 1. Wymagania... 2 1.1. Wymagania przy korzystaniu z klucza sieciowego... 2 1.2. Wymagania przy uruchamianiu programu przez internet... 2 2.
Bardziej szczegółowoProgramowanie Systemów Czasu Rzeczywistego
Programowanie Systemów Czasu Rzeczywistego Laboratorium Wprowadzenie Mariusz RUDNICKI mariusz.rudnicki@eti.pg.gda.pl 2016 Spis treści Przygotowanie platform docelowej.... 3 Przygotowanie środowiska programistycznego
Bardziej szczegółowoIBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)
IBM SPSS Statistics Wersja 22 Linux - Instrukcja instalacji (licencja wielokrotna) Spis treści Instrukcja instalacji.......... 1 Wymagania systemowe........... 1 Instalowanie produktu............ 1 Praca
Bardziej szczegółowoDokumentacja fillup - MS SQL
Dokumentacja fillup - MS SQL e-file.pl 28 lipca 2017 Spis treści Wstęp 2 Wymagania sprzętowe 2 Windows Server 2012.......................... 2 Windows 10............................... 3 MS SQL Server.............................
Bardziej szczegółowoZałącznik 1 instrukcje instalacji
Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych
Bardziej szczegółowoAcronis Universal Restore
Acronis Universal Restore Update 4 PODRĘCZNIK UŻYTKOWNIKA Spis treści 1 Czym jest narzędzie Acronis Universal Restore...3 2 Instalowanie narzędzia Acronis Universal Restore...3 3 Tworzenie nośnika startowego...3
Bardziej szczegółowoClient Management Solutions i Mobile Printing Solutions
Client Management Solutions i Mobile Printing Solutions Instrukcja obsługi Copyright 2007 Hewlett-Packard Development Company, L.P. Windows jest zastrzeżonym znakiem towarowym firmy Microsoft Corporation,
Bardziej szczegółowoProjekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego. Opis oferowanego przedmiotu zamówienia
Załącznik 1C do SIWZ Opis oferowanego przedmiotu zamówienia w postępowaniu pn. Dostawa sprzętu komputerowego i oprogramowania dla Urzędu Miejskiego w Słupsku w ramach projektu pn. e-urząd dodaj do ulubionych!
Bardziej szczegółowoSkrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator
Wspomagamy procesy automatyzacji od 1986 r. Skrócony przewodnik OPROGRAMOWANIE PC MultiCon Emulator Wersja: od v.1.0.0 Do współpracy z rejestratorami serii MultiCon Przed rozpoczęciem użytkowania oprogramowania
Bardziej szczegółowoWIRTUALIZACJA. Kamil Frydel, Julia Romanowska, Maciej Sokołowski. 12 listopada 2007 WIRTUALIZACJA. Kamil Frydel, Julia Romanowska, Maciej Sokołowski
12 listopada 2007 Spis treści Wirtualizacja - co to? Definicja Sposób podziału zasobów komputera na wiele izolowanych środowisk (partycji). Na jednym fizycznym komputerze/serwerze może być utworzonych
Bardziej szczegółowoGit rozproszony system kontroli wersji
Git rozproszony system kontroli wersji Piotr Macuk Wstęp System kontroli wersji (ang. version control system, VCS) służy do śledzenia zmian projektu w czasie. Umożliwia współpracę wielu osób oraz ułatwia
Bardziej szczegółowoCechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;
14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi
Bardziej szczegółowoTestowanie aplikacji mobilnych z ukierunkowaniem na system Android
Testowanie aplikacji mobilnych z ukierunkowaniem na system Android Trener Łukasz Złocki Absolwent informatyki UŚ Tester i programista Certyfikat ISTQB Foundation W branży IT od 2003 roku W testowaniu od
Bardziej szczegółowoSYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
Bardziej szczegółowoKonwersja maszyny fizycznej na wirtualną
1 (Pobrane z slow7.pl) Konwersja maszyny fizycznej na wirtualną (odsłona druga). Zadanie to wykonamy przy pomocy narzędzia Paragon Go Virtual. Paragon Go Virtual to rozwiązanie, które pomoże zrealizować
Bardziej szczegółowoICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4
ICD 2 Czym jest In-Circuit Debugger? 2 O poradniku 3 Gdzie szukać dodatkowych informacji? 4 ICD 1 ICD 25.08.2009 Czym jest In-Circuit Debugger? Większość procesorów dostarcza systemów debugowania (ang.
Bardziej szczegółowoKomputery przemysłowe i systemy wbudowane
Komputery przemysłowe i systemy wbudowane Systemy operacyjne w systemach wbudowanych 2 KSEM WETI PG October 7, 2015 System operacyjny System operacyjny (OS) - opcjonalny w systemach wbudowanych. zbiór
Bardziej szczegółowoInstalacja serwera baz danych PostgreSQL ze źródeł i pierwsze uruchomienie
Instalacja serwera baz danych PostgreSQL ze źródeł i pierwsze uruchomienie Kroki wstępne 1. Uruchamiamy wcześniej utworzoną maszynę wirtualną 2. Po uruchomieniu systemu ukaże się ekran logowania: 3. Logujemy
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoWirtualizacja w praktyce.
Wirtualizacja w praktyce. Autor: Marek Serafin Wirtualizacja - to proste! Poznaj zalety wirtualizacji i sytuacje, w których sprawdza się ona najlepiej Naucz się instalować najpopularniejsze rozwiązania
Bardziej szczegółowoZastosowanie emulatorów w rozbudowie systemów wbudowanych
Zastosowanie emulatorów w rozbudowie systemów wbudowanych Jan Kowalewski kowalewski.j@protonmail.com May 29, 2019 Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoInstrukcja do laboratorium. Wprowadzenie do problematyki wirtualizacji. Wirtualizacja sieci.
Instrukcja do laboratorium Wprowadzenie do problematyki wirtualizacji. Wirtualizacja sieci. Przed zajęciami proszę dokładnie zapoznać się z instrukcją i materiałami pomocniczymi dotyczącymi laboratorium
Bardziej szczegółowoPodstawowe zagadnienia
SWB - Systemy operacyjne w systemach wbudowanych - wykład 14 asz 1 Podstawowe zagadnienia System operacyjny System czasu rzeczywistego Systemy wbudowane a system operacyjny Przykłady systemów operacyjnych
Bardziej szczegółowoInstrukcja instalacji oprogramowania dla środowiska Linux
Instrukcja instalacji oprogramowania dla środowiska Linux Kurs Java od podstaw Przygotuj się jeszcze przed zajęciami! Specyfikacja komputera Java od podstaw minimum 8 GB RAM, rekomendowany procesor Intel
Bardziej szczegółowoKontenery w Linux. Jakub Pieńkowski 10 maja, Jakub Pieńkowski Kontenery w Linux 10 maja, / 26
Kontenery w Linux Jakub Pieńkowski jakski@sealcode.org 10 maja, 2016 Jakub Pieńkowski jakski@sealcode.org Kontenery w Linux 10 maja, 2016 1 / 26 Czym są kontenery? Definicja Czym są kontenery? Jakub Pieńkowski
Bardziej szczegółowoRozwi zania Client Management Solutions i Mobile Printing Solutions. Numer katalogowy dokumentu:
Rozwi zania Client Management Solutions i Mobile Printing Solutions Numer katalogowy dokumentu: 410173-241 Stycze 2006 Spis tre ci 1 System Client Management Solutions Konfiguracja i rozmieszczanie.................
Bardziej szczegółowoWin Admin Replikator Instrukcja Obsługi
Win Admin Replikator Instrukcja Obsługi Monitoring Kopie danych (backup) E-mail Harmonogram lokalne i zewnętrzne repozytorium Logi Pamięć Procesor HDD Administracja sprzętem i oprogramowaniem (automatyzacja
Bardziej szczegółowoZespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja
7 Windows Serwer 2003 Instalacja Łódź, styczeń 2012r. SPIS TREŚCI Strona Wstęp... 3 INSTALOWANIE SYSTEMU WINDOWS SERWER 2003 Przygotowanie instalacji serwera..4 1.1. Minimalne wymagania sprzętowe......4
Bardziej szczegółowoKonfiguracja pakietu CrossStudio for MSP430 2.0.
Konfiguracja pakietu CrossStudio for MSP430 2.0. 1. Przed rozpoczęciem pracy przeczytaj całego manuala. 2. Gratulujemy wyboru modułu MMmsp430x1xxx. W celu rozpoczęcia pracy należy pobrać 30-dniową wersję
Bardziej szczegółowoArchiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania
Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania Kraków 2010 Przeznaczenie programu. Program BKP_SQL powstał z myślą ułatwienia procesy archiwizacji baz danych MSSQL. Program umożliwia seryjne wykonanie
Bardziej szczegółowoProgramowanie niskopoziomowe
W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska
Bardziej szczegółowoWirtualizacje. Opracowali: Piotr Dąbrowiecki Jakub Gołębiowski Winicjusz Szyszka
Wirtualizacje Opracowali: Piotr Dąbrowiecki Jakub Gołębiowski Winicjusz Szyszka Co to jest maszyna wirtualna? Rodzaje maszyn wirtualnych Interpretery Kompilatory Emulatory Własności maszyn wirtualnych
Bardziej szczegółowoInstrukcja instalacji oprogramowania dla środowiska MacOS
Instrukcja instalacji oprogramowania dla środowiska MacOS Kurs Python od podstaw Przygotuj się jeszcze przed zajęciami! Specyfikacja komputera Python od podstaw minimum 8 GB RAM, rekomendowany procesor
Bardziej szczegółowoTomasz Greszata - Koszalin
T: Wirtualizacja systemu Linux Ubuntu w maszynie wirtualnej VirtualBox. Zadanie1. Odszukaj w serwisie internetowym dobreprogramy.pl informacje na temat programu Oracle VM VirtualBox. VirtualBox to oprogramowanie
Bardziej szczegółowoIBM SPSS Statistics dla systemu Windows Instrukcje dotyczące instalacji (licencja lokalna)
IBM SPSS Statistics dla systemu Windows Instrukcje dotyczące instalacji (licencja lokalna) Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics wersji 21 przy użyciu licencja lokalna.
Bardziej szczegółowoClient Management Solutions i Mobile Printing Solutions
Client Management Solutions i Mobile Printing Solutions Instrukcja obsługi Copyright 2006 Hewlett-Packard Development Company, L.P. Microsoft i Windows są zastrzeżonymi w Stanach Zjednoczonych znakami
Bardziej szczegółowoPROFESJONALNE USŁUGI BEZPIECZEŃSTWA
PROFESJONALNE USŁUGI BEZPIECZEŃSTWA Przewodnik instalacji i konfiguracji systemu zabezpieczeń Check Point VPN-1/FireWall-1 SmallOffice NG SmallOffice jest uproszczoną w zakresie zarządzania wersją systemu
Bardziej szczegółowoCo to jest BCD? Jak możemy edytować magazyn BCD?
Co to jest BCD? Boot Configuration Data jest magazynem, w którym system Windows Vista (a także późniejsze) przechowują pliki oraz ustawienia aplikacji dotyczące rozruchu. BCDEdit.exe jest edytorem z linii
Bardziej szczegółowoTomasz Greszata - Koszalin
T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołów HTTP oraz HTTPS i oprogramowania IIS (ang. Internet Information Services).
Bardziej szczegółowoCVS system kontroli wersji
CVS system kontroli wersji Agenda Podstawowe pojęcia Podstawowe polecenia Metody dostępu do repozytorium Konfiguracja i używanie aplikacji klienckich Konflikty i ich rozwiązywanie Dodatkowe możliwości
Bardziej szczegółowoPrzypisywanie bibliotek w architekturze SAS
SAS Institute TECHNICAL SUPPORT Przypisywanie bibliotek w architekturze SAS Platforma SAS pozwala na zdefiniowanie wspólnych zasobów w metadanych oraz ustalanie praw dostępu dla użytkowników i grup. Ze
Bardziej szczegółowoDystrybucje Linuksa c.d.
Dystrybucje Linuksa c.d. Gentoo dla fachowców Gentoo Gentoo dla fachowców brak skompilowanych paczek; system zarządzania Portage Gentoo dla fachowców brak skompilowanych paczek; system zarządzania Portage
Bardziej szczegółowoIBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania
IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania Spis treści Rozdział 1. Wprowadzenie do programu IBM SPSS Modeler Social Network Analysis.............. 1 IBM SPSS
Bardziej szczegółowoZadanie 2. Tworzenie i zarządzanie niestandardową konsolą MMC
Zadanie 2. Tworzenie i zarządzanie niestandardową konsolą MMC W tym zadaniu utworzymy niestandardową konsolę MMC. Będziemy dodawać, usuwać i zmieniać kolejność przystawek. Następnie przygotujemy konsolę
Bardziej szczegółowoWin Admin Replikator Instrukcja Obsługi
Win Admin Replikator Instrukcja Obsługi Monitoring Kopie danych (backup) E-mail Harmonogram lokalne i zewnętrzne repozytorium Logi Pamięć Procesor HDD Administracja sprzętem i oprogramowaniem (automatyzacja
Bardziej szczegółowoClient Management Solutions i Universal Printing Solutions
Client Management Solutions i Universal Printing Solutions Instrukcja obsługi Copyright 2007 Hewlett-Packard Development Company, L.P. Windows jest zastrzeżonym znakiem towarowym firmy Microsoft Corporation,
Bardziej szczegółowoKOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED
KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:
Bardziej szczegółowo