Introduction to Linux
Introduction to Linux
2. Features of Linux.
3. Why is Linux?
4. Embedded Linux.
8. Booting Sequence.
9. Init Process.
• Monolithic kernel : the entire operating system runs in kernel space, meaning all system services share
the same memory space.
• Exokernel : Applications are given direct access to hardware resources, allowing them to manage
resources and make decisions that the kernel previously made.
• Hybrid kernel: runs some services in the kernel space to reduce the performance overhead of a
traditional microkernel, while still running kernel code as servers in the user space.
• Microkernel: only the most basic services run in kernel space, and other services run in user space
• Not Unix.
• By Richard Stallman in 1983.
• Started by apps for Unix kernel.
• Written from scratch but used by all operating systems
• Mini Unix.
• Created by Andrew S. Tanenbaum.
• Based on microkernel
• It supports C, C++, FORTRAN, Modula-2, Pascal, Perl, and Python.
• Used for research and teaching in Amsterdam University.
Purpose Early time-sharing os Simpler, Portable OS Educational OS Free Unix like system Unix – like kernel
Influence Influenced unix and os Basis for most modern Inspired Linux Provides free SW tools Widely used kernel
design os designs for Unix-like systems
Current relevance Historical interest Basis for modern os Educational Gnu tools widely used Powers most of the
microkernel study in linux internet
• Adapting the Linux kernel and customizing the user-land libraries and utilities
to Embedded applications.
• Open Source: Provides flexibility, cost savings, and the ability to modify and optimize the OS to the
specific needs of the application.
• Large Community and Support: Benefit from the large Linux community, with extensive
documentation, tools, and libraries.
• Scalability and Flexibility: Can be tailored to a wide range of devices, from small microcontroller-based
systems to powerful embedded applications.
• Processor Architecture
The hardware target must use a processor architecture supported by the
Linux kernel.
• Tool chain.
• Bootloader.
• Kernel.
• Root file system.
System Integrated
Engineer
( Buildroot , Yocto ,
OpenEmbedded)
It contains :
• Master boot routine.
• Disk partition table (DPT).
• Identification code.
initramfs (initial RAM filesystem) is an initial root filesystem that is loaded into memory during the
boot process before the actual root filesystem is mounted.
The primary purpose of initramfs is to facilitate the needs for kernel when the kernel needs to perform
certain tasks before it can fully access and mount the root filesystem.
• All files in a Linux filesystem are arranged in form of a big tree rooted at ‘/‘.These files can be
spread out on various devices based on your partition table, initially your parent directory is
mounted to this tree at ‘/‘, others can be mounted manually using GUI interface(if available) or
using mount command.
• mount command is used to mount the filesystem found on a device to big tree structure(Linux
filesystem) rooted at ‘/‘. Conversely, another command unmount can be used to detach these
devices from the Tree.