SlideShare a Scribd company logo
Boaz Taitler
KERNEL INIT PROCESS
Boaz Taitler
About me
On the menu
• Module Init
• Initcalls Sections
• Init pages clean up
• Run init process
Module Init/Exit
The Magic - Sections
Include/asm-generic/vmlinux.lds.h
Sections - example
Symbol group 3
Symbol group 2
Symbol group 1
Symbol group 4
Sections - example
Con_initcall
Init_calls
Init_setup
Security_initcall
__setup_start
__setup_end
__initcall_start
__initcall_end
__con_initcall_start
__con_initcall_end
__security_initcall_start
__security_initcall_end
The gathering - Initcall
The gathering - Initcall
The Result:
System.map
Example:
Let’s call ‘em!
Init/main.c (v3.2)
Demonstration: part 1
Include/asm-generic/vmlinux.lds.h
Include/linux/init.h
Demonstration: part 2
Arch/arm/kernel/vmlinux.lds.S
Demonstration: part 3
Demonstration: part 4
Do it yourself: Result
System.map
Cons / Pros:
• Cons:
• Require more memory
• Architecture dependent
• Pros:
• Easy for maintenance
• Generic Calls
• Looks cool :D
When to use
When you:
• Need to add new calls
• Don’t want to affect the function where
you summon the calls
• Want to iterate
over functions.
Init examples:
U-boot
U-boot 2009
Lib_app/board.c
Barebox
Conclusions
1. Init calls can be called __barebox_cmd
2. Summing 2 pictures result in a big picture
Finishing touches
• Clean init pages
• Run init process
Clear init pages
Arch/arm/kernel/vmlinux.lds.S
Clear init pages
Clear init pages
Arch/arm/kernel/vmlinux.lds.S
Clear init pages
System.map
One last thing
Run init process
Run init process
Init/main.c
Questions?
Thank you
Contact:
• Boaz taitler
• boaztait@gmail.com

More Related Content

PDF
Namespaces and cgroups - the basis of Linux containers
PDF
Introduction To Linux Kernel Modules
PDF
Advanced Namespaces and cgroups
PDF
Part 02 Linux Kernel Module Programming
PDF
Systemd: the modern Linux init system you will learn to love
PDF
Launch the First Process in Linux System
PPTX
Linux Initialization Process (2)
PDF
Linux kernel debugging
Namespaces and cgroups - the basis of Linux containers
Introduction To Linux Kernel Modules
Advanced Namespaces and cgroups
Part 02 Linux Kernel Module Programming
Systemd: the modern Linux init system you will learn to love
Launch the First Process in Linux System
Linux Initialization Process (2)
Linux kernel debugging

What's hot (20)

PDF
PDF
Grub2 Booting Process
PPTX
Linux kernel debugging
PDF
Embedded_Linux_Booting
PPT
Linux Kernel Image
PDF
systemd
PPTX
Windows file system
PDF
Linux Internals - Part III
PDF
Linux Internals - Interview essentials - 1.0
ODP
Linux Internals - Kernel/Core
PDF
Introduction to Linux
PPTX
Linux process management
PPTX
U-Boot Porting on New Hardware
PDF
MikroTik RouterOS Security Automation With Ansible
PDF
Embedded Linux BSP Training (Intro)
PDF
Effective service and resource management with systemd
PPTX
Linux Kernel Booting Process (1) - For NLKB
PPT
Introduction to Linux Kernel by Quontra Solutions
PDF
U-Boot - An universal bootloader
Grub2 Booting Process
Linux kernel debugging
Embedded_Linux_Booting
Linux Kernel Image
systemd
Windows file system
Linux Internals - Part III
Linux Internals - Interview essentials - 1.0
Linux Internals - Kernel/Core
Introduction to Linux
Linux process management
U-Boot Porting on New Hardware
MikroTik RouterOS Security Automation With Ansible
Embedded Linux BSP Training (Intro)
Effective service and resource management with systemd
Linux Kernel Booting Process (1) - For NLKB
Introduction to Linux Kernel by Quontra Solutions
U-Boot - An universal bootloader
Ad

Viewers also liked (20)

PPTX
WiFi and the Beast
PDF
Userfaultfd and Post-Copy Migration
PPTX
Windows Internals for Linux Kernel Developers
PDF
Fun with Network Interfaces
PDF
VLANs in the Linux Kernel
PPTX
DMA Survival Guide
PPTX
Modern Linux Tracing Landscape
PDF
FreeBSD and Drivers
PPTX
Hardware Probing in the Linux Kernel
PPSX
FD.IO Vector Packet Processing
PDF
Switchdev - No More SDK
PPTX
Berkeley Packet Filters
PPTX
Introduction to DPDK
PPTX
Linux Security Overview
PDF
Linux Kernel Cryptographic API and Use Cases
PPTX
DevCon13 System Administration Basics
PPT
Basic system administration tasks
PDF
Basic solaris 10 system administration commands
PPTX
Linux IO
PDF
Introduction to RCU
WiFi and the Beast
Userfaultfd and Post-Copy Migration
Windows Internals for Linux Kernel Developers
Fun with Network Interfaces
VLANs in the Linux Kernel
DMA Survival Guide
Modern Linux Tracing Landscape
FreeBSD and Drivers
Hardware Probing in the Linux Kernel
FD.IO Vector Packet Processing
Switchdev - No More SDK
Berkeley Packet Filters
Introduction to DPDK
Linux Security Overview
Linux Kernel Cryptographic API and Use Cases
DevCon13 System Administration Basics
Basic system administration tasks
Basic solaris 10 system administration commands
Linux IO
Introduction to RCU
Ad

