Loadable Kernel Modules
|
|
- Tobias McCarthy
- 5 years ago
- Views:
Transcription
1 Loadable Kernel Modules Kevin Dankwardt, Ph.D.
2 Topics 1. Why loadable kernel modules? 2. Using Modules 3. Writing modules 4. Compiling & Installing Modules 5. Example : Simple Module 6. Command line parameters 7. Modules are not binary compatible with different kernels 8. vermagic 9. tainting 10. modinfo 11. Export symbols 12. Stacking Modules 13. kernel/module.c 14. kernel/kmod.c 15. scripts/makefile.modpost 16. Statically linked modules 17. References etc
3 Why Loadable Kernel Modules Makes booting kernel smaller and faster Need to include just functionality, like drivers, that one needs. Faster and easier to update functionality No need to reboot to add or remove functionality Note that removing is dangerous and maybe you shouldn't do it.
4 Using modules insmod modprobe lsmod depmod modinfo rmmod weak-modules make modules available for more than one kernel version (yikes)
5 Writing modules Modules require many header files, e.g., #include <linux/module.h> #include <linux/sched.h> These header files will come from the kernel source directory. Use module_init() and module_exit() macros. Use MODULE_LICENSE() macro.
6 Compiling & Installing Modules make modules # in kernel source directory make make modules_install Or, for your own directory: make -C /lib/modules/$(uname -r)/build M=$PWD modules make modules_install INSTALL_MOD_PATH=~kevin/myrootfs Makefile: obj-m := := mod.o
7 # cat simplemodule.c #include <linux/init.h> #include <linux/module.h> #include <linux/sched.h> int init_simple(void) { printk("in init module simple\n"); return 0; } void cleanup_simple (void) { printk ("in cleanup module simple\n"); } module_init(init_simple); module_exit(cleanup_simple); MODULE_LICENSE("GPL"); # echo obj-m := simplemodule.o > Makefile Example : Simple Module # make -C /lib/modules/$(uname -r)/build M=$PWD modules # insmod./simplemodule.ko # rmmod simplemodule # dmesg tail
8 Command line parameters insmod module.ko parm=value module_param(name, type, permissions) module_param_array(name, type, number, perm) MODULE_PARM_DESC() Module parameters are listed in /sys/module under the module name if perm is non-zero.
9 Modules are not binary compatible with different kernels struct S { int f1; int f1b; int f2; } thes; module.c... thes.f2 = 5; Will module.o be portable if f1b is added or removed?
10 vermagic include/linux/vermagic.h Checks for SMP, PREEMPT, MODULE_UNLOAD, MODVERSIONS Includes UTS_RELEASE and strings based on the above. Although what is in vermagic is kernel version dependent. Different than just the kernel version (UTS_RELEASE). (UTS comes from Unix Timesharing System, and is related to uname(2).) Use modinfo <modulename> to see an example vermagic string vermagic is put into vmlinux (in its Read only Data section), (see include/asmgeneric/vmlinux.lds.h, for example) vermagic is put into each module via:q scripts/mod/modpost.c Kernel compares vermagic when loading the module: sys_init_module () load_module() if (!same_magic(modmagic, vermagic, versindex)) { printk(kern_err "%s: version magic '%s' should be '%s'\n", mod->name, modmagic, vermagic); err = -ENOEXEC; goto free_hdr;
11 Tainting Tainting is used to indicate that a non GPL (open source) module was loaded. If ndiswrapper is used, the kernel is tainted. If driverloader was used, the kernel is tainted Forcing loading or unloading of modules Module is proprietary - i.e., not GPL
12 modinfo modinfo <module name> author, description, license, parm, depends, and alias modprobe uses the depends info in files created by depmod
13 Export Symbols To register entries in the symbol table: Add driver code to kernel source Use EXPORT_SYMBOL(symbol) to export symbol EXPORT_SYMBOL_GPL(symbol) to restrict symbol use to only GPL d modules.
14 Stacking Modules Modules link to symbols and can provide symbols that other modules require. A module that uses symbols from another module, depends on that module. These modules form a stack. modpost puts depends info in the modinfo section
15 kernel/module.c LOC Does tainting Handle module reference counting Resolve symbols
16 kernel/kmod.c request_module() macro request_module() calls this about 175 calls to request_module() in the kernel Allows for the kernel to quest a module to be loaded invokes a user space helper e.g. modprobe to load the module
17 scripts/makefile.modpost # Stage one of module building created the following: # a) The individual.o files used for the module # b) A <module>.o file which is the.o files above linked together # c) A <module>.mod file in $(MODVERDIR)/, listing the name of the # the preliminary <module>.o file, plus all.o files # Stage 2 is handled by this file and does the following # 1) Find all modules from the files listed in $(MODVERDIR)/ # 2) modpost is then used to # 3) create one <module>.mod.c file pr. module # 4) create one Module.symvers file with CRC for all exported symbols # 5) compile all <module>.mod.c files # 6) final link of the module to a <module.ko> (or <module.unsigned>) file # 7) signs the modules to a <module.ko> file # Step 3 is used to place certain information in the module's ELF # section, including information such as: # Version magic (see include/vermagic.h for full details) # - Kernel release # - SMP is CONFIG_SMP # - PREEMPT is CONFIG_PREEMPT # - GCC Version # Module info # - Module version (MODULE_VERSION) # - Module alias'es (MODULE_ALIAS) # - Module license (MODULE_LICENSE) # - See include/linux/module.h for more details
18 Statically Linked Drivers Add driver code to kernel source Mark initialization function with module_init() Modify the file Makefile in the same directory as your driver code by adding: obj-y += your_code.o
19 References etc scripts/makefile.modpost kernel source code Contact Contact Kevin Kevin Dankwardt Dankwardt for for info info on on consulting consulting and and training. training. Kernel Kernel internals internals Device Device driver driver development Application development Debugging Debugging Performance Virtualization Embedded Embedded Linux Linux System System admin admin
Linux Kernel Module Programming. Tushar B. Kute,
Linux Kernel Module Programming Tushar B. Kute, http://tusharkute.com Kernel Modules Kernel modules are piece of code, that can be loaded and unloaded from kernel on demand. Kernel modules offers an easy
More informationCPSC Tutorial 17
CPSC 457 - Tutorial 17 Loadable Kernel Modules Department of Computer Science University of Calgary March 27, 2012 1 / 10 Reminder Homework 4 is due to March 31, 2012 at 11:59pm (Saturday) Thursday, March
More informationAbstraction via the OS. Device Drivers. Software Layers. Device Drivers. Types of Devices. Mechanism vs. Policy. Jonathan Misurda
Abstraction via the OS Device Drivers Jonathan Misurda jmisurda@cs.pitt.edu Software Layers level I/O software & libraries Device independent OS software Device drivers Interrupt handlers Hardware Operating
More informationLinux Kernel Modules & Device Drivers April 9, 2012
Linux Kernel Modules & Device Drivers April 9, 2012 Pacific University 1 Resources Linux Device Drivers,3rd Edition, Corbet, Rubini, Kroah- Hartman; O'Reilly kernel 2.6.10 we will use 3.1.9 The current
More informationSoftware Layers. Device Drivers 4/15/2013. User
Software Layers Device Drivers User-level I/O software & libraries Device-independent OS software Device drivers Interrupt handlers Hardware User Operating system (kernel) Abstraction via the OS Device
More informationItron Riva Kernel Module Building
Itron Riva Kernel Module Building Table of Contents Introduction... 2 Creating the Project Directory... 2 Creating the Makefile... 3 Creating main.c... 5 Building The Kernel Module... 6 1 Introduction
More information/dev/hello_world: A Simple Introduction to Device Drivers under Linux
Published on Linux DevCenter (http://www.linuxdevcenter.com/) See this if you're having trouble printing code examples /dev/hello_world: A Simple Introduction to Device Drivers under Linux by Valerie Henson
More informationECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University
ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Peng Li TA: Andrew Targhetta (Lab exercise created by A Targhetta and P Gratz) Laboratory
More informationKernel Modules. Kartik Gopalan
Kernel Modules Kartik Gopalan Kernel Modules Allow code to be added to the kernel, dynamically Only those modules that are needed are loaded. Unload when no longer required - frees up memory and other
More informationModules. Mail: Web: University of Nice - Sophia Antipolis
Modules Mail: Stephane.Lavirotte@unice.fr Web: http://stephane.lavirotte.com/ University of Nice - Sophia Antipolis Introduction For a good start 2 Where does the Modules come from? Principle based on
More informationAdvanced Operating Systems #13
http://www.pf.is.s.u-tokyo.ac.jp/class.html Advanced Operating Systems #13 Shinpei Kato Associate Professor Department of Computer Science Graduate School of Information Science and Technology
More informationLinux drivers - Exercise
Embedded Realtime Software Linux drivers - Exercise Scope Keywords Prerequisites Contact Learn how to implement a device driver for the Linux OS. Linux, driver Linux basic knowledges Roberto Bucher, roberto.bucher@supsi.ch
More informationLinux Device Driver. Amir Hossein Payberah. (Kmod & Advanced Modularization)
Linux Device Driver (Kmod & Advanced Modularization) Amir Hossein Payberah payberah@yahoo.com Contents Loading Module on Demand Intermodule Communication 2 Loading Module on Demand To make it easier for
More informationUniversity of Texas at Arlington. CSE Spring 2018 Operating Systems Project 4a - The /Proc File Systems and mmap. Instructor: Jia Rao
University of Texas at Arlington CSE 3320 - Spring 2018 Operating Systems Project 4a - The /Proc File Systems and mmap Instructor: Jia Rao Introduction Points Possible: 100 Handed out: Apr. 20, 2018 Due
More informationMake Your Own Linux Module CS 444/544
Make Your Own Linux Module CS 444/544 Lab Preparation: Running VM! Download the image using - wget http://cslabs.clarkson.edu/oslab/syscall_lab.vdi! Applications -> Accessories-> VirtualBox! In Virtual
More informationWorking with Kernel Modules Lab Wind River Systems, Inc
Working with Kernel Modules Lab 2013 Wind River Systems, Inc Working with Kernel Modules Lab Objective In this lab, you will learn how to manage kernel modules in your projects, as well as how to develop
More informationKernel. Kernel = computer program that connects the user applications to the system hardware Handles:
Kernel programming Kernel Kernel = computer program that connects the user applications to the system hardware Handles: Memory management CPU scheduling (Process and task management) Disk management User
More information7.3 Simplest module for embedded Linux drivers
401 7.3 Simplest module for embedded Linux drivers Section 7.1 introduce a simple Linux program Hello World, which is run in user mode applications, we now introduce a run in kernel mode Hello World program,
More informationIntroduction p. 1 Why Linux? p. 2 Embedded Linux Today p. 3 Open Source and the GPL p. 3 Free Versus Freedom p. 4 Standards and Relevant Bodies p.
Foreword p. xix Preface p. xxi Acknowledgments p. xxvii About the Author p. xxix Introduction p. 1 Why Linux? p. 2 Embedded Linux Today p. 3 Open Source and the GPL p. 3 Free Versus Freedom p. 4 Standards
More informationOperating Systems II BS degree in Computer Engineering Sapienza University of Rome Lecturer: Francesco Quaglia. Topics: 1.
Operating Systems II BS degree in Computer Engineering Sapienza University of Rome Lecturer: Francesco Quaglia Topics: 1. LINUX modules Modules basics A LINUX module is a software component which can be
More informationDeveloping Real-Time Applications
Developing Real-Time Applications Real Time Operating Systems and Middleware Luca Abeni luca.abeni@unitn.it Characterised by temporal constraints deadlines Concurrent (application: set of real-time tasks)
More informationVirtual File System (VFS) Implementation in Linux. Tushar B. Kute,
Virtual File System (VFS) Implementation in Linux Tushar B. Kute, http://tusharkute.com Virtual File System The Linux kernel implements the concept of Virtual File System (VFS, originally Virtual Filesystem
More informationCS 423 Operating System Design: Introduction to Linux Kernel Programming (MP1 Q&A)
CS 423 Operating System Design: Introduction to Linux Kernel Programming (MP1 Q&A) Professor Adam Bates Fall 2018 Learning Objectives: Talk about the relevant skills required in MP1 Announcements: MP1
More informationKernel Module Programming
Kernel Module Programming Alessandro Barenghi Dipartimento di Elettronica e Informazione Politecnico di Milano barenghi - at - elet.polimi.it June 7, 2012 Recap By now, you should be familiar with... Programming
More informationInstall Cisco UCS VIC Drivers for Linux
Installing Linux Drivers to the Local Drive Using a Driver Disk, page 1 Installing Linux to SAN Storage Using the fnic Driver and OS Driver Disk, page 2 Installing Linux Drivers using RPM, page 3 Installing
More informationDownloading and Installing Cisco UCS VIC Drivers
Downloading and Installing Cisco UCS VIC Drivers This chapter contains the following sections: Downloading Cisco UCS VIC Drivers, page 1 Installing Cisco UCS VIC Drivers, page 2 Downloading Cisco UCS VIC
More informationRTAI 3.8 ON Ubuntu(9.10)-Linux-kernel :
RTAI 3.8 ON Ubuntu(9.10)-Linux-kernel : 2.6.31.8 1: Installing Rtai 3.8 Manuel Arturo Deza The following Tech Report / Guide is a compendium of instructions necessary for installing RTAI 3.8 on Ubuntu
More informationDistribution Kernel Security Hardening with ftrace
Distribution Kernel Security Hardening with ftrace Because sometimes your OS vendor just doesn't have the security features that you want. Written by: Corey Henderson Exploit Attack Surface Hardening system
More informationInstructions for setting up to compile and run OSGPS code under Linux
Instructions for setting up to compile and run OSGPS code under Linux A. The latest and greatest OSGPS software is available on SorceForge. If you are not already monitoring this, you need to be. To set
More informationLinux modules 1. Support system calls and services 2. Programming facilities 3. Kernel probing
Advanced Operating Systems MS degree in Computer Engineering University of Rome Tor Vergata Lecturer: Francesco Quaglia Linux modules 1. Support system calls and services 2. Programming facilities 3. Kernel
More informationThe Linux Kernel Module Programming Guide
Peter Jay Salzman Michael Burian Ori Pomerantz Copyright 2001 Peter Jay Salzman 2007 05 18 ver 2.6.4 The Linux Kernel Module Programming Guide is a free book; you may reproduce and/or modify it under the
More informationScrivere device driver su Linux. Better Embedded 2012 Andrea Righi
Scrivere device driver su Linux Agenda Overview Kernel-space vs user-space programming Hello, world! kernel module Writing a character device driver Example(s) Q/A Overview What's a kernel? The kernel
More informationLinux Kernel Development (LKD)
Linux Kernel Development (LKD) Session 1 Loadable Kernel Modules (LKM): Laboratory Paulo Baltarejo Sousa pbs@isep.ipp.pt 2017 1 Introduction In the Linux Kernel Development (LKD) module, we will use a
More informationPMON Module An Example of Writing Kernel Module Code for Debian 2.6 on Genesi Pegasos II
Freescale Semiconductor Application Note AN2744 Rev. 1, 12/2004 PMON Module An Example of Writing Kernel Module Code for Debian 2.6 on Genesi Pegasos II by Maurie Ommerman CPD Applications Freescale Semiconductor,
More informationUniversity of Colorado at Colorado Springs CS4500/ Fall 2018 Operating Systems Project 1 - System Calls and Processes
University of Colorado at Colorado Springs CS4500/5500 - Fall 2018 Operating Systems Project 1 - System Calls and Processes Instructor: Yanyan Zhuang Total Points: 100 Out: 8/29/2018 Due: 11:59 pm, Friday,
More informationLinux Device Driver. Analog/Digital Signal Interfacing
Linux Device Driver Analog/Digital Signal Interfacing User Program & Kernel Interface Loadable Kernel Module(LKM) A new kernel module can be added on the fly (while OS is still running) LKMs are often
More informationLoadable Kernel Module
Instituto Superior de Engenharia do Porto Mestrado em Engenharia Eletrotécnica e de Computadores Arquitetura de Computadores Loadable Kernel Module The objective of this lesson is to analyze, compile and
More informationDigSig novelties. Libre Software Meeting 2005 Security Topic July 2005
DigSig novelties Libre Software Meeting 2005 Security Topic July 2005 DigSig Team: Axelle Apvrille, David Gordon, Serge Hallyn, Makan Pourzandi, Vincent Roy Outline Introduction: why and what for? How:
More informationStep Motor. Step Motor Device Driver. Step Motor. Step Motor (2) Step Motor. Step Motor. source. open loop,
Step Motor Device Driver Step Motor Step Motor Step Motor source Embedded System Lab. II Embedded System Lab. II 2 Step Motor (2) open loop, : : Pulse, Pulse,, -, +5%, step,, Step Motor Step Motor ( ),
More informationDevice Drivers. CS449 Fall 2017
Device Drivers CS449 Fall 2017 Software Layers User-level I/O so7ware & libraries Device-independent OS so7ware Device drivers Interrupt handlers User OperaEng system (kernel) Hardware Device Drivers User
More informationREVISION HISTORY NUMBER DATE DESCRIPTION NAME
i ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME iii Contents 1 The structure of a Linux kernel module 1 1.1 Install XV6...................................................... 1 1.2 Compile and load a
More informationFinish up OS topics Group plans
Finish up OS topics Group plans Today Finish up and review Linux device driver stuff Walk example again See how it all goes together Discuss talking to MMIO RTOS (on board) Deferred interrupts Discussion
More informationOperating System. Hanyang University. Hyunmin Yoon Operating System Hanyang University
Hyunmin Yoon (fulcanelli86@gmail.com) 2 Linux development ENVIRONMENT 2 3 References ubuntu documentation Kernel/Compile https://help.ubuntu.com/community/kernel/compile 3 4 Tools $ software-properties-gtk
More informationThe kernel constitutes the core part of the Linux operating system. Kernel duties:
The Linux Kernel The kernel constitutes the core part of the Linux operating system. Kernel duties: System initialization: detects hardware resources and boots up the system. Process scheduling: determines
More informationQLogic QLA4010/QLA4010C/QLA4050/QLA4050C/ QLA4052C/QMC4052/QLE4060C/QLE4062C iscsi Driver for Linux Kernel 2.6.x.
QLogic QLA4010/QLA4010C/QLA4050/QLA4050C/ QLA4052C/QMC4052/QLE4060C/QLE4062C iscsi Driver for Linux Kernel 2.6.x This software license applies only to QLogic customers. QLogic Corporation. All rights reserved.
More information2 Setting up the RDMA Framework for Development
Spring Term 2015 ADVANCED COMPUTER NETWORKS Project P1: Introduction to RDMA Programming Assigned on: 16 April 2015 Due by: 29 April 2015, 23:59 1 Introduction The goal of this project is to give an introduction
More informationUnix (Linux) Device Drivers
Unix (Linux) Device Drivers Kernel module that handles the interaction with an specific hardware device, hiding its operational details behind a common interface Three basic categories Character Block
More informationLKM Preresolver A Lightweight Prelinker for Linux Kernel Modules
LKM Preresolver A Lightweight Prelinker for Linux Kernel Modules Embedded Linux Conference Europe 2010 Carmelo Amoroso Software Design Manager carmelo.amoroso@st.com STMicroelectronics www.stlinux.com
More informationSuSE Labs / Novell.
Write a real Linux driver Greg Kroah-Hartman SuSE Labs / Novell http://www.kroah.com/usb.tar.gz gregkh@suse.de greg@kroah.com Agenda Intro to kernel modules sysfs basics USB basics Driver to device binding
More informationInstallation under Linux
Installation under Linux Version 5.5.1 Installation Guide Imprint Silicon Software GmbH Steubenstraße 46 68163 Mannheim, Germany Tel.: +49 (0) 621 789507 0 Fax: +49 (0) 621 789507 10 2018 Silicon Software
More informationLinux Device Drivers
Linux Device Drivers Modules A piece of code that can be added to the kernel at runtime is called a module A device driver is one kind of module Each module is made up of object code that can be dynamically
More informationLinux Loadable Kernel Modules (LKM)
Device Driver Linux Loadable Kernel Modules (LKM) A way dynamically ADD code to the Linux kernel LKM is usually used for dynamically add device drivers filesystem drivers system calls network drivers executable
More information2 Setting up the RDMA Framework for Development
Spring Term 2014 ADVANCED COMPUTER NETWORKS Project P1: Introduction to RDMA Programming Assigned on: 17 April 2014 Due by: 8 May 2014, 23:59 1 Introduction The goal of this project is to give an introduction
More informationThe device driver (DD) implements these user functions, which translate system calls into device-specific operations that act on real hardware
Introduction (Linux Device Drivers, 3rd Edition (www.makelinux.net/ldd3)) Device Drivers -> DD They are a well defined programming interface between the applications and the actual hardware They hide completely
More informationCisco UCS Virtual Interface Card Drivers for Linux Installation Guide
First Published: September 06, 2011 Last Modified: April 07, 2015 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800
More informationOracle Linux 7: System Administration Ed 2 Duration: 5 Days
Oracle Linux 7: System Administration Ed 2 Duration: 5 Days The Oracle Linux 7: System Administration course covers a range of skills including installation, using the Unbreakable Enterprise Kernel, configuring
More informationInstallation Guide for Linux
Installation Guide for Linux Contents Ubuntu 16.04 LTS... 3 1. Development Environment... 3 2. Compile the Driver... 3 2.1. Compilation tool and kernel sources... 3 2.2. Compile the Driver... 3 3. Load
More informationOCTVQE Zaptel Echo Canceller (PRELIMINARY)
OCTVQE - Zaptel Echo Canceller User s Guide (Preliminary) OCTVQE Zaptel Echo Canceller (PRELIMINARY) User s Guide Revision 1.9 OctWare Inc. www.octware.net 4101, Molson St., Suite 300 Montreal Quebec H1Y
More informationATTO UL4D & UL5D Troubleshooting Guide
ATTO UL4D & UL5D Troubleshooting Guide This document describes troubleshooting techniques that can be used to identify and resolve issues associated with the ATTO Ultra320 dual channel SCSI host adapter.
More informationLinux Driver support for Brainboxes US/VX products
Print Date: 30.03.2011 Linux Driver support for Brainboxes US/VX products Brainboxes Limited, 18 Hurricane Drive, Liverpool International Business Park, Speke, Liverpool, L24 8RL, UK Tel: +44 (0)151 220
More informationAssignment II Linux Dictionary Device. Beycan KAHRAMAN Turgut UYAR
System Programming Assignment II Linux Dictionary Device Beycan KAHRAMAN 040020337 29.12.2006 Turgut UYAR 1. INTRODUCTION We are writing a linux dictionary device, that could store words in Turkish or
More information7.4 Simple example of Linux drivers
407 7.4 Simple example of Linux drivers In the previous section, we introduce a simple Hello module driver, it is just some information from the serial port output, the board did not correspond to the
More informationCIS c. University of Pennsylvania Zachary Goldberg. Notes
Notes Root Privileges sudo su Changing system configuration needs root Installing things, like Perl Modules! Intentionally things are owned by root so you don t accidentally break anything! 10/03/09 Slide
More informationLoadable Kernel Modules Juan-Mariano de Goyeneche and Elena Apolinario Fernández de Sousa, Technical University of Madrid
Practice Tutorial The Linux kernel uses dynamically loadable modules to simplify and shorten development time, to make configuration easier, and to save kernel memory This gives a level of flexibility
More informationLinux Kernel Compilation
Linux Kernel Compilation from source to running Muli Ben-Yehuda mulix@mulix.org IBM Haifa Research Labs Linux Kernel Development, TAU Linux Workshop, July 2003 p.1/9 introduction In this talk, I will talk
More informationLINUX KERNEL AND DEVICE DRIVER PROGRAMMING A SIMPLER APPROACH TO LINUX KERNEL
LINUX KERNEL AND DEVICE DRIVER PROGRAMMING A SIMPLER APPROACH TO LINUX KERNEL LINUX KERNEL AND DEVICE DRIVER PROGRAMMING A SIMPLER APPROACH TO LINUX KERNEL By Mohan Lal Jangir Development Manager Samsung
More informationOracle Linux System AdministrationNEW
Oracle University Contact Us: 1.800.529.0165 Oracle Linux System AdministrationNEW Duration: 5 Days What you will learn The Oracle Linux System Administration course covers a range of skills including
More informationOracle Linux 5 & 6 System Administration TOD
Oracle University Contact Us: Local: 0845 777 7 711 Intl: +44 845 777 7 711 Oracle Linux 5 & 6 System Administration TOD Duration: 5 Days What you will learn The Oracle Linux System Administration course
More informationOracle Linux 7: System Administration Ed 2 NE
Oracle Uni Contact Us: 08 Oracle Linux 7: System Administration Ed 2 NE Durat5 Da What you will learn The Oracle Linux 7: System Administration course cover Unbreakable Enterprise Kernel, configuring Linux
More informationASE++ : Linux Kernel Programming
ASE++ : Linux Kernel Programming Giuseppe Lipari (giuseppe.lipari@univ-lille.fr) April 8, 2018 Contents 1 Introduction 1 2 Setting up the environment 2 3 Writing a kernel module 5 4 Other useful information
More informationCHAPTER 7 IMPLEMENTATION OF DYNAMIC VOLTAGE SCALING IN LINUX SCHEDULER
73 CHAPTER 7 IMPLEMENTATION OF DYNAMIC VOLTAGE SCALING IN LINUX SCHEDULER 7.1 INTRODUCTION The proposed DVS algorithm is implemented on DELL INSPIRON 6000 model laptop, which has Intel Pentium Mobile Processor
More informationOracle Linux 5 & 6 System Administration
Oracle University Contact Us: 1.800.529.0165 Oracle Linux 5 & 6 System Administration Duration: 5 Days What you will learn This Oracle Linux System Administration training helps you develop a range of
More informationLinux Kernel Development (LKD)
Linux Kernel Development (LKD) Session 1 Loadable Kernel Modules (LKM) Paulo Baltarejo Sousa pbs@isep.ipp.pt 2017 PBS LKD: S1 1 / 66 Disclaimer Material and Slides Some of the material/slides are adapted
More informationPCICC32 Linux Driver Quick Installation and Usage Guide
PCICC32 Linux Driver Quick Installation and Usage Guide ARW Elektronik, Germany and Klaus Hitschler (klaus.hitschler@gmx.de) document history 1st version of this document 16.04.2002 PCICC32 Linux Driver
More informationEmbedded Linux Primer, Second Edition
Toronto Montreal Boston Paris Embedded Linux Primer, Second Edition A Practical, Real-World Approach Christopher Hallinan PRENTICE HALL Prentice Hall Professional Technical Reference Upper Saddle River,
More informationPCIe Hot-Swap Device Driver
PCIe Hot-Swap Device Driver Application Note AN-546 Introduction By Craig Hackney In typical PCIe based systems, PCIe buses are enumerated and resources allocated to each PCIe endpoint device during system
More informationOracle - Oracle Linux 5 6 System Administration Ed 3
Oracle - Oracle Linux 5 6 System Administration Ed 3 Code: Lengt h: URL: D74508GC30 5 days View Online The Oracle Linux 5 & 6 System Administration course covers a range of skills including installation,
More informationOracle Linux 7: System Administration Ed 1
Oracle University Contact Us: +603 2299 3600, 1 800 80 6277 Oracle Linux 7: System Administration Ed 1 Duration: 5 Days What you will learn The Oracle Linux 7: System Administration training helps you
More informationChapter 12 IoT Projects Case Studies. Lesson-01: Introduction
Chapter 12 IoT Projects Case Studies Lesson-01: Introduction 1 1. Real Time Linux 2 Linux 2.6.x Linux known so after Linus Torvalds father of the Linux operating system Linux 2.6.x provides functions for
More informationOracle Linux 7: System Administration Ed 1
Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 67863102 Oracle Linux 7: System Administration Ed 1 Duration: 5 Days What you will learn The Oracle Linux 7: System Administration training
More informationEclipse-Based CodeWarrior Debugger
July 14-16, 2009 Eclipse-Based CodeWarrior Debugger QorIQ Multicore Linux Kernel Debug Bogdan Irimia CodeWarrior Software Engineer Tool used to develop software running on Freescale Power Architecture
More informationTopic 6: A Quick Intro To C. Reading. "goto Considered Harmful" History
Topic 6: A Quick Intro To C Reading Assumption: All of you know basic Java. Much of C syntax is the same. Also: Some of you have used C or C++. Goal for this topic: you can write & run a simple C program
More informationOracle Linux 7: System Administration Ed 1 LVC
Oracle University Contact Us: +27 (0)11 319-4111 Oracle Linux 7: System Administration Ed 1 LVC Duration: 5 Days What you will learn The Oracle Linux 7: System Administration training helps you develop
More informationFirst order of Business
First order of Business First order of Business You probably feel like this MBE TA s Hardware Enforced Model 0: Privileged, Kernelspace 3: Restricted, Userspace Hardware Enforced Model 0: Privileged,
More informationCS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco
CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level
More informationCS 0449 Project 4: /dev/rps Due: Friday, December 8, 2017, at 11:59pm
CS 0449 Project 4: /dev/rps Due: Friday, December 8, 2017, at 11:59pm Project Description Standard UNIX and Linux systems come with a few special files like /dev/zero, which returns nothing but zeros when
More informationHelping Developers Help You. Tom Caputi
Helping Developers Help You Tom Caputi tcaputi@datto.com The ZFS Code Base 2 The ZFS on Linux* Code Base: Statistics Source code 641 files 383950 lines of code ZFS Test suite (not including ztest) 1327
More informationDS-5 ARM. Getting Started with DS-5. Version 5.6. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0478F (ID071411)
ARM DS-5 Version 5.6 Getting Started with DS-5 Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0478F () ARM DS-5 Getting Started with DS-5 Copyright 2010, 2011 ARM. All rights reserved. Release
More informationOverview. This Lecture. Interrupts and exceptions Source: ULK ch 4, ELDD ch1, ch2 & ch4. COSC440 Lecture 3: Interrupts 1
This Lecture Overview Interrupts and exceptions Source: ULK ch 4, ELDD ch1, ch2 & ch4 COSC440 Lecture 3: Interrupts 1 Three reasons for interrupts System calls Program/hardware faults External device interrupts
More informationModules in 2.6: Breaking The Kernel, and What I Learned
Modules in 2.6: Breaking The Kernel, and What I Learned Rusty Russell IBM Linux Technology Center, OzLabs Canberra, Australia rusty@rustcorp.com.au rusty@au.ibm.com Contents Time Better Spent Who is Rusty
More informationMakefiles SE 2XA3. Term I, 2018/19
Makefiles SE 2XA3 Term I, 2018/19 Outline Example Calling make Syntax How it works Macros Suffix rules Command line options Example Assume we have files main.c, test.c, and lo.asm Consider the makefile
More informationLecture 4: Extensibility (and finishing virtual machines) CSC 469H1F Fall 2006 Angela Demke Brown
Lecture 4: Extensibility (and finishing virtual machines) CSC 469H1F Fall 2006 Angela Demke Brown Announcements First assignment out tomorrow Today s tutorial looks at some of the tools you will need to
More informationNetfilter & Packet Dropping
Netfilter & Packet Dropping Netfilter provides a set of hooks is several points of the kernel network stack. The hooks can be exploited to define custom functions for manipulating IP packets Dropping Manipulation
More informationLab 1: Loadable Kernel Modules (LKMs)
Lab 1: Loadable Kernel Modules (LKMs) Overview For this lab, we will be interfacing with an LCD screen using the Phytec board. This means we will be creating device drivers for our system to allow it to
More informationList of Linux Commands in an IPm
List of Linux Commands in an IPm Directory structure for Executables bin: ash cpio false ln mount rm tar zcat busybox date getopt login mv rmdir touch cat dd grep ls perl sed true chgrp df gunzip mkdir
More informationReviewing gcc, make, gdb, and Linux Editors 1
Reviewing gcc, make, gdb, and Linux Editors 1 Colin Gordon csgordon@cs.washington.edu University of Washington CSE333 Section 1, 3/31/11 1 Lots of material borrowed from 351/303 slides Colin Gordon (University
More informationKernel configuration The kernel configuration and build system is based on multiple Make files. All Makefiles inside the sub directories in kernel source interacts with the main Makefile which is present
More informationJohn A. Ronciak Staff Engineer NCG/NID/LAO Intel Corp.
John A. Ronciak Staff Engineer NCG/NID/LAO Corp. February 15-17, 17, 2000 Agenda l Learning the Cross Development Platform l Make the Device Driver IA-64 Clean l Building an IA-64 Linux Driver l Debugging
More informationKernel Module Programming
Kernel Module Programming Alessandro Barenghi Dipartimento di Elettronica e Informazione Politecnico di Milano alessandro.barenghi - at - polimi.it April 29, 2015 Linux A bit of history The Linux kernel
More informationAdvantech General FAQ. How to change ubuntu specific kernel for quick cross test
Advantech General FAQ How to change ubuntu specific kernel for quick cross test Applicable model list Model name version BIOS Version Description: All N/A N/A Products sometimes behave different with different
More information