About Linux Internals Course

To learn & explore the basics of the Linux & Kernel internals, scripting and to have a sound knowledge on implementing the Embedded Linux for your Product and services.

Internal Linux training course is designed for applicants or professionals who want to learn basic Linux methods, programming as well as Linux kernel internals. Participants taking this course will grasp both theoretical and practical backgrounds and learn the difference between kernel space and user space programming for Linux-C. They will be able to configure their own kernel and build kernel from the source code of the kernel. Applicants will be introduced to vital tools used to monitor and debug the kernel. This helps sound understanding of the Linux kernel by experienced programmers.
Overview Outline Schedule Course Overview This course is designed to provide a solid understanding of the Linux kernel to experienced programmers. Besides a detailed look at the theory and philosophy behind the Linux kernel, you will also be taking part in extensive hands-on exercises and demonstrations designed to provide you with the necessary tools for developing and debugging Linux kernel code.

List here some specific objectives of this course.

  • Learning about Kernel Internals & shell scripting.
  • Learning about I/O access and hardware management with Linux.
  • Creating Applications and scripts for Applications.

List books to be purchased or books used for this course.

  • Understanding the Linux Kernel, Third Edition 3rd Edition by Daniel P.Bovet, Marco Cesati.
  • Embedded Linux Primer: A practical Real-world approach, by Christopher Hallinan.


Course Duration

30 working days

8 Weekends



Delivery Mode

Class Room Training

Apply Online

Click Now
Engineering Student
Working Professionals
Industry Experts
Post Graduate Students
Embedded Developers
People looking to enhance their Skillsets


Program Structure

1st Semester
Session 1
Command Line Basics
  • History of GNU/Linux
  • Logging On To The System
  • Changing Your Password
  • Using UNIX Commands
  • File and Directory Commands
  • Getting Help
  • Logging Off The System
The Filesystem
  • Hierarchical File Structure
  • File Types
  • File Names
  • Pathnames
  • Access Permissions
  • Mounting
Session 2
Shell Basics
  • What is the Shell?
  • Processes
  • Job Control
  • Redirection
  • Variables
  • Quoting
  • Pipes and Filters
  • Scripting Introduction
System Boot Sequence
  • Overview
  • Role of Bootloader
  • Specifying Boot Arguments
  • Role of Ramfs
  • Role of Init
  • Runlevels
  • Getty and Login
  • Bash Login Script
Session 3
  • Accessing a System Remotely
  • Transferring Files Between Systems
  • Network Interfaces
  • Configuring Network Interfaces
  • DHCP – dhclient
Lab Exercises & Industrial Case studies
  • Sample Application.
  • Testing & performance.
  • Case Studies
Session 4
Embedded Linux
  • Boot Loader
  • Console
  • Storage Media
  • Filesystems
Embedded Linux
  • Root Filesystem + Shell + Utilities
  • Compiler
  • C Library
  • Debuggers
Session 5
Getting Started
  • Accessing the target
  • Console on Serial Port
  • Minicom Usage
Devices Intro
  • Memory Interfacing
  • Device Interfacing
  • Memory Mapped IO
  • IO using Controllers
Session 6
File I/O & Kernel
  • File Descriptors
  • Opening and Closing Files
  • Reading and Writing to Files Sequentially
  • Reposition Read/Write File Offset
  • File Tables and File Descriptor Tables
  • Unix/Linux Device Abstraction
  • Device Files
  • Types of Drivers
  • Kernel Modules
  • Kernel Modules Introduction
  • Advantages of Kernel Modules
Filesystems & U-Boot
  • Filesystems Internals - inodes, dentry
  • Filesystems - ext2, fat
  • Network Filesystems
  • Ramdisks
  • USB Pen Drive
  • Pseudo filesystems - proc, sysfs
  • Processor
  • Interfaces
  • Memory Map
  • U-Boot commands
Session 7
Memory Technology Devices
  • NAND Flash and NOR Flash
  • MTD vs Block devices
  • Partitioning
  • Flash FileSystems - JFFS2
  • UBI
Building Embedded Linux
  • Build Tools
  • Make
  • Make Rules
  • Macros
  • Suffix Rules
  • Cross compiling hello world program
  • About cross compilers
  • GNU Tool Chain
  • Using cross compilers
  • Building Userspace
  • Busybox Introduction
Lab exercises & Sample Project
  • Sample exercises on Memory & make tools.
  • Sample projects.
  • Summing up