SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
Linux Kernel Overview
Report
Anil Kumar Pugalia
Follow
Linux Geek and Open Source Hardware & Software Freak, Corporate Trainer, Entrepreneur in Automation
Jun. 21, 2010
•
0 likes
•
26,558 views
1
of
20
Linux Kernel Overview
Jun. 21, 2010
•
0 likes
•
26,558 views
Report
Technology
Anil Kumar Pugalia
Follow
Linux Geek and Open Source Hardware & Software Freak, Corporate Trainer, Entrepreneur in Automation
Recommended
Basic Linux Internals
mukul bhardwaj
41.2K views
•
333 slides
Linux Programming
Emertxe Information Technologies Pvt Ltd
4.5K views
•
136 slides
U boot porting guide for SoC
Macpaul Lin
11.8K views
•
32 slides
Kernel Module Programming
Saurabh Bangad
29.4K views
•
26 slides
Architecture Of The Linux Kernel
Dominique Cimafranca
26.7K views
•
17 slides
Linux kernel architecture
SHAJANA BASHEER
4.3K views
•
32 slides
More Related Content
What's hot
Architecture Of The Linux Kernel
guest547d74
2.2K views
•
17 slides
Linux Kernel Tour
samrat das
1.9K views
•
56 slides
Linux Kernel Booting Process (1) - For NLKB
shimosawa
12.5K views
•
73 slides
Linux Internals - Kernel/Core
Shay Cohen
1.4K views
•
35 slides
A practical guide to buildroot
Emertxe Information Technologies Pvt Ltd
2.7K views
•
20 slides
Embedded Linux on ARM
Emertxe Information Technologies Pvt Ltd
10.2K views
•
235 slides
What's hot
(20)
Architecture Of The Linux Kernel
guest547d74
•
2.2K views
Linux Kernel Tour
samrat das
•
1.9K views
Linux Kernel Booting Process (1) - For NLKB
shimosawa
•
12.5K views
Linux Internals - Kernel/Core
Shay Cohen
•
1.4K views
A practical guide to buildroot
Emertxe Information Technologies Pvt Ltd
•
2.7K views
Embedded Linux on ARM
Emertxe Information Technologies Pvt Ltd
•
10.2K views
Part 02 Linux Kernel Module Programming
Tushar B Kute
•
3.6K views
Linux Device Tree
艾鍗科技
•
4.5K views
Introduction to Linux
Anil Kumar Pugalia
•
4K views
Uboot startup sequence
Houcheng Lin
•
33.6K views
U Boot or Universal Bootloader
Satpal Parmar
•
21.1K views
Bootloaders
Anil Kumar Pugalia
•
9.8K views
Linux device drivers
Emertxe Information Technologies Pvt Ltd
•
41.1K views
Linux Kernel Image
艾鍗科技
•
5.2K views
Embedded Linux BSP Training (Intro)
RuggedBoardGroup
•
697 views
Kernel module programming
Vandana Salve
•
7.5K views
Linux Internals - Part II
Emertxe Information Technologies Pvt Ltd
•
3.9K views
Linux Kernel Programming
Nalin Sharma
•
2.5K views
U-Boot presentation 2013
Wave Digitech
•
18.7K views
Linux Initialization Process (2)
shimosawa
•
6.8K views
Viewers also liked
BeagleBoard-xM Bootloaders
SysPlay eLearning Academy for You
7.2K views
•
17 slides
Linux Porting
Anil Kumar Pugalia
17.4K views
•
29 slides
File Systems
Anil Kumar Pugalia
17.9K views
•
22 slides
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
4.6K views
•
24 slides
I2C Drivers
SysPlay eLearning Academy for You
28.6K views
•
28 slides
File System Modules
Anil Kumar Pugalia
25K views
•
27 slides
Viewers also liked
(20)
BeagleBoard-xM Bootloaders
SysPlay eLearning Academy for You
•
7.2K views
Linux Porting
Anil Kumar Pugalia
•
17.4K views
File Systems
Anil Kumar Pugalia
•
17.9K views
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
•
4.6K views
I2C Drivers
SysPlay eLearning Academy for You
•
28.6K views
File System Modules
Anil Kumar Pugalia
•
25K views
Platform Drivers
SysPlay eLearning Academy for You
•
17.4K views
Serial Drivers
SysPlay eLearning Academy for You
•
17K views
SPI Drivers
SysPlay eLearning Academy for You
•
13.1K views
Block Drivers
Anil Kumar Pugalia
•
38.2K views
USB Drivers
Anil Kumar Pugalia
•
42.7K views
References
Anil Kumar Pugalia
•
21.7K views
Kernel Debugging & Profiling
Anil Kumar Pugalia
•
18.8K views
Interrupts
Anil Kumar Pugalia
•
47.5K views
Introduction to Linux Drivers
Anil Kumar Pugalia
•
64.5K views
Character Drivers
Anil Kumar Pugalia
•
56.5K views
BeagleBone Black Booting Process
SysPlay eLearning Academy for You
•
18.2K views
Toolchain
Anil Kumar Pugalia
•
15K views
Arduino Robotics workshop Day1
Sudar Muthu
•
12.8K views
Arduino Robotics workshop day2
Sudar Muthu
•
9.5K views
Similar to Linux Kernel Overview
Slim Server Theory
Gaurav Paliwal
662 views
•
15 slides
Introduction to Linux
Anil Kumar Pugalia
11.2K views
•
32 slides
Introduction To Linux Kernel Modules
dibyajyotig
1.9K views
•
33 slides
Linux Memory Management
Anil Kumar Pugalia
27.5K views
•
15 slides
Mobile Hacking using Linux Drivers
Anil Kumar Pugalia
6K views
•
33 slides
LSA2 - 02 Namespaces
Marian Marinov
3.5K views
•
13 slides
Similar to Linux Kernel Overview
(20)
Slim Server Theory
Gaurav Paliwal
•
662 views
Introduction to Linux
Anil Kumar Pugalia
•
11.2K views
Introduction To Linux Kernel Modules
dibyajyotig
•
1.9K views
Linux Memory Management
Anil Kumar Pugalia
•
27.5K views
Mobile Hacking using Linux Drivers
Anil Kumar Pugalia
•
6K views
LSA2 - 02 Namespaces
Marian Marinov
•
3.5K views
Visão geral do hardware do servidor System z e Linux on z - Concurso Mainframe
Anderson Bassani
•
1.1K views
Nim
muhammad adeel
•
785 views
.ppt
webhostingguy
•
672 views
the NML project
Lei Yang
•
597 views
System Calls
Anil Kumar Pugalia
•
9.7K views
Unix nim-presentation
Rajeev Ghosh
•
760 views
Linux scheduler
Liran Ben Haim
•
1.7K views
docslide-3df5a529-2ffd-ef23.ppt
PrasannaDeSilva7
•
4 views
Practical Introduction To Linux
Zeeshan Rizvi
•
364 views
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Tushar B Kute
•
3.8K views
Interview Questions
rajusandeep12
•
1.3K views
Walking around linux kernel
Dharshana Kasun Warusavitharana
•
2.5K views
Ite pc v40_chapter5
paulinagonzapyl
•
902 views
Linux kernel booting
Ramin Farajpour Cami
•
59 views
More from Anil Kumar Pugalia
File System Modules
Anil Kumar Pugalia
20.7K views
•
37 slides
Kernel Debugging & Profiling
Anil Kumar Pugalia
5.9K views
•
14 slides
Processes
Anil Kumar Pugalia
7K views
•
33 slides
System Calls
Anil Kumar Pugalia
4.2K views
•
17 slides
Embedded C
Anil Kumar Pugalia
25.6K views
•
20 slides
Embedded Software Design
Anil Kumar Pugalia
6.9K views
•
29 slides
More from Anil Kumar Pugalia
(20)
File System Modules
Anil Kumar Pugalia
•
20.7K views
Kernel Debugging & Profiling
Anil Kumar Pugalia
•
5.9K views
Processes
Anil Kumar Pugalia
•
7K views
System Calls
Anil Kumar Pugalia
•
4.2K views
Embedded C
Anil Kumar Pugalia
•
25.6K views
Embedded Software Design
Anil Kumar Pugalia
•
6.9K views
Playing with R L C Circuits
Anil Kumar Pugalia
•
2.8K views
Audio Drivers
Anil Kumar Pugalia
•
20.6K views
Video Drivers
Anil Kumar Pugalia
•
23.2K views
Shell Scripting
Anil Kumar Pugalia
•
6.2K views
Functional Programming with LISP
Anil Kumar Pugalia
•
6.1K views
Power of vi
Anil Kumar Pugalia
•
3K views
gcc and friends
Anil Kumar Pugalia
•
14.2K views
"make" system
Anil Kumar Pugalia
•
4.2K views
Hardware Design for Software Hackers
Anil Kumar Pugalia
•
1.7K views
RPM Building
Anil Kumar Pugalia
•
4K views
Linux User Space Debugging & Profiling
Anil Kumar Pugalia
•
6.5K views
Linux Network Management
Anil Kumar Pugalia
•
11.2K views
Timers
Anil Kumar Pugalia
•
6.5K views
Threads
Anil Kumar Pugalia
•
10.2K views
Recently uploaded
How to use the Cataloguing Code Ethics at your day job : a hands-on workshop ...
CILIP MDG
36 views
•
13 slides
h2 meet pdf test.pdf
JohnLee971654
54 views
•
4 slides
Experts Live Europe 2023 - Ensure your compliance in Microsoft Teams with Mic...
Jasper Oosterveld
58 views
•
76 slides
Cloud Composer workshop at Airflow Summit 2023.pdf
Leah Cole
84 views
•
80 slides
Advancing Equity and Inclusion for Deaf Students in Higher Education
3Play Media
147 views
•
24 slides
Easy Salesforce CI/CD with Open Source Only - Dreamforce 23
NicolasVuillamy1
204 views
•
39 slides
Recently uploaded
(20)
How to use the Cataloguing Code Ethics at your day job : a hands-on workshop ...
CILIP MDG
•
36 views
h2 meet pdf test.pdf
JohnLee971654
•
54 views
Experts Live Europe 2023 - Ensure your compliance in Microsoft Teams with Mic...
Jasper Oosterveld
•
58 views
Cloud Composer workshop at Airflow Summit 2023.pdf
Leah Cole
•
84 views
Advancing Equity and Inclusion for Deaf Students in Higher Education
3Play Media
•
147 views
Easy Salesforce CI/CD with Open Source Only - Dreamforce 23
NicolasVuillamy1
•
204 views
Connecting Africa.docx
Eric Annan
•
13 views
Document Understanding as Cloud APIs and Generative AI Pre-labeling Extractio...
DianaGray10
•
117 views
Orchestration, Automation and Virtualisation Maturity Model
CSUC - Consorci de Serveis Universitaris de Catalunya
•
54 views
BuilderAI Proposal_Malesniak
Michael Lesniak
•
93 views
Keynote: Two years at the British Library... and counting / Alan Danskin (Bri...
CILIP MDG
•
29 views
Getting your enterprise ready for Microsoft 365 Copilot
Vignesh Ganesan I Microsoft MVP
•
107 views
Machine learning with quantum computers
Speck&Tech
•
18 views
UiPath Tips and Techniques for Error Handling - Session 2
DianaGray10
•
25 views
Webinar: Discover the Power of SpiraTeam - A Jira Alternative To Revolutioniz...
Inflectra
•
37 views
web test repair.pptx
YuanzhangLin
•
31 views
GDSC Cloud Lead Presentation.pptx
AbhinavNautiyal8
•
34 views
Announcing InfluxDB Clustered
InfluxData
•
55 views
Common WordPress APIs - Options API
Jonathan Bossenger
•
24 views
Elevate Your Enterprise with FME 23.1
Safe Software
•
289 views
Linux Kernel Overview
1.
© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Kernel Overview
2.
2© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What to Expect? W's of Kernel Linux Architecture Linux Kernel Startup Linux Kernel Functionality Linux Kernel Configuration Linux Kernel Compilation
3.
3© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What is a Kernel? Core of a System The Operating System
4.
4© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. OS Core OS Core could be further classified as the following major functionalities Inter Process Communication Minimal Memory Management Low-level Process Management & Scheduling Low-level Input / Output
5.
5© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Types of Kernels Micro kernel Also called the Modular kernel Contains only the OS Core Other OS stuff are typically provided as services Examples: Amoeba, Mach, QNX Monolithic kernel Contains all the OS related stuff Either built into it statically or loaded dynamically Examples: VxWorks, Linux
6.
6© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Micro vs Monolithic Advantages Micro Kernel Flexible Modular Easy to implement Monolithic Kernel Performance
7.
7© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Architecture User Space (is the usage platform) System Call I/F (the connector) Kernel Space (provides functionalities & facilities to use) Hardware (is what is to be used)
8.
8© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Architecture Details User Space Memory where user processes run Doing typical computation tasks And accesses kernel space for privileged tasks Through System Call interface Kernel Space This is protected space Place of all privileged happening I/O access, Memory access, … (System Resources access) Kernel processes can access User processes but not vice versa These levels are achieved by processor states How does system call switches user to kernel space? Check Which space is executing command from root? Do we need these levels and system calls if the kernel image and root file system are read only?
9.
9© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Process vs Thread Single Process Single Threaded Single Process Multi-Threaded Multi-Process Single Threaded Multi-Process Multi-Threaded What is Linux User Space? What about the Kernel Space? Need for Single vs Multi
10.
10© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Kernel Startup CPU / Platform specific Initialization CPU Speed Setup MMU Setup Board Id Setup Minimal Driver Initialization: FS specific Mounting Root File System Remaining Driver Initialization Doing Initcall & Freeing Initial Memory Moving to User Space by Jumping to the first user process init
11.
11© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Kernel Functional Overview Process Management Memory Management Device Management Storage Management Network Management
12.
12© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Kernel Source Let's get down to the Source Code
13.
13© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Kernel Build System Key components Makefile Kconfig Configuring the Makefile Setting up the kernel version (specially for the Desktops) For Cross Compilation, need to setup ARCH CROSS_COMPILE Or, invoke make with these options
14.
14© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Kernel Configuration Methods make config make menuconfig make xconfig Others make defconfig make oldconfig make <board_specific>_defconfig Check: Where is the menuconfig target?
15.
15© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Kernel Configuration Code Maturity level Options General Setup Loadable Module Support Block Layer Networking Device Drivers File Systems Kernel Hacking Security Options Cryptographic Options Library Routines
16.
16© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Kernel Compilation Cleaning Methods make clean – Simple clean make mrproper – Complete sweep clean, incl. Configs Also called Building the Kernel After configuring the kernel, we are all set to build it Build Methods make vmlinux – To build everything configured for a kernel image make modules – To build only configured modules make – To build everything configured (kernel image & modules) make modules_prepare – To only prepare for building modules
17.
17© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Kernel Images Kernel Image should be understood by Stage 2 Bootloader Default kernel compilation builds vmlinux vmlinux is understood only by the desktop bootloaders So, for embedded systems, we would typically have to do the following Creating linux.bin using <cross>-objcopy Example: arm-linux-objcopy -O binary vmlinux linux.bin And then, convert it into the bootloader specific image using some bootloader utility. For u-boot, it is done using mkimage Example: mkimage -A arm -O linux -T kernel -C none -a 20008000 -e 20008000 -n “Custom” -d linux.bin uImage.arm
18.
18© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Linux Kernel Arguments console root initrd mem resume ...
19.
19© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What all have we learnt? W's of Kernel Linux Architecture Linux Kernel Startup Linux Kernel Functionality Linux Kernel Configuration Linux Kernel Compilation
20.
20© 2010-17 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Any Queries?