Embedded Systems 2/7

Total Page:16

File Type:pdf, Size:1020Kb

Embedded Systems 2/7 Embedded systems 2/7 J.-M Friedt Introduction Virtual memory access Embedded systems 2/7 Kernel module basics Using the kernel: timers J.-M Friedt Conclusion & lab session FEMTO-ST/d´epartement temps-fr´equence [email protected] slides at jmfriedt.free.fr September 9, 2020 1 / 24 Embedded systems 2/7 J.-M Friedt Operating system: the need for Introduction drivers Virtual memory access Kernel module basics Using the kernel: timers • Hardware abstraction: hide low level functions so that the developer Conclusion & lab session can focus on the functionalities provided by the peripheral ! a single entry point providing system calls (open, read, write, close) hiding access to hardware • Homogeneous interface to all peripherals (\Everything is a file") • Only the kernel can access hardware resources (DMA, interrupts) • Share resources and make sure only one process can access a given hardware function • Add functionalities to the Linux kernel: modules 2 / 24 Embedded systems 2/7 J.-M Friedt Virtual memory/hardware memory Introduction Hardware memory addressing Virtual memory • hardware memory: a value on the address bus identifies which access peripheral is active Kernel module basics • each peripheral decodes the address bus to detect whether it is the Using the kernel: target of a message timers • Conclusion & lab only one peripheral must match a given physical address (otherwise, session conflict) Virtual memory addressing • each process has its own address space • memory organization independent of physical constraints • dynamic loading binaries and associated libraries • MMU: translates between hardware and virtual memory addresses Virtual organization (process) Physical organization (CPU) 4096 Page 1 4096 Page 1 Page 2 Page 2 page & 0xff..f000 page & 0xff..f000 Page 3 Page 3 page & 0x00..0fff page & 0x00..0fff Page N Page N 3 / 24 Embedded systems 2/7 J.-M Friedt Hardware access from userspace Introduction Through /dev/mem Virtual memory access • advantage: not going through kernel abstraction layers (fast) Kernel module • drawback: not going through kernel abstraction layers (no handling basics Using the kernel: of concurrent memory access) timers #include < f c n t l . h> Conclusion & lab #include <s y s /mman . h> session #define MAP SIZE 4096UL // MMU page size #define MAP MASK ( MAP SIZE−1) // mask i n t main(int argc, char ∗∗ a r g v ) f i n t fd; void ∗ map base , ∗ v i r t a d d r ; u n s i g n e d long read result , writeval; o f f t target=0x12345678; // physical@ f d = open ( "/dev/mem" ,O RDWR j O SYNC) ; // MMU access map base=mmap(0 , MAP SIZE , PROT READ j PROT WRITE , n MAP SHARED, fd , t a r g e t & ~MAP MASK) ; v i r t a d d r=map base+(target & MAP MASK) ; // virt.@ r e a d r e s u l t =∗((unsigned long ∗) v i r t a d d r ) ; // read mem p r i n t f ( "0x%X(%p):0x%X\n" ,target ,virt a d d r , r e a d r e s u l t ) ; // ∗ ((unsigned long ∗) virt a d d r)= writeval;// write munmap( map base , MAP SIZE); close(fd); return 0; g 4 / 24 Embedded systems 2/7 J.-M Friedt The devmem tool Introduction Virtual memory access Kernel module basics Using the kernel: timers • Fast prototyping when accessing processor registers Conclusion & lab 1 session • Available in busybox • Use: Read/write from physical address ADDRESS Address to act upon WIDTH Width (8/16/...) VALUE Data to be written 1$BUILDROOT/output/build/busybox-1.30.1/miscutils/devmem.c 5 / 24 Embedded systems 2/7 J.-M Friedt Hardware access from the kernel Introduction Virtual memory • access Userspace: mmap on the /dev/mem pseudo-file Kernel module • Kernel space: ioremap function after requesting the address range basics Using the kernel: used by the peripheral timers #include <l i n u x / i o . h> // ioremap Conclusion & lab #define IO BASE 0xe000a000 // UG585p.1347 session and in the initialization function i f (request m e m r e g i o n ( IO BASE,0x2e4 , "GPIO test" )==NULL) printk (KERN ALERT "mem request failed" ); j m f gpio=(u32)ioremap(IO BASE, 0x2e4); // UG585p.1349 w r i t e l (1<<9, j m f gpio+0x204) ; // dir. of MIO9 To free the resource: r e l e a s e m e m r e g i o n ( IO BASE, 0x2e4); Check if the requested memory range is available (otherwise, kernel panic) 6 / 24 Embedded systems 2/7 J.-M Friedt Basic kernel module structure Introduction Kernel module = \plugin" requiring strarting and ending functions Virtual memory access #include <linux/module.h> /∗ Needed by all modules ∗/ Kernel module #include <linux/kernel.h> /∗ Needed for KERN INFO ∗/ basics #include <linux/init .h> /∗ Needed for the macros ∗/ Using the kernel: timers i n t hello s t a r t (void); Conclusion & lab session v o i d hello e n d (void); i n t hello s t a r t ( ) // init m o d u l e(void) f printk (KERN INFO "Hello\n" ); r e t u r n 0; g v o i d hello e n d ( ) // cleanup m o d u l e(void) f printk (KERN INFO "Goodbye\n" ); g m o d u l e i n i t ( h e l l o s t a r t ) ; m o d u l e e x i t ( h e l l o e n d ) ; No printf (write to /var/log/messages with printk accessible with dmesg), no floating point operation, no file operations. 7 / 24 Embedded systems 2/7 J.-M Friedt Kernel module compilation Introduction Virtual memory A kernel module must link to the running kernel: access • Kernel module requires kernel sources ($BR/output/build/linux*) or at least basics configured headers (linux-headers-X.Y.Z-amd64 on Using the kernel: timers Debian/GNU Linux) Conclusion & lab • dedicated Makefile calling the Linux kernel Makefile modules session method on PC: obj−m += mymod . o a l l : make −C /lib/modules/$ (shell uname −r ) / b u i l d n M=$ (PWD) modules or for cross-compiling, linking to the Buildroot $BR obj−m +=mymod . o a l l : make ARCH=arm CROSS COMPILE=arm−l i n u x − n −C $ (BR)/output/build/linux −XXX n M=$ (PWD) modules 8 / 24 Embedded systems 2/7 J.-M Friedt Communicating from userspace Introduction with the kernel Virtual memory access Kernel module Through /dev basics Using the kernel: • write, read, or control (ioctl) timers Conclusion & lab • each kernel module implements its own answer to the system calls session • each peripheral is identified by its class (major number) and its index (minor number) brw-rw---- 1 root disk 8, 0 Feb 28 06:21 sda brw-rw---- 1 root disk 8, 1 Feb 28 06:21 sda1 brw-rw---- 1 root disk 8, 2 Feb 28 06:21 sda2 brw-rw---- 1 root disk 8, 3 Feb 28 06:21 sda3 [...] crw-rw---- 1 root dialout 4, 64 Feb 28 07:21 ttyS0 crw-rw---- 1 root dialout 4, 65 Feb 28 07:21 ttyS1 crw-rw---- 1 root dialout 4, 66 Feb 28 07:21 ttyS2 crw-rw---- 1 root dialout 4, 67 Feb 28 07:21 ttyS3 In case an entry is missing (e.g. created by udev) in /dev : mknod 9 / 24 Embedded systems 2/7 2 J.-M Friedt Architecture of a POSIX Introduction compliant OS Virtual memory access Kernel module basics Using the kernel: Userspace timers Conclusion & lab applications (libc) session /dev/ttyUSB /dev/partport0 Module 1 Module 2 Module 3 (USB) (GPIO) (fs) Monolithic kernel (scheduler, interrupts, timers ...) system fonctions, networking, process scheduling and memory sharing, vfs 2/dev directory: pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap10.html 10 / 24 Embedded systems 2/7 J.-M Friedt The /dev directory Introduction • includes pseudo-files linking the kernel with the user space Virtual memory access • each device is defined with a major number and, within each class, Kernel module basics a minor number Using the kernel: • timers on the kernel side, a driver links to the same major number and Conclusion & lab provides implementations of the system calls session s t a t i c struct file operations fops= • f . r e a d : qadc read , open() . open : qadc open , • close() . u n l o c k e d i o c t l : q a d c i o c t l , • write() .release: qadc r e l e a s e , • read() // no.write on an ADC! • ioctl() g ; s t a t i c int i n i t q a d c i n i t (void) f ... r e g i s t e r chrdev (qadc major , "ppp" ! ,! , &f o p s ) ; ... g m o d u l e i n i t ( q a d c i n i t ) ; m o d u l e e x i t ( q a d c e x i t ) ; 11 / 24 Embedded systems 2/7 J.-M Friedt Input/Output Control (ioctl) Introduction • mechanism breaking the \Everything is a file” philosophy Virtual memory • access configures a peripheral by providing \what" index and as an Kernel module argument the \value" basics • no standardized command: the header file common to the driver Using the kernel: timers and the userspace program provides the list of IOCTL calls 3 Conclusion & lab • example: OSS (Open Sound System ) in session include/uapi/linux/soundcard.h of the kernel source: /∗ Use ioctl(fd, OSS GETVERSION,&int) to get the v e r s i o n number of the currently active driver.
Recommended publications
  • Release Notes for Debian GNU/Linux 5.0 (Lenny), Alpha
    Release Notes for Debian GNU/Linux 5.0 (lenny), Alpha The Debian Documentation Project (http://www.debian.org/doc/) November 11, 2010 Release Notes for Debian GNU/Linux 5.0 (lenny), Alpha Published 2009-02-14 This document is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- out even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. The license text can also be found at http://www.gnu.org/copyleft/gpl.html and /usr/ share/common-licenses/GPL-2 on Debian GNU/Linux. ii Contents 1 Introduction 3 1.1 Reporting bugs on this document . .3 1.2 Contributing upgrade reports . .3 1.3 Sources for this document . .4 2 What’s new in Debian GNU/Linux 5.05 2.1 What’s new in the distribution? . .5 2.1.1 Package management . .7 2.1.2 The proposed-updates section . .7 2.2 System improvements . .8 2.3 Major kernel-related changes . .8 2.3.1 Changes in kernel packaging . .8 2.4 Emdebian 1.0 (based on Debian GNU/Linux lenny 5.0) . .9 2.5 Netbook support .
    [Show full text]
  • Version 7.8-Systemd
    Linux From Scratch Version 7.8-systemd Created by Gerard Beekmans Edited by Douglas R. Reno Linux From Scratch: Version 7.8-systemd by Created by Gerard Beekmans and Edited by Douglas R. Reno Copyright © 1999-2015 Gerard Beekmans Copyright © 1999-2015, Gerard Beekmans All rights reserved. This book is licensed under a Creative Commons License. Computer instructions may be extracted from the book under the MIT License. Linux® is a registered trademark of Linus Torvalds. Linux From Scratch - Version 7.8-systemd Table of Contents Preface .......................................................................................................................................................................... vii i. Foreword ............................................................................................................................................................. vii ii. Audience ............................................................................................................................................................ vii iii. LFS Target Architectures ................................................................................................................................ viii iv. LFS and Standards ............................................................................................................................................ ix v. Rationale for Packages in the Book .................................................................................................................... x vi. Prerequisites
    [Show full text]
  • Pipewire: a Low-Level Multimedia Subsystem
    Proceedings of the 18th Linux Audio Conference (LAC-20), SCRIME, Université de Bordeaux, France, November 25–27, 2020 PIPEWIRE: A LOW-LEVEL MULTIMEDIA SUBSYSTEM Wim Taymans ∗ Principal Software Engineer Red Hat, Spain [email protected] ABSTRACT 2. LINUX AUDIO LANDSCAPE PipeWire is a low-level multimedia library and daemon that facili- Audio support on Linux first appeared with the Open Sound System tates negotiation and low-latency transport of multimedia content be- (OSS) [6] and was until the 2.4 kernel the only audio API available tween applications, filters and devices. It is built using modern Linux on Linux. It was based around the standard Unix open/close/read- infrastructure and has both performance and security as its core de- /write/ioctl system calls. sign guidelines. The goal is to provide services such as JACK and OSS was replaced by the Advanced Linux Sound Architecture PulseAudio on top of this common infrastructure. PipeWire is media (ALSA) [7]from Linux 2.5. ALSA improved on the OSS API and agnostic and supports arbitrary compressed and uncompressed for- included a user space library that abstracted many of the hardware mats. A common audio infrastructure with backwards compatibility details. The ALSA user-space library also includes a plugin infras- that can support Pro Audio and Desktop Audio use cases can poten- tructure that can be used to create new custom devices and plugins. tially unify the currently fractured audio landscape on Linux desk- Unfortunately, the plugin system is quite static and requires editing tops and workstations and give users and developers a much better of configuration files.
    [Show full text]
  • Oracle® Secure Global Desktop Platform Support and Release Notes for Release 5.2
    Oracle® Secure Global Desktop Platform Support and Release Notes for Release 5.2 April 2015 E51729-03 Oracle Legal Notices Copyright © 2015, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S.
    [Show full text]
  • Audio on Linux: End of a Golden Age?
    Audio on Linux: End of a Golden Age? Lars-Peter Clausen – Analog Devices Agenda ● History – Major transitions in software and hardware architecture ● Present – A look at the current situation – Are we in a golden age? ● Future – What major transitions lie ahead of us – How are we going to react to them? Interdependent vs. Modular Interdependent ● No clear boundaries defined between sub- modules ● Different sub-modules are aware of each others internals – Creates dependencies ● Parts can't be upgraded or modified independently of each other Modular ● Partitioning in sub-modules ● Clearly defined functions and interfaces ● Parts can be changed independently of each other – Drop-in replacements ● Constraint by the interface History Humble Beginnings PC Speaker (Beeper) ● Found in all IBM compatible PCs – Present in the first IBM PC 5150 (1981) ● Has only two states – Toggling a specific frequency generates a tone (PWM) ● Magnetic or Piezoelectric plate ● In Linux supported by the input framework Extending Features Soundblaster ● First widespread consumer sound card – Soundblaster 1.0 release in 1989 ● Primarily synthesizer based ● Mono PCM channel ● Became defacto standard for consumer sound cards – Many applications expected a sound blaster interface – Other manufacturers included a Soundblaster compatibility mode in their hardware Audio on Linux Open Sound System (OSS) Open Sound System (OSS) ● Used to be default audio subsystem in v2.4 ● /dev/dsp interface – To playback audio use write() – To capture audio use read() – Some IOCTLs for
    [Show full text]
  • Sound-HOWTO.Pdf
    The Linux Sound HOWTO Jeff Tranter [email protected] v1.22, 16 July 2001 Revision History Revision 1.22 2001−07−16 Revised by: jjt Relicensed under the GFDL. Revision 1.21 2001−05−11 Revised by: jjt This document describes sound support for Linux. It lists the supported sound hardware, describes how to configure the kernel drivers, and answers frequently asked questions. The intent is to bring new users up to speed more quickly and reduce the amount of traffic in the Usenet news groups and mailing lists. The Linux Sound HOWTO Table of Contents 1. Introduction.....................................................................................................................................................1 1.1. Acknowledgments.............................................................................................................................1 1.2. New versions of this document.........................................................................................................1 1.3. Feedback...........................................................................................................................................2 1.4. Distribution Policy............................................................................................................................2 2. Sound Card Technology.................................................................................................................................3 3. Supported Hardware......................................................................................................................................4
    [Show full text]
  • IT Acronyms.Docx
    List of computing and IT abbreviations /.—Slashdot 1GL—First-Generation Programming Language 1NF—First Normal Form 10B2—10BASE-2 10B5—10BASE-5 10B-F—10BASE-F 10B-FB—10BASE-FB 10B-FL—10BASE-FL 10B-FP—10BASE-FP 10B-T—10BASE-T 100B-FX—100BASE-FX 100B-T—100BASE-T 100B-TX—100BASE-TX 100BVG—100BASE-VG 286—Intel 80286 processor 2B1Q—2 Binary 1 Quaternary 2GL—Second-Generation Programming Language 2NF—Second Normal Form 3GL—Third-Generation Programming Language 3NF—Third Normal Form 386—Intel 80386 processor 1 486—Intel 80486 processor 4B5BLF—4 Byte 5 Byte Local Fiber 4GL—Fourth-Generation Programming Language 4NF—Fourth Normal Form 5GL—Fifth-Generation Programming Language 5NF—Fifth Normal Form 6NF—Sixth Normal Form 8B10BLF—8 Byte 10 Byte Local Fiber A AAT—Average Access Time AA—Anti-Aliasing AAA—Authentication Authorization, Accounting AABB—Axis Aligned Bounding Box AAC—Advanced Audio Coding AAL—ATM Adaptation Layer AALC—ATM Adaptation Layer Connection AARP—AppleTalk Address Resolution Protocol ABCL—Actor-Based Concurrent Language ABI—Application Binary Interface ABM—Asynchronous Balanced Mode ABR—Area Border Router ABR—Auto Baud-Rate detection ABR—Available Bitrate 2 ABR—Average Bitrate AC—Acoustic Coupler AC—Alternating Current ACD—Automatic Call Distributor ACE—Advanced Computing Environment ACF NCP—Advanced Communications Function—Network Control Program ACID—Atomicity Consistency Isolation Durability ACK—ACKnowledgement ACK—Amsterdam Compiler Kit ACL—Access Control List ACL—Active Current
    [Show full text]
  • Building Embedded Linux Systems ,Roadmap.18084 Page Ii Wednesday, August 6, 2008 9:05 AM
    Building Embedded Linux Systems ,roadmap.18084 Page ii Wednesday, August 6, 2008 9:05 AM Other Linux resources from O’Reilly Related titles Designing Embedded Programming Embedded Hardware Systems Linux Device Drivers Running Linux Linux in a Nutshell Understanding the Linux Linux Network Adminis- Kernel trator’s Guide Linux Books linux.oreilly.com is a complete catalog of O’Reilly’s books on Resource Center Linux and Unix and related technologies, including sample chapters and code examples. ONLamp.com is the premier site for the open source web plat- form: Linux, Apache, MySQL, and either Perl, Python, or PHP. Conferences O’Reilly brings diverse innovators together to nurture the ideas that spark revolutionary industries. We specialize in document- ing the latest tools and systems, translating the innovator’s knowledge into useful skills for those in the trenches. Visit con- ferences.oreilly.com for our upcoming events. Safari Bookshelf (safari.oreilly.com) is the premier online refer- ence library for programmers and IT professionals. Conduct searches across more than 1,000 books. Subscribers can zero in on answers to time-critical questions in a matter of seconds. Read the books on your Bookshelf from cover to cover or sim- ply flip to the page you need. Try it today for free. main.title Page iii Monday, May 19, 2008 11:21 AM SECOND EDITION Building Embedded Linux SystemsTomcat ™ The Definitive Guide Karim Yaghmour, JonJason Masters, Brittain Gilad and Ben-Yossef, Ian F. Darwin and Philippe Gerum Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Building Embedded Linux Systems, Second Edition by Karim Yaghmour, Jon Masters, Gilad Ben-Yossef, and Philippe Gerum Copyright © 2008 Karim Yaghmour and Jon Masters.
    [Show full text]
  • Vmware Workstation Pro 16.0 Using Vmware Workstation Pro
    Using VMware Workstation Pro VMware Workstation Pro 16.0 Using VMware Workstation Pro You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com © Copyright 2020 VMware, Inc. All rights reserved. Copyright and trademark information. VMware, Inc. 2 Contents Using VMware Workstation Pro 14 1 Introduction and System Requirements 15 Host System Requirements for Workstation Pro 15 Processor Requirements for Host Systems 15 Supported Host Operating Systems 16 Memory Requirements for Host Systems 16 Display Requirements for Host Systems 16 Disk Drive Requirements for Host Systems 17 Local Area Networking Requirements for Host Systems 18 ALSA Requirements 18 Virtual Machine Features and Specifications 18 Supported Guest Operating Systems 18 Virtual Machine Processor Support 18 Virtual Machine Chipset and BIOS Support 19 Virtual Machine Memory Allocation 19 Virtual Machine Graphics and Keyboard Support 19 Virtual Machine IDE Drive Support 19 Virtual Machine SCSI Device Support 20 Virtual Machine Floppy Drive Support 20 Virtual Machine Serial and Parallel Port Support 20 Virtual Machine USB Port Support 20 Virtual Machine Mouse and Drawing Tablet Support 21 Virtual Machine Ethernet Card Support 21 Virtual Machine Networking Support 21 Virtual Machine Sound Support 21 2 Installing and Using Workstation Pro 23 Obtaining the Workstation Pro Software and License Key 23 Trial Version Expiration Date Warnings 24 Installing Workstation Pro with Other VMware Products 24 Reinstalling Workstation Pro When Upgrading a Windows Host Operating System 24 Installing the Integrated Virtual Debuggers for Eclipse 25 Installing Workstation Pro 25 Install Workstation Pro on a Windows Host 26 Run an Unattended Workstation Pro Installation on a Windows Host 26 Install Workstation Pro on a Linux Host 28 Upgrading Workstation Pro 31 VMware, Inc.
    [Show full text]
  • Installing a Real-Time Linux Kernel for Dummies
    Real-Time Linux for Dummies Jeroen de Best, Roel Merry DCT 2008.103 Eindhoven University of Technology Department of Mechanical Engineering Control Systems Technology group P.O. Box 513, WH -1.126 5600 MB Eindhoven, the Netherlands Phone: +31 40 247 42 27 Fax: +31 40 246 14 18 Email: [email protected], [email protected] Website: http://www.dct.tue.nl Eindhoven, January 5, 2009 Contents 1 Introduction 1 2 Installing a Linux distribution 3 2.1 Ubuntu 7.10 . .3 2.2 Mandriva 2008 ONE . .6 2.3 Knoppix 3.9 . 10 3 Installing a real-time kernel 17 3.1 Automatic (Ubuntu only) . 17 3.1.1 CPU Scaling Settings . 17 3.2 Manually . 18 3.2.1 Startup/shutdown problems . 25 4 EtherCAT for Unix 31 4.1 Build Sources . 38 4.1.1 Alternative timer in the EtherCAT Target . 40 5 TUeDACs 43 5.1 Download software . 43 5.2 Configure and build software . 44 5.3 Test program . 45 6 Miscellaneous 47 6.1 Installing ps2 and ps4 printers . 47 6.1.1 In Ubuntu 7.10 . 47 6.1.2 In Mandriva 2008 ONE . 47 6.2 Configure the internet connection . 48 6.3 Installing Matlab2007b for Unix . 49 6.4 Installing JAVA . 50 6.5 Installing SmartSVN . 50 6.6 Ubuntu 7.10, Gutsy Gibbon freezes every 10 minutes for approximately 10 sec 51 6.7 Installing Syntek Semicon DC1125 Driver . 52 Bibliography 55 A Menu.lst HP desktop computer DCT lab WH -1.13 57 i ii CONTENTS Chapter 1 Introduction This document describes the steps needed in order to obtain a real-time operating system based on a Linux distribution.
    [Show full text]
  • Cómo Compilar El Kernel Linux
    Cómo compilar el kernel Linux Guillermo Valdes´ Lozano Como´ compilar el kernel Linux– p. 1/43 Documento protegido por GFDL Copyright (c) 2008 Guillermo Valdés Lozano. e-mail: guillermo(en)movimientolibre.com http://www.movimientolibre.com/ Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU, Versión 1.2 o cualquier otra versión posterior publicada por la Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de Cubierta Trasera. Una copia de la licencia está en http://www.movimientolibre.com/licencias/gfdl.html Como´ compilar el kernel Linux– p. 2/43 Introducción • Linux es el núcleo o kernel del sistema operativo libre denominado GNU/Linux (también llamado Linux). • Linux fue creado por Linus Torvalds en 1991. • Linux está protegido por la licencia GPL y está escrito en C. Como´ compilar el kernel Linux– p. 3/43 ¿Qué es el kernel? • Cada computadora, lector de discos, disco duro, tarjeta de video, etc. es diferente. • El kernel es el programa que sabe que hacer para que esos componentes ejecuten su tarea como abrir un documento, borrarlo de un disco o mostrar una imagen en pantalla. • El kernel debe saber cómo hablar a esos diferentes componentes materiales y controlar las labores corrientes que hacemos a diario con nuestras computadoras. Como´ compilar el kernel Linux– p. 4/43 Algunas versiones de Linux Fecha Version´ L´ıneas codigo´ septiembre de 1991 0.01 10,239 14 de marzo de 1994 1.0.0 176,250 marzo de 1995 1.2.0 310,950 25 de enero de 1999 2.2.0 1,800,847 4 de enero de 2001 2.4.0 3,377,902 17 de diciembre de 2003 2.6.0 5,929,913 Como´ compilar el kernel Linux– p.
    [Show full text]
  • Release 0.23~Git Max Kellermann
    Music Player Daemon Release 0.23~git Max Kellermann Sep 24, 2021 CONTENTS: 1 User’s Manual 1 1.1 Introduction...............................................1 1.2 Installation................................................1 1.3 Configuration...............................................4 1.4 Advanced configuration......................................... 12 1.5 Using MPD................................................ 14 1.6 Advanced usage............................................. 16 1.7 Client Hacks............................................... 18 1.8 Troubleshooting............................................. 18 2 Plugin reference 23 2.1 Database plugins............................................. 23 2.2 Storage plugins.............................................. 24 2.3 Neighbor plugins............................................. 25 2.4 Input plugins............................................... 25 2.5 Decoder plugins............................................. 27 2.6 Encoder plugins............................................. 32 2.7 Resampler plugins............................................ 33 2.8 Output plugins.............................................. 35 2.9 Filter plugins............................................... 42 2.10 Playlist plugins.............................................. 43 2.11 Archive plugins.............................................. 44 3 Developer’s Manual 45 3.1 Introduction............................................... 45 3.2 Code Style...............................................
    [Show full text]