Home    |    Instructor-led Training    |    Online Training     
         
 
Courses
ADA
Adobe
Agile
AJAX
Android
Apache
AutoCAD
Big Data
BlockChain
Business Analysis
Business Intelligence
Business Objects
Business Skills
C/C++/Go programming
Cisco
Citrix
Cloud Computing
COBOL
Cognos
ColdFusion
COM/COM+
CompTIA
CORBA
CRM
Crystal Reports
Data Science
Datawarehousing
DB2
Desktop Application Software
DevOps
DNS
Embedded Systems
Google Web Toolkit (GWT)
IPhone
ITIL
Java
JBoss
LDAP
Leadership Development
Lotus
Machine learning/AI
Macintosh
Mainframe programming
Mobile
MultiMedia and design
.NET
NetApp
Networking
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Oracle VM
Perl
PHP
PostgreSQL
PowerBuilder
Professional Soft Skills Workshops
Project Management
Rational
Ruby
Sales Performance
SAP
SAS
Security
SharePoint
SOA
Software quality and tools
SQL Server
Sybase
Symantec
Telecommunications
Teradata
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Unisys Mainframe
Visual Basic
Visual Foxpro
VMware
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Other
LINUX DRIVER WRITING
Linux Training Overview

This course provides a general introduction to Linux device driver development. Students gain a clear practical understanding of the way drivers are designed, interfaced with the kernel, implemented, and tested.

Linux Training Audience

Programmers and software designers who plan to integrate hardware devices to the Linux kernel.

Linux Training Prerequisites

Linux Internals is recommended. Strong C programming skills and intermediate knowledge of UNIX/Linux shell commands are required. Experience with the data structures and basic functions used in the Linux kernel is necessary. Proficiency at configuring and installing a new Linux kernel on a system is assumed

Linux Training Course duration

3 Days

Linux Training Course outline

Introduction to Linux Driver Development

  • Introduction and environmental setup
  • Kernel versions and compatibility
  • Components of the Kernel
  • Aims of driver development
  • Steps associated with the development of a driver
  • How device drivers work
  • Stability and security issues
  • Device Drivers
  • Elements of a driver
  • Benefits and drawbacks
  • Classes of drivers
  • Linux Kernel Facilities
  • System calls
  • Data structures
  • Functions
  • Modules
  • Benefits of using modules
  • Module-related tools
  • Compiling, loading, and unloading
  • Module implementation
  • Automatic module loading
  • Character Devices
  • Accessing the device
  • File and inode structure
  • File operations
  • Reading and writing
  • IOCTLs
  • Example of a character device
  • Hardware Aspects
  • Accessing memory
  • Direct Memory Access
  • I/O Management
  • PCI and ISA
  • Block Drivers
  • Registration
  • The blk.h header
  • Requests and Mounting
  • Networks
  • Layer model
  • Network communications
  • Implementation of the TCP/IP stack
  • Data structures
  • Socket
  • sk_buff
  • Inet socket
  • proto
  • ARP and IP Protocols
  • IP Filters
  • UDP and TCP
  • Network Devices
  • Integration in the kernel
  • Ethernet Devices
  • SLIP and PPP
  • Loopback
  • Dummy devices
  • Loading network drivers
  • Transmitting and receiving packets
  • Device configuration
  • Statistics
  • SCSI Subsystem
  • Architecture overview
  • Names and conventions
  • Upper level
  • Block devices (hard disks, CD-ROM)
  • Character devices (Tape)
  • Generic drivers
  • Mid level (boot parameters, proc interface)
  • Lower (hardware) level and pseudo drivers
  • Device Drivers Debugging
  • Printing with printk
  • Queries
  • /proc entries
  • Tracing and debuggers

  • Please contact your training representative for more details on having this course delivered onsite or online

    Training Outlines - the one stop shopping center for IT training.
    © Training Outlines All rights reserved