Jeden Linux. na różnych platformach sprzętowych. Jacek Danecki, Kamil Danecki. 12 marca 2016



Podobne dokumenty
Embedded GNU/Linux. Krzysztof Mazur

Instalacja cross-compilatora Inne elementy. Gentoo. Krzysztof Mazur. June 25, 2014

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj Poznań, Polska

DLACZEGO DYSTRYBUCJE NIE OBSŁUGUJĄ MOJEGO URZĄDZENIA? Marcin Juszkiewicz Software Engineer

K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko

Konfiguracja i kompilacja jądra Linux. Based on Free Electrons

Sprawozdanie z zadania 2. Artur Angiel, śr. 12:15

Programowanie Systemów Wbudowanych

INSTRUKCJA U YTKOWNIKA. Karty synchroniczne V.35 TAHOE 931/932 WOLNOή KOMUNIKACJI

Programowanie Systemów Wbudowanych

Kompilacja jądra systemu Linux

Programowanie Systemów Wbudowanych

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux

KaNaPi. Co chcesz dziś zbudować? Jacek Danecki && Kamil && Natalia. 4 marca Jacek Danecki && Kamil && Natalia KaNaPi 4 marca / 73

Gdy dystrybucja Linuksa staje się niepotrzebna

Linux - System Wbudowany

Administrator systemu Linux - kurs weekendowy

K. Konopko; Toolchain. Toolchain. dr inż. Krzysztof Konopko

Administrator systemu Linux - kurs weekendowy

OpenEmbedded Marcin Juszkiewicz

Materiały dodatkowe. Raspberry Pi

Uruchomienie Intel Galileo

Administracja serwerami

Acronis Backup & Recovery 10 Server for Linux. Instrukcja szybkiego rozpoczęcia pracy

Linux wykład 9. Paweł Rajba.

Kernel Kompilacja jądra

GRUB (GRand Unified Bootloader) - jest bootloaderem instalowanym standardowo w Ubuntu, potrafiącym obsłużyć kilka systemów jednocześnie (Multiboot).

HaeRWu Marcin Juszkiewicz. OpenEmbedded. Wprowadzenie. Marcin Juszkiewicz. Poznań OpenEmbedded.

Dystrybucje Linuksa c.d.

Rozdział 1. Informacje ogólne

Linux Kernel. Michał Kulling.

Uruchomienie Raspberry Pi

ĆWICZENIE NR 4 KONFIGURACJA JĄDRA, USŁUGI SIECIOWE. KATEDRA ELEKTRONIKI POLITECHNIKA LUBELSKA

Linux Kernel II. Hello kernel - jak napisać pierwszy moduł

Programowanie Systemów Wbudowanych

Połączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne?

Administrowanie systemem Linux. Zajecia dla studentow Wydzialu Informatyki (Sieci Komputerowe) WIT w Warszawie w roku akademickim 2006/2007.

Pracownia Technik Obliczeniowych

Programowanie Systemów Wbudowanych

Linux z node.js dla Raspberry Pi

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Programowanie Systemów Wbudowanych

PRE/94/2011. Instalacja i uruchomienie systemu TinyOS. Instalacja i uruchomienie systemu TinyOS. Tomasz Surmacz

Administracja serwerami

Programowanie Systemów Wbudowanych. GNU Toolchain i kompilacja skrośna. GNU Toolchain. Cross-compilation KSEM WETI PG.

Kontenery w Linux. Jakub Pieńkowski 10 maja, Jakub Pieńkowski Kontenery w Linux 10 maja, / 26


Rys historyczny Systemy Wbudowane Raspberry Pi Raspberry Pi - systemy Raspberry Pi - zastosowania Uruchamianie i system NIE

Linux is linux is linux?

2016/10/20 04:45 1/5 3 Instalacja z pakietów

2019/04/04 13:46 1/5 3 Instalacja z pakietów

Acronis Backup 11.7 Update 1 PODRĘCZNIK INSTALACJI. For Linux Server DOTYCZY NASTĘPUJĄCYCH PRODUKTÓW:

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Bootowalny pendrive USB z Windows

VMware, QEMU, UML. oraz inne wirtualne maszyny. Piotr Findeisen Filip Grządkowski Piotr Kuśka Krzysztof Mroczek

Uruchomienie Raspberry Pi

PROJEKTY SOFT Emulacja Raspberry Pi

Kompilacja image z CVS

Spis treści. Wstęp... 10

Program Acronis Backup & Recovery 11 Serwer dla systemu Linux. Update 0. Podręcznik instalacji

Acronis Backup & Recovery 10 Server for Linux. Update 5. Podręcznik instalacji

FreeBSD czyli nie taki diabeł straszny cz. 2 TLUG

Tworzenie oprogramowania

Administrator systemu Linux program kursu. Wstęp. Część I Szybki wstęp do Linuksa. Część II Praca w środowisku tekstowym

Automatyzacja kompilacji. Automatyzacja kompilacji 1/40

Acronis Backup & Recovery 10

Technologie Komponentowe. Piotr Łukasik p /