Similar to Linux Kernel Init Process (20)

PPTX
Linux Kernel Tour
PDF
Linux Kernel Startup Code In Embedded Linux
PPT
Linux Booting Process
PPTX
linux_initcall.pptx
PDF
Vmlinux: anatomy of bzimage and how x86 64 processor is booted
PPTX
Code4vn - Linux day - linux boot process
PPTX
Linux startup
PDF
Linux kernel driver tutorial vorlesung
PDF
Init of Android
PDF
Linux: the first second
PDF
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
PPTX
Linux Boot Process
PDF
Operating-Systems-Network-System-Lecture 2.pdf
PPT
LINUX Device Drivers
PPTX
How To Add System Call In Ubuntu OS
PDF
Introduction to Linux Kernel Development
PPTX
Linux Kernel Module - For NLKB
PDF
Part 04 Creating a System Call in Linux
PDF
01 boot process
PPTX
Linux Daemons & INIT services
Linux Kernel Tour
Linux Kernel Startup Code In Embedded Linux
Linux Booting Process
linux_initcall.pptx
Vmlinux: anatomy of bzimage and how x86 64 processor is booted
Code4vn - Linux day - linux boot process
Linux startup
Linux kernel driver tutorial vorlesung
Init of Android
Linux: the first second
Embedded Fest 2019. Руслан Биловол. Linux Boot: The Big Bang theory
Linux Boot Process
Operating-Systems-Network-System-Lecture 2.pdf
LINUX Device Drivers
How To Add System Call In Ubuntu OS
Introduction to Linux Kernel Development
Linux Kernel Module - For NLKB
Part 04 Creating a System Call in Linux
01 boot process
Linux Daemons & INIT services

More from Kernel TLV (18)

PDF
DPDK In Depth
PDF
Building Network Functions with eBPF & BCC
PDF
SGX Trusted Execution Environment
PDF
Fun with FUSE
PPTX
Kernel Proc Connector and Containers
PPTX
Bypassing ASLR Exploiting CVE 2015-7545
PDF
Present Absence of Linux Filesystem Security
PDF
OpenWrt From Top to Bottom
PDF
Make Your Containers Faster: Linux Container Performance Tools
PDF
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
PDF
File Systems: Why, How and Where
PDF
netfilter and iptables
PDF
KernelTLV Speaker Guidelines
PDF
Userfaultfd: Current Features, Limitations and Future Development
PDF
The Linux Block Layer - Built for Fast Storage
PDF
Specializing the Data Path - Hooking into the Linux Network Stack
PPTX
Linux Interrupts
PPTX
grsecurity and PaX
DPDK In Depth
Building Network Functions with eBPF & BCC
SGX Trusted Execution Environment
Fun with FUSE
Kernel Proc Connector and Containers
Bypassing ASLR Exploiting CVE 2015-7545
Present Absence of Linux Filesystem Security
OpenWrt From Top to Bottom
Make Your Containers Faster: Linux Container Performance Tools
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
File Systems: Why, How and Where
netfilter and iptables
KernelTLV Speaker Guidelines
Userfaultfd: Current Features, Limitations and Future Development
The Linux Block Layer - Built for Fast Storage
Specializing the Data Path - Hooking into the Linux Network Stack
Linux Interrupts
grsecurity and PaX

Recently uploaded (20)

PDF
medical staffing services at VALiNTRY
PDF
Digital Strategies for Manufacturing Companies
PDF
System and Network Administraation Chapter 3
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
top salesforce developer skills in 2025.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Introduction to Artificial Intelligence
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
L1 - Introduction to python Backend.pptx
medical staffing services at VALiNTRY
Digital Strategies for Manufacturing Companies
System and Network Administraation Chapter 3
Softaken Excel to vCard Converter Software.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
top salesforce developer skills in 2025.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Introduction to Artificial Intelligence
Wondershare Filmora 15 Crack With Activation Key [2025
Which alternative to Crystal Reports is best for small or large businesses.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Design an Analysis of Algorithms II-SECS-1021-03
wealthsignaloriginal-com-DS-text-... (1).pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
L1 - Introduction to python Backend.pptx

Linux Kernel Init Process