Docker in Practice

Total Page:16

File Type:pdf, Size:1020Kb

Docker in Practice IN PRACTICE Ian Miell Aidan Hobson Sayers FOREWORD BY Ben Firshman MANNING www.allitebooks.com Docker in Practice www.allitebooks.com www.allitebooks.com Docker in Practice IAN MIELL AIDAN HOBSON SAYERS MANNING SHELTER ISLAND www.allitebooks.com For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. 20 Baldwin Road PO Box 761 Shelter Island, NY 11964 Email: [email protected] ©2016 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine. Manning Publications Co. Development editor: Cynthia Kane 20 Baldwin Road Technical development editors: Alain Couniot PO Box 761 and Robert Wenner Shelter Island, NY 11964 Copyeditor: Andy Carroll Proofreader: Melody Dolab Technical proofreader: José San Leandro Typesetter: Gordan Salinovic Cover designer: Marija Tudor ISBN 9781617292729 Printed in the United States of America 12345678910–EBM –212019181716 www.allitebooks.com brief contents PART 1DOCKER FUNDAMENTALS ....................................................1 1 ■ Discovering Docker 3 2 ■ Understanding Docker—inside the engine room 19 PART 2DOCKER AND DEVELOPMENT .............................................41 3 ■ Using Docker as a lightweight virtual machine 43 4 ■ Day-to-day Docker 65 5 ■ Configuration management—getting your house in order 103 PART 3DOCKER AND DEVOPS...................................................143 6 ■ Continuous integration: speeding up your development pipeline 145 7 ■ Continuous delivery: a perfect fit for Docker principles 169 8 ■ Network simulation: realistic environment testing without the pain 186 v www.allitebooks.com vi BRIEF CONTENTS PART 4DOCKER IN PRODUCTION ...............................................213 9 ■ Container orchestration: managing multiple Docker containers 215 10 ■ Docker and security 262 11 ■ Plain sailing—Docker in production and operational considerations 291 12 ■ Docker in production—dealing with challenges 308 www.allitebooks.com contents foreword xv preface xvii acknowledgments xix about this book xx about the cover illustration xxiii PART 1DOCKER FUNDAMENTALS........................................1 Discovering Docker 3 1 1.1 The what and why of Docker 5 What is Docker? 5 ■ What is Docker good for? 7 ■ Key concepts 8 1.2 Building a Docker application 10 Ways to create a new Docker image 11 ■ Writing a Dockerfile 12 Building a Docker image 13 ■ Running a Docker container 14 Docker layering 16 1.3 Summary 18 Understanding Docker—inside the engine room 19 2 2.1 Docker’s architecture 20 vii www.allitebooks.com viii CONTENTS 2.2 The Docker daemon 21 TECHNIQUE 1 Open your Docker daemon to the world 22 TECHNIQUE 2 Running containers as daemons 23 TECHNIQUE 3 Moving Docker to a different partition 26 2.3 The Docker client 27 TECHNIQUE 4 Use socat to monitor Docker API traffic 27 TECHNIQUE 5 Using ports to connect to containers 29 TECHNIQUE 6 Linking containers for port isolation 31 TECHNIQUE 7 Using Docker in your browser 33 2.4 Docker registries 34 TECHNIQUE 8 Setting up a local Docker registry 35 2.5 The Docker Hub 36 TECHNIQUE 9 Finding and running a Docker image 37 2.6 Summary 39 PART 2DOCKER AND DEVELOPMENT.................................41 Using Docker as a lightweight virtual machine 43 3 3.1 From VM to container 44 TECHNIQUE 10 Converting your VM to a container 44 TECHNIQUE 11 A host-like container 47 TECHNIQUE 12 Splitting a system into microservice containers 49 3.2 Managing services on your containers 52 TECHNIQUE 13 Managing the startup of your container’s services 53 3.3 Saving and restoring your work 55 TECHNIQUE 14 The “save game” approach to development 55 TECHNIQUE 15 Docker tagging 57 TECHNIQUE 16 Sharing images on the Docker Hub 59 TECHNIQUE 17 Referring to a specific image in builds 61 3.4 Environments as processes 62 TECHNIQUE 18 The “save game” approach to development 62 3.5 Summary 64 Day-to-day Docker 65 4 4.1 Volumes—a persistent problem 66 TECHNIQUE 19 Docker volumes—problems of persistence 66 TECHNIQUE 20 Distributed volumes with BitTorrent Sync 67 www.allitebooks.com CONTENTS ix TECHNIQUE 21 Retain your container’s bash history 69 TECHNIQUE 22 Data containers 71 TECHNIQUE 23 Remote volume mounting using sshfs 74 TECHNIQUE 24 Sharing data over NFS 76 TECHNIQUE 25 Dev tools container 78 4.2 Running containers 79 TECHNIQUE 26 Running GUIs within Docker 79 TECHNIQUE 27 Inspecting containers 81 TECHNIQUE 28 Cleanly killing containers 83 TECHNIQUE 29 Using Docker Machine to provision Docker hosts 84 4.3 Building images 87 TECHNIQUE 30 Injecting files into your image using ADD 88 TECHNIQUE 31 Rebuilding without the cache 90 TECHNIQUE 32 Busting the cache 92 4.4 Staying ship-shape 93 TECHNIQUE 33 Running Docker without sudo 93 TECHNIQUE 34 Housekeeping containers 94 TECHNIQUE 35 Housekeeping volumes 95 TECHNIQUE 36 Detaching containers without stopping them 97 TECHNIQUE 37 Using DockerUI to manage your Docker daemon 98 TECHNIQUE 38 Generate a dependency graph of your Docker images 99 TECHNIQUE 39 Direct action—execute commands on your container 101 4.5 Summary 102 Configuration management—getting your house in order 103 5 5.1 Configuration management and Dockerfiles 104 TECHNIQUE 40 Create reliable bespoke tools with ENTRYPOINT 104 TECHNIQUE 41 Avoid package drift by specifying versions in your build 106 TECHNIQUE 42 Replacing text with perl -p -i -e 107 TECHNIQUE 43 Flattening images 109 TECHNIQUE 44 Managing foreign packages with alien 111 TECHNIQUE 45 Reverse-engineer a Dockerfile from an image 113 5.2 Traditional configuration management tools with Docker 116 TECHNIQUE 46 Traditional: using make with Docker 116 www.allitebooks.com x CONTENTS TECHNIQUE 47 Building images with Chef Solo 118 TECHNIQUE 48 Source-to-image builds 122 5.3 Small is beautiful 128 TECHNIQUE 49 Dockerfile tricks for keeping your build small 128 TECHNIQUE 50 Tricks for making an image smaller 131 TECHNIQUE 51 Tiny Docker images with BusyBox and Alpine 133 TECHNIQUE 52 The Go model of minimal containers 134 TECHNIQUE 53 Using inotifywait to slim containers 137 TECHNIQUE 54 Big can be beautiful 139 5.4 Summary 141 PART 3DOCKER AND DEVOPS ......................................143 Continuous integration: speeding up your development 6 pipeline 145 6.1 Docker Hub automated builds 146 TECHNIQUE 55 Using the Docker Hub workflow 146 6.2 More efficient builds 149 TECHNIQUE 56 Speed up I/O-intensive builds with eatmydata 149 TECHNIQUE 57 Set up a package cache for faster builds 151 TECHNIQUE 58 Running Selenium tests inside Docker 154 6.3 Containerizing your CI process 158 TECHNIQUE 59 Containing a complex development environment 158 TECHNIQUE 60 Running the Jenkins master within a Docker container 162 TECHNIQUE 61 Scale your CI with Jenkins’ Swarm plugin 164 6.4 Summary 168 Continuous delivery: a perfect fit for Docker principles 169 7 7.1 Interacting with other teams during the CD pipeline 170 TECHNIQUE 62 The Docker contract—reducing friction 170 7.2 Facilitating deployment of Docker images 173 TECHNIQUE 63 Manually mirroring registry images 173 TECHNIQUE 64 Delivering images over constrained connections 174 TECHNIQUE 65 Sharing Docker objects as TAR files 176 7.3 Configuring your images for environments 177 TECHNIQUE 66 Informing your containers with etcd 178 CONTENTS xi 7.4 Upgrading running containers 180 TECHNIQUE 67 Using confd to enable zero-downtime switchover 181 7.5 Summary 185 Network simulation: realistic environment testing without the 8 pain 186 8.1 Container communication—beyond manual linking 187 TECHNIQUE 68 A simple Docker Compose cluster 187 TECHNIQUE 69 A SQLite server using Docker Compose 190 TECHNIQUE 70 Finding containers via DNS with Resolvable 194 8.2 Using Docker to simulate real-world networking 197 TECHNIQUE 71 Simulating troublesome networks with Comcast 197 TECHNIQUE 72 Simulating troublesome networks with Blockade 200 8.3 Docker and virtual networks 204 TECHNIQUE 73 Setting up a substrate network with Weave 204 TECHNIQUE 74 Docker networking and service features 208 8.4 Summary 211 PART 4DOCKER IN PRODUCTION...................................213 Container orchestration: managing multiple Docker 9 containers 215 9.1 Simple single-host Docker 217 TECHNIQUE 75 Managing your host's containers with systemd 217 TECHNIQUE 76 Orchestrating your host's containers with systemd 220 9.2 Multi-host Docker 223 TECHNIQUE 77 Manual multi-host Docker with Helios 223 TECHNIQUE 78 A seamless Docker cluster with Swarm 229 TECHNIQUE 79 Using a Kubernetes cluster 234 TECHNIQUE 80 Building a framework on Mesos 239
Recommended publications
  • PDF-Dokumenten Zusammenzusetzen Im Test Raspi 3A+
    Haiku: BeOS-Klon bekommt RasPi 3 Modell A+: Neuer easyLINUX COMMUNITY-EDITIONJetzt mit zusätzlichen Seiten ! rund umneues den Paketmanagement Linux-Einstieg S. 82 Mini-PC im Überblick S. 86 Frei kopieren und beliebig weiter verteilen ! 02.2019 02.2019 Digitale Notizen, Gliederungseditoren, Zusammenarbeit im LAN und unterwegs WISSEN TEILEN WISSEN TEILEN WISSEN Mini-Server: Vorträge um ein Diskussionsforum ergänzen S. 28 Joplin: Evernote-Ersatz ohne Zwang zur Cloud S. 32 Pydio Cells: Dateien teilen und gemeinsam bearbeiten S. 24 Cherrytree und Piggydb: Daten ordnen und miteinander vernetzen S. 16 Steam Play: Der neue Valve-Client im Test Dank Vulkan-API und Proton verspricht das Unternehmen mehr Spiele für Linux – unser Report deckt das Potenzial und die Probleme des neuen Ansatzes auf S. 74 Hilfe aus der Ferne Netzwerk-Konfiguration Einsteigertaugliche Remote-Software Mit nur einem Tool Geräte einrichten, öffnet SSH-Zugang zum eigenen PC S.38 Routen setzen und Traffic steuern S. 80 Top-Distris auf zwei Heft-DVDs MANJARO 18 • APT-CLONE • PLASMA 5.14 • GIMP 2.10 • RASPI 3A+ • • 3A+ RASPI • 2.10 GIMP • 5.14 PLASMA • APT-CLONE • 18 MANJARO EUR 8,50 EUR 9,35 sfr 17,00 EUR 10,85 EUR 11,05 EUR 11,05 02 www.linux-user.de Deutschland Österreich Schweiz Benelux Spanien Italien 4 196067 008502 02 Editorial Lindows? Sehr geehrte Leserinnen und Leser, wer sich gelegentlich auch in englisch- sprachigen Medien über Linux und quell- offene Software informiert, der kennt unvermeidlich das Kürzel sjvn: Steven J. Vaughan-Nichols liefert seit Jahrzehnten technische Hintergrund informationen und spitzzüngige Meinungsstücke über Jörg Luther das Open-Source- Umfeld.
    [Show full text]
  • UG1144 (V2020.1) July 24, 2020 Revision History
    See all versions of this document PetaLinux Tools Documentation Reference Guide UG1144 (v2020.1) July 24, 2020 Revision History Revision History The following table shows the revision history for this document. Section Revision Summary 07/24/2020 Version 2020.1 Appendix H: Partitioning and Formatting an SD Card Added a new appendix. 06/03/2020 Version 2020.1 Chapter 2: Setting Up Your Environment Added the Installing a Preferred eSDK as part of the PetaLinux Tool section. Chapter 4: Configuring and Building Added the PetaLinux Commands with Equivalent devtool Commands section. Chapter 6: Upgrading the Workspace Added new sections: petalinux-upgrade Options, Upgrading Between Minor Releases (2020.1 Tool with 2020.2 Tool) , Upgrading the Installed Tool with More Platforms, and Upgrading the Installed Tool with your Customized Platform. Chapter 7: Customizing the Project Added new sections: Creating Partitioned Images Using Wic and Configuring SD Card ext File System Boot. Chapter 8: Customizing the Root File System Added the Appending Root File System Packages section. Chapter 10: Advanced Configurations Updated PetaLinux Menuconfig System. Chapter 11: Yocto Features Added the Adding Extra Users to the PetaLinux System section. Appendix A: Migration Added Tool/Project Directory Structure. UG1144 (v2020.1) July 24, 2020Send Feedback www.xilinx.com PetaLinux Tools Documentation Reference Guide 2 Table of Contents Revision History...............................................................................................................2
    [Show full text]
  • Long-Term Analysis and Visualization Reproducibility of Heterogeneous
    Fachbereich 3: Mathematik und Informatik Master’s Thesis Long-term analysis and visualization reproducibility of heterogeneous robotic experience data in a continuously developed knowledge processing service German title: Langzeit-Reproduzierbarkeit von Analyse und Visualisierung heterogener Robotikexperimentdaten in einem ständig weiterentwickelten Wissenverarbeitungsdienst Moritz Horstmann Matriculation No. 259 007 4 28th January 2019 Examiner: Prof. Michael Beetz PhD Supervisor: Dr. Karsten Sohr Advisor: Daniel Beßler Moritz Horstmann Long-term analysis and visualization reproducibility of heterogeneous robotic experience data in a con- tinuously developed knowledge processing service German title: Langzeit-Reproduzierbarkeit von Analyse und Visualisierung heterogener Robotikexperi- mentdaten in einem ständig weiterentwickelten Wissenverarbeitungsdienst Master’s Thesis, Fachbereich 3: Mathematik und Informatik Universität Bremen, January 2019 Master’s Thesis Long-term analysis and visualization reproducibility of heterogeneous robotic experience data in a continuously developed knowledge processing service Selbstständigkeitserklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig angefertigt, nicht anderweitig zu Prüfungszwecken vorgelegt und keine anderen als die angegebenen Hilfsmittel verwendet habe. Sämtliche wissentlich verwendete Textausschnitte, Zitate oder Inhalte anderer Verfasser wurden ausdrücklich als solche gekennzeichnet. Bremen, den 28th January 2019 Moritz Horstmann 3 Contents Contents ...........................................
    [Show full text]
  • The Ultimate Guide to Software Updates on Embedded Linux Devices
    The ultimate guide to software updates on embedded Linux devices foss-north 2018 Mirza Krak Session Overview ● Intro ● Basics ● FOSS ecosystem ○ Strategy ○ Key Features ○ Community 2 Mirza Krak ● FOSS enthusiast ● Board Support Package development ● Linux kernel developer ● Yocto/OE-core ● Disclaimer: Mender community member 3 Embedded Linux Devices @internetofshit 4 Embedded Linux environment ● Remote in some cases ○ No physical access to devices ● Long life span ○ 5-10 years ● Unreliable power supply ○ Power loss at any given time ● Unreliable network ○ Mobile ○ Low bandwidth 5 Why do we need update software? ● Fixing issues (bugs) ● Feature growth ● Security updates 6 Software update on-site ● No connectivity ● Easy access to an device ● USB Flash drive ● Technician 7 Software updates (OTA) ● No easy access to device ● Deployment management server ○ status reports ○ current versions 8 What to we need to update? U-boot Linux + DTB Root file-system (distro) Root file-system (apps) MCU/FPGA 9 Requirements (basic) ● Able to update all components ○ Unsafe to update bootloader ● Never render the device unusable (brick) ○ Fail-safe ● Atomic updates ○ No partial install ● Roll-back ○ Not always possible ● Integrity check ● Signed images ○ Trusted images ● Compatibility check ● Persistent data storage 10 Requirements (basic OTA) ● Secure communication channel ○ Encrypted ● Device Authentication (trust) 11 Alternative approaches ● Image/block based updates ○ Easy to implement, test, verify and maintain ● Incremental atomic image upgrade mechanism
    [Show full text]
  • Fabtools Documentation Release 0.20.0-Dev
    fabtools Documentation Release 0.20.0-dev Ronan Amicel June 18, 2015 Contents 1 About 1 2 Installing 3 3 Example 5 4 Supported targets 7 5 API Documentation 9 5.1 fabtools..................................................9 5.2 fabtools.require.............................................. 43 6 History 69 6.1 Changelog................................................ 69 7 Development 79 7.1 Tests................................................... 79 8 Indices and tables 83 Python Module Index 85 i ii CHAPTER 1 About fabtools includes useful functions to help you write your Fabric files. fabtools makes it easier to manage system users, packages, databases, etc. fabtools includes a number of low-level actions, as well as a higher level interface called fabtools.require. Using fabtools.require allows you to use a more declarative style, similar to Chef or Puppet. 1 fabtools Documentation, Release 0.20.0-dev 2 Chapter 1. About CHAPTER 2 Installing To install the latest release from PyPI $ pip install fabtools To install the latest development version from GitHub $ pip install git+git://github.com/ronnix/fabtools.git 3 fabtools Documentation, Release 0.20.0-dev 4 Chapter 2. Installing CHAPTER 3 Example Here is an example fabfile.py using fabtools from fabric.api import * from fabtools import require import fabtools @task def setup(): # Require some Debian/Ubuntu packages require.deb.packages([ 'imagemagick', 'libxml2-dev', ]) # Require a Python package with fabtools.python.virtualenv('/home/myuser/env'): require.python.package('pyramid') # Require
    [Show full text]
  • SSI-OSCAR Single System Image - Open Source Cluster Application Resources
    2006 OSCAR Symposium St. John's, Newfoundland, Canada May 17, 2006 SSI-OSCAR Single System Image - Open Source Cluster Application Resources Geoffroy Vallée, Thomas Naughton and Stephen L. Scott Oak Ridge National Laboratory, Oak Ridge, TN, USA Tutorial Structure • OSCAR Overview – Brief background and project overview – Highlight core tools leveraged by OSCAR – Describe the extensible package system – Summary of “spin-off” projects • SSI-OSCAR – Presentation of SSI concept – Overview of the Kerrighed SSI – Overview of SSI-OSCAR Package OSCAR Project Overview OSCAR Background • Concept first discussed in January 2000 • First organizational meeting in April 2000 – Cluster assembly is time consuming & repetitive – Nice to offer a toolkit to automate • First public release in April 2001 • Use “best practices” for HPC clusters – Leverage wealth of open source components – Target modest size cluster (single network switch) • Form umbrella organization to oversee cluster efforts – Open Cluster Group (OCG) Open Cluster Group • Informal group formed to make cluster computing more practical for HPC research and development • Membership is open, direct by steering committee – Research/Academic – Industry • Current active working groups – [HPC]-OSCAR – Thin-OSCAR (diskless) – HA-OSCAR (high availability) – SSI-OSCAR (single system image) – SSS-OSCAR (Scalable Systems Software) OSCAR Core Organizations What does OSCAR do? • Wizard based cluster software installation – Operating system – Cluster environment • Automatically configures cluster components
    [Show full text]
  • Software Packages (Not Only) in Linux
    Software Packages (not only) in Linux Michal Hruˇseck´y openSUSE Team @ SUSE May 13, 2013 1 of 28 Introduction Who am I? • used to maintain build of distribution from OpenEmbedded • maintainer of MySQL packages in openSUSE/SLE • Gentoo developer ) package maintainer for past seven years for various distributions What is the talk about? • packaging and software packages - what, why and how 1 of 28 Software Packages - what and why 2 of 28 What is software package? • archive with files to be installed • metadata for package manager • most common are .rpm and .deb Usual metadata: • description • license • dependencies • extra installation instructions • checksums 2 of 28 Why do we need them? Convenience • easy installation • easy update • clean uninstall • easy distribution of software Security • avoid development tools on production machines • detect tempering 3 of 28 Life without packages • Get a tarball • Find out dependencies • Build and install dependencies • Build and install package itself ◦ ./configure --prefix=/usr --enable-this n --disable-that --with-lib=there ◦ make ◦ fix what is broken ◦ make install ◦ try it ◦ make uninstall ◦ clean up left-overs 4 of 28 Life with packages • pkg-manager install pkg • pkg-manager remove pkg 5 of 28 RPM 6 of 28 Basic information • one of the oldest in Linux world • created in 1997 for RedHat • used by various distributions ◦ RedHat/Fedora and derivates ◦ openSUSE/SLE, Mandriva/Mageia, Meego, . • several frontends to make operations easier ◦ yum - used by RedHat/Fedora and derivates ◦ zypper - used by openSUSE/SLE and Meego ◦ urpmi - used by Mandriva/Mageia 6 of 28 File format • 32 bytes lead (magic, rpm version, type of package, architecture) • signature • header ◦ name, version and release ◦ license ◦ summary ◦ description ◦ changelog ◦ requires and provides ◦ file list with rights, md5s and more • archive ◦ cpio, compressed by gzip, bzip2, xz, .
    [Show full text]
  • The Journal of AUUG Inc. Volume 22 ¯ Number 3 November 2001
    The Journal of AUUG Inc. Volume 22 ¯ Number 3 November 2001 Features: Doing Damage with DocBook 14 AUUGN CD: Mandrake 8.1 16 Linux as a Replacement for Windows 2000 17 Interview with Ben Collins, DPL 27 Old Kernels Never Die 29 Rune for Linux 30 Testing a Firewall or Router 33 Caldera Open Linux Workstation 3.1 37 Wasabi Systems ships update to NetBSD 44 DVD Players for Linux 44 Using XML and XSLT 53 Logical Volume Managers 57 Psionic Portsentry, the defender of the ports 59 The State of Corporate IT: The case for Linux 62 Installing Debian on a 4MB RAM System 66 wxPython for Newbies 67 Debian Conference, Australia 72 AUUG2001: The Conference Photos 72 Shell Programming 78 News: Public Notices 10 AUUG2002: Call for Papers 6 LUV Installfest 2001 12 AUUG Security Symposium 2001 86 AUUG: Chapter Meetings and Contact Details 9O Regulars: President’s Column 3 /var/spool/mail/auugn 4 My Home Network 10 ISSN 1035-7521 Print post approved by Australia Post - PP2391500002 , AUUG Membership and General Correspondence The AUUG Secretary PO Box 366 Editorial Kensington NSW 2033 Con Zymaris Telephone: 02 8824 9511 [email protected] or 1800 625 655 (Toll-Free) Facsimile: 02 8824 9522 Email: [email protected] I often begin issues of AUUGN with a snippet of recent news which relates to our segment of the IT industry. AUUG Management Committee Now, what do I define as our segment of the IT Email: [email protected] industry? Well, to be blunt, and at the risk of President inflaming opposing opinions, I define it as that area David Purdue bounded by switched-on people doing interesting iPlanet e-commerce solutions The Tea House things with advanced computing platforms.
    [Show full text]
  • Sitara Linux Software Developer's Guide Thank You for Choosing to Evaluate One of Our Sitara ARM Microprocessors [1]
    Sitara Linux Software Developer’s Guide v6.00.00.00 NOTE - This PDF is hyperlinked. Clicking on a link (typically bolded and underlined) will take you to that chapter or open the appropriate website. Contents Articles Sitara Linux Software Developer’s Guide 1 How to Build a Ubuntu Linux host under VMware 14 Sitara SDK Installer 29 Sitara Linux SDK Setup Script 32 AMSDK START HERE Script 36 Matrix Users Guide 38 AM335x Power Management User Guide 47 AM37x Power Management User Guide 51 OMAPL1: Changing the Operating Point 54 ARM Multimedia Users Guide 57 Camera Users Guide 81 Cryptography Users Guide 89 Oprofile User's Guide 97 WL127x WLAN and Bluetooth Demos 100 OMAP Wireless Connectivity OpenSource Compat Wireless Build 103 OMAP Wireless Connectivity mac80211 compat wireless implementation Architecture 104 OMAP Wireless Connectivity Battleship Game demo 106 AMSDK u-boot User's Guide 111 AMSDK Linux User's Guide 122 Code Composer Studio v5 Users Guide 127 Linux Debug in CCSv5 156 How to setup Remote System Explorer plug-in 169 How to Run GDB on CCSv5 185 Pin Mux Utility for ARM MPU Processors 193 Pin Setup Tool for AM18xx ARM Microprocessors 215 AM335x Flashing Tools Guide 223 Flash v1.6 User Guide 226 AM18x Flash Tool User's Guide 240 AMSDK File System Optimization/Customization 242 Sitara Linux Training 244 How to use a Mouse instead of the Touchscreen with Matrix 246 How to Recalibrate the Touchscreen 247 AM335x U-Boot User's Guide 248 Sitara Linux SDK Top-Level Makefile 264 Sitara Linux SDK GCC Toolchain 267 Sitara Linux SDK create SD card script 272 How to add a JVM 278 References Article Sources and Contributors 281 Image Sources, Licenses and Contributors 282 Article Licenses License 285 Sitara Linux Software Developer’s Guide 1 Sitara Linux Software Developer’s Guide For the SDG specific to your SDK release, please refer to Archived SDGs under Reference Documentation Welcome to the Sitara Linux Software Developer's Guide Thank you for choosing to evaluate one of our Sitara ARM microprocessors [1].
    [Show full text]
  • Antes De Empezar
    Antes de empezar... ● Láminas (y quizás video) en bureado.com ● Aplicaciones->Accesorios->Terminal – sudo aptitude update – sudo aptitude install gems – gems-client 10.2.205.219 ● Aplicaciones->Accesorios->Terminal – sudo aptitude install dpkg-dev devscripts Taller de empaquetamiento de software bajo el sistema APT José Miguel Parrella Romero (bureado) Debian Developer Problemática ● La mayoría del software libre crece de forma orgánica, generando un problema de acceso ● ca 1993 se empezó a atender el problema de la distribución de software libre al público ● En 1998, Debian libera APT: Advanced Packaging Tool como propuesta – Facilitar la distribución de software libre – Hacer elegante y escalable la distribución – Hoy en día, el sistema de paquetes más usado Otros sistemas de paquetes ● Derivados de APT ● Sistemas agnósticos (ipkg/opkg, Fink) postmodernos ● RPM y frontends – PackageKit contemporáneos – Conary usados en Red Hat, – Smart SuSe y derivados – ZeroInstall ● Paquetes basados – CoApp en fuentes como – Ponga su nombre Arch (pacman) y aquí... también Slackware (swaret) Objetivos funcionales ● Ubicar un pedazo de software en cualquier parte del mundo, en demanda – If you can't apt-get it, it isn't useful or doesn't exist ● Encargarse de conseguir y preparar todas las dependencias para el software ● Instalar el software para su uso inmediato ● Preconfigurar el software, opcionalmente de acuerdo a instrucciones del usuario ● Gestionar actualizaciones y remociones Componentes de APT Paquete Repo fuente ● Paquetes binarios físicos (.deb) ● Build Paquetes fuentes daemon físicos (.dsc, .tar.gz) Listas de paquetes ● Listas de paquetes (Release y Packages[.*]) ● Repositorios (HTTP, Developers FTP, SSH...) Paquetes binarios Escenarios (objetivos) ● Reconstruir un paquete de software existente con nuevas opciones y/o cambios ● Crear un paquete de software para una nueva aplicación ● Discusión sobre otros escenarios (si el tiempo lo permite) – Aplicaciones Web – Módulos de lenguajes (Perl, Python...) ● Buenos ciudadanos en Debian (y Ubuntu) Buscando las fuentes..
    [Show full text]
  • Using Package Manager to Efficiently Develop Yocto Project-Based Systems
    Using Package Manager to Efficiently Develop Yocto Project-based Systems Package Manager White Paper May 2015 Document Number: 332443 Rev.1 .0 You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed herein No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest Intel product specifications and roadmaps. The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-548-4725 or by visiting: http://www.intel.com/design/literature.htm Intel is trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. Copyright © 2015, Intel Corporation. All rights reserved. Package Manager White Paper May 2015 2 Document Number: 332443 Rev.1 .0 Contents 1.0 Introduction ...........................................................................................................................................
    [Show full text]
  • A Smart Way to Manage Packages in Yocto Project
    A Smart Way to Manage Packages in Yocto Project Mar 11th, 2016 Fan Xin, Fujitsu Computer Technologies Limited 1378ka02 Copyright 2016 FUJITSU COMPUTER TECHNOLOGIES LIMITED whoami Fan Xin, Fujitsu Computer Technologies Ltd. Embedded Linux Developer In-House Embedded Linux Distributor of Fujitsu Our Distribution includes LTSI Kernel and is built with Yocto Project Our Distribution is used for IVI, Server System Controller, Storage System, Network Equipment, Printer, etc. IVI:In-Vehicle Infotainment 1 Copyright 2016 FUJITSU COMPUTER TECHNOLOGIES LIMITED Fujitsu’s contribution for Yocto Project meta-openembedded.git top contributors by employer (2015-01-01 to 2015-12-31) None 625 (46.1%) Wind River 309 (22.8%) Fujitsu 160 (11.8%) Intel 82 (6.0%) Mentor Graphics 34 (2.5%) O.S. Systems 24 (1.8%) National Instruments 19 (1.4%) MontaVista 16 (1.2%) OpenDreambox 12 (0.9%) Freescale 9 (0.7%) Linaro 8 (0.6%) ENEA AB 5 (0.4%) Leica 5 (0.4%) Aker Security Solutions 4 (0.3%) BMW 3 (0.2%) 2 Copyright 2016 FUJITSU COMPUTER TECHNOLOGIES LIMITED Agenda Package Manager Comparison Package Management Problem Analysis in Yocto Project Introduction of Smart Package Manager Fujitsu’s Contribution and Next Step 3 Copyright 2016 FUJITSU COMPUTER TECHNOLOGIES LIMITED Package Manager Comparison 4 Copyright 2016 FUJITSU COMPUTER TECHNOLOGIES LIMITED Package Manager Package Manager A collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs Deals with packages, distributions of software
    [Show full text]