"Budowa jądra 2.6/3.x" Krzysztof Chomski Krystian Hanek

Administracja serwerami

Jak używać układów SoC Xilinx Zynq-7000 z Linuksem proste przykłady (2)

WYKAZ NOTEBOOKÓW I TABLETÓW W DOSTAWIE SUKCESYWNEJ

Instalacja programów Ubuntu

Systemy kontroli wersji git od wewnatrz Użycie gita Koniec. git. Rozproszony system kontroli wersji. sphere.pl. Koło Naukowe Sfera

Graficzny terminal sieciowy ABA-X3. część pierwsza: Opis startu systemu i jego konfiguracji

CyberGuru Wirtualizacja na platformie Hyper-V w pigułce. Prezentuje: Kamil Frankowicz

Autotools. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

Linux : Ubuntu, Fedora, Debian i 15 innych dystrybucji : biblia : wiedza obiecana / Christopher Negus ; [tł. Robert Górczyński]. New York, cop.

Linux i Open Source w biznesie

Raspberry Pi tajemnice startu

Instrukcja instalacji klienta OpenVPN w sieci WFAiIS UMK w Toruniu. operator@fizyka.umk.pl 28maja2010

Instrukcja instalacji oprogramowania dla środowiska Linux

2 Tworzenie oprogramowania dla systemu wbudowanego

Monitor maszyn wirtualnych

LINUX. Instalacja oprogramowania

EMBEDDED LINUX ON ARM9 CORE EMBEDDED LINUX NA PROCESORACH Z RODZINY ARM9

Kernel; Kompilacja jądra systemu

Automatyczna instalacja oraz zmiana konfiguracji w ramach całego klastra.

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM

BIG SISTER SYSTEM MONITORINGU SIECI DLA LINUX/UNIX I WINDOWS. Michał (traq) Żuchowski. traq@shl.pl

Program Acronis Backup & Recovery 11.5 Serwer dla systemu Linux. Podręcznik instalacji

Instalacja systemu operacyjnego dla minikomputera Raspberry Pi.

SYSTEM OPERACYJNY. Monika Słomian

Kompilacja i uruchamianie zadań na klastrach Perszeron i Mustang.

Administracja bazami danych. dr inż. Grzegorz Michalski

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

April 20, 2015 KSEM WETI PG. Programowanie Systemów Wbudowanych. Kompilacja OS dla systemu wbudowanego. OpenEmbedded.

Open Source w służbie developerom

FORMA SZKOLENIA MATERIAŁY SZKOLENIOWE CENA CZAS TRWANIA

Transkrypt:

Jeden Linux na różnych platformach sprzętowych Jacek Danecki, Kamil Danecki 12 marca 2016 Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 1 / 30

Wstęp One Ring to rule them all, One Ring to find them, One Ring to bring them all, and in the darkness bind them. The Lord of the Rings J. R. R. Tolkien Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 2 / 30

Agenda Sprzęt Dystrybucje Linuksa Source-based dystrybucje Wiwisekcja KaNaPi - WTF? Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 3 / 30

Sprzęt Wondermedia WM8650, ARM 926EJ (Android 2.2) Raspberry Pi B+, ARM1176JZ-F Tablet Lenovo S8-50F, Intel Atom Z3745 (Android 4.4) Tablet/Laptop Asus T100TA, Intel Atom Z3740 (Windows 8.1) Laptop Levovo G510, Intel i5-4200m Telefon Samsung S3, ARM (Android 4.3) Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 4 / 30

Dystrybucje Linuksa Wondermedia WM8650 Debian (demo) Arch Raspberry Pi Raspbian (demo) http://elinux.org/rpi Distributions OpenSUSE Ubuntu Fedora CentOS Slackware Arch Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 5 / 30

Source-based dystrybucje Linux from scratch (Cross Linux from Scratch) Gentoo Yocto Buildroot Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 6 / 30

Yocto git clone git://git.yoctoproject.org/poky cd poky; git checkout -b jethro origin/jethro source oe-init-build-env bitbake core-image-minimal build/tmp/deploy/images/qemux86 core-image-minimal-qemux86-20160309104131.rootfs.ext4 (9MB) bzimage 4.1.17+git0+46bb64d605 2e0ac7b6c4-r0-qemux86-20160309104131.bin modules 4.1.17+git0+46bb64d605 2e0ac7b6c4-r0-qemux86-20160309104131.tgz build/tmp/deploy/rpm 3611 pakietów rpm (1292 glibc-*) Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 7 / 30

Buildroot git://git.buildroot.net/buildroot cd buildroot make menuconfig make make -C../buildroot O= pwd images/rootfs.tar (1.5MB) Demo Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 8 / 30

Wiwisekcja Zabieg operacyjny dokonywany na żywym zwierzęciu w celach naukowych lub doświadczalnych [SJP. PWN] Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 9 / 30

EFI Lenovo S8-50F efibootmgr (XDA-developers - Accessing the Lenovo TAB S8-50 UEFI Setup) active USB hub Demo Asus T100TA (demo) Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 10 / 30

Boot loader grub (EFI) syslinux (Bios) U-Boot (WM8650) R-PI Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 11 / 30

Grub for EFI partycja vfat EFI/BOOT/bootia32.efi EFI/BOOT/bootia64.efi boot/grub/grub.cfg set default=0 set timeout=10 menuentry "KaNaPi 0.5 for i686" { linux /kernel clock=tsc acpi_backlight=vendor initrd /initrd_0.5_i686 } Demo: Asus T100TA Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 12 / 30

syslinux partycja vfat ldlinux.sys Boot sektor (MBR) syslinux.cfg default kanapi prompt 1 timeout 30 font lat2_16.psf display start.msg F1 help.txt label kanapi kernel /kernel append initrd=/initrd_0.5_i686 Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 13 / 30

syslinux (cont.) Demo qemu-system-i386 -hda /dev/sdc -m 512 Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 14 / 30

Uboot partycja vfat wmt scriptcmd kernel mkimage -A arm -O linux -T script -C none -a 1 -e 0 -n script image -d cmd.fromsd wmt scriptcmd cmd.fromsd display init force mmcinit 0 textout -1-1 \"Loading kernel...\" FFFFFF fatload mmc 0 0 kernel textout -1-1 \"Starting KaNaPi...\" FFFFFF setenv bootargs mem=214m root=/dev/mmcblk0p2 console=tty0 \ noinitrd rw rootfstype=ext3 rootdelay=1 bootm 0 Demo Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 15 / 30

R-Pi boot partycja vfat bootcode.bin fixup.dat start.elf kernel.img https://github.com/raspberrypi/tools imagetool-uncompressed.py arch/arm/boot/image cmdline.txt dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 \ rootfstype=ext4 elevator=deadline rootwait Demo Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 16 / 30

Kernel Sprzęt Kernel Architektura CPU WM8650 3.16.0-ltv8 armv5tejl R-Pi 3.12.28+ armv6l Lenovo S8-50F 4.1.0 x86 Asus T100TA 4.1.0/4.5-rc7 x86/x86 64 Lenovo G510 4.1.0 x86/x86 64 Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 17 / 30

Initrd/Initramfs Struktura katalogów Wybrane pakiety Biblioteka C, linker find. -print cpio -o -Hnewc >../initrd Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 18 / 30

Linker Architektura arm x86 x86 64 Linker /lib/ld-linux.so.3 /lib/ld-linux.so.2 /lib64/ld-linux-x86-64.so.2 gcc -dumpspecs \ sed "s@/${l_path}/${l_name}@${prefix}/lib/${l_name}@g" \ > ${GCC_BASE}/lib/gcc/${TARGET_NAME}/${gcc_ver}/specs Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 19 / 30

Biblioteki gcc -print-file-name=libc.so export LD DEBUG=help LD PRELOAD=/libs/test.so /bin/test export LD LIBRARY PATH=/kanapi packages/libs./ldd /kanapi_0.5/i686/packages/bash-4.3/bin/bash linux-gate.so.1 (0xb77cb000) libdl.so.2 => /kanapi_0.5/x86_64/cross/i686/glibc-2.23/lib/libdl.so.2 libc.so.6 => /kanapi_0.5/x86_64/cross/i686/glibc-2.23/lib/libc.so.6 /kanapi_0.5/x86_64/cross/i686/glibc-2.23/lib/ld-linux.so.2 Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 20 / 30

KaNaPi Build system x86 x86 64 Target arm x86 x86 64 cross-compilers machine-vendor-operating system build host target arm-kanapi-linux-gnueabi i686-kanapi-linux-gnu x86 64-kanapi-linux-gnu Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 21 / 30

Budowanie pakietu pkg kanapi download prepare configure build install clean test pkg kanapi binutils.kanapi download Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 22 / 30

binutils.kanapi PACKAGE_NAME=binutils VER=2.26 URL="http://ftp.gnu.org/gnu/binutils" EXT=tar.bz2.../settings pkg_prepare() { pkg_tar_bz2 } pkg_configure() { pkg_configure_target } Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 23 / 30

KaNaPi alpha KaNaPi - x86 (> 600 pakietów x86) KaNaPi - x86 64 (> 100 nowych pakietów x86 64) Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 24 / 30

KaNaPi beta Nowy build system 2 pliki Makefile, skrypty bash Automatyczna kompilacja dla i686/x86 64/arm Źródła ściągane w czasie budowania System zależności pomiędzy budowanymi pakietami Jedna komenda do budowania wszystkiego Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 25 / 30

Cross kompilacja configs packages scripts tests arm, x86, x86 64 Demo Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 26 / 30

Pakiety configs packages scripts tests arm, x86, x86 64 Demo Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 27 / 30

KaNaPi 0.5 Demo Wondermedia WM8650 Raspberry Pi B+ Tablet Lenovo S8-50F Tablet/Laptop Asus T100TA Laptop Levovo G510 Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 28 / 30

KaNaPi 0.5 na telefonie /data/local/kanapi 0.5 Link /kanapi 0.5 > /data/local/kanapi 0.5 Demo Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 29 / 30

Pytania Jacek Danecki, Kamil Danecki Jeden Linux 12 marca 2016 30 / 30