The Linux boot process begins with the BIOS which initializes hardware and loads the boot loader like LILO or GRUB. The boot loader then loads the Linux kernel and initial RAM disk into memory. The kernel takes over the boot process, mounting partitions and file systems. It starts init which launches other processes according to runlevels and targets. Systemd now handles starting processes. The system can be shut down, rebooted or powered off. Logging uses syslog to record events to /var/log. Partitions on disks are managed using tools like fdisk, gdisk and parted.
Professional Resume Template for Software Developers
Linux admin course
1. LINUX BOOT PROCESS
(1) BIOS : (BASIC INPUT/OUTPUT SYSTEM)
BIOS (basic input/output
system) is the program a personal
computer's microprocessor uses to
get the computer system started after
you turn it on. It also manages data
flow between the computer's
operating system and attached
devices such as the hard disk, video
adapter, keyboard, mouse and
printer.
(2) BOOT LOADERS (OR) BOOT MANAGER :
A boot loader, also called a boot manager, is a small program that places the operating
system (OS) of a computer into memory. Boot loaders are known as LILO (LInux LOader) and
LOADLIN (LOAD LINux).
(OR)
A boot loader is a type of program that loads and starts the boot time tasks and processes of
an operating system or the computer system. It enables loading the operating system within the
computer memory when a computer is started or booted up.A boot loader is also known as a boot
manager or bootstrap loader.
(A) LILO : (LINUX LOADER)
LILO (LInux LOader) is a boot loader (a small program that manages a dual boot) for use
with the Linux Operating System. Most new computers are shipped with boot loaders for some
version of Microsoft Windows or the Mac OS. If a computer is to be used with Linux, a special boot
loader must be installed. LILO is the most popular boot loader among users who employ Linux as
their main, or only, operating system.
(B) GRUB : (GRAND UNIFIED BOOT LOADER)
GNU GRUB (or just GRUB) is a boot loader package that supports multiple operating
systems on a computer. During boot-up, the user can select the operating system to run. GNU
GRUB is based on an earlier multiboot package, GRUB (GRand Unified Bootloader).
(3) INITRD : (INITIAL RAMDISK)
In computing, initrd (initial ramdisk) is a scheme for loading a temporary root file system
into memory, which may be used as part of the Linux startup process. initrd and initramfs refer to
two different methods of achieving this.
2. (4) / BOOT :
The contents are mostly Linux kernel files or boot loader files, depending on the boot
loader, most commonly (on Linux) LILO or GRUB.
(5) VMLINUX (OR) VMLINUZ :
vmlinuz is a compressed Linux kernel, and it is bootable. Bootable means that it is capable
of loading the operating system into memory so that the computer becomes usable and application
programs can be run. vmlinuz should not be confused with vmlinux, which is the kernel in a non-
compressed and non-bootable form.
BOOTING
(6) DMESG OR/VAR/LOG/DMESG :
dmesg prints the contents of the ring buffer. ... It is used to examine or control the kernel
ring buffer. messages : It contains global system messages, including the messages that are logged
during system startup. There are several things that are logged in /var/log/messages including mail,
cron, daemon, kern, auth, etc.
(7) RUN LEVELS AND TARGETS :
(A)RUN LEVELS :
A runlevel is a preset operating state on a Unix-like operating system. A system can
be booted into (i.e., started up into) any of several runlevels, each of which is represented by a
single digit integer.
(B)TARGETS :
Targets are used for grouping and ordering units. They are somewhat of a rough
equivalent to runlevels in that at different targets different services, sockets, and other units are
started. Unlike runlevels they are much more free-form and you can easily make your own targets
for ordering units, and targets have dependencies among themselves.
(8) TELINIT (INIT) :
The processes spawned by init for each of these runlevels are defined in the /etc/init tab file.
telinit, which sends appropriate signals to init, telling it which runlevel to change to.
(9) SYSTEMCTL (SYSTEMD) :
systemctl — Control the systemd system and service manager.
systemctl may be used to introspect and control the state of the "systemd" system and
service manager.
systemd is an init system used in Linux distributions to bootstrap the user space and
manage all processes subsequently, instead of the UNIX System V or Berkeley Software
Distribution (BSD) init systems.
3. (10) SHUTDOWN, REBOOT, POWER OFF :
(A) SHUTDOWN:
To shut down the system from a terminal session, sign in or "su" to the "root" account. Then
type ``/sbin/shutdown -r now''. It may take several moments for all processes to be terminated, and
then Linux will shut down. The computer will reboot itself.
(B) REBOOT:
Next command is the reboot command. It can be used to shutdown or reboot linux. To
reboot linux just call the reboot command directly without any options. This will perform a graceful
shutdown and restart of the machine.
(C) POWER OFF :
This is roughly equivalent to pressing the power button on a typical desktop computer. If
you are logged in as root, issuing the reboot command will immediately initiate a reboot sequence.
The system will shut down and then commence a warm boot.
SYSTEM LOGGING
(11) SYSLOG STANDARD :
Syslog is a way for network devices to send event messages to a logging server – usually
known as a Syslog server. The Syslog protocol is supported by a wide range of devices and can be
used to log different types of events.
(12) FACILITIES :
Facilities are simply categories. Supported facilities in Linux are auth, authpriv, cron,
dæmon, kern, lpr, mail, mark, news, syslog, user, UUCP and local0 through local7. Some of these
are self-explanatory, but of special note are: auth: used for many security events.
(13) SEVERITIES :
The meaning of severity levels other than Emergency and Debug are relative to the
application.
Severity level
The list of severities is also defined by RFC 5424.
In computing, syslog is a standard for message logging. It allows separation of the software
that ... The list of severities is also defined by RFC 5424: .... Syslog · NetLogger · MonitorWare: All
about Syslog · Syslog Servers for Windows & Linux.
Value Severity Keyword
Deprecated
keywords
Description
0 Emergency emerg panic
System is unusable.
A panic condition.
1 Alert alert Action must be taken immediately.A condition
4. that should be corrected immediately, such as a
corrupted system database.
2 Critical crit Critical conditions, such as hard device errors.
3 Error err error Error conditions.
4 Warning warning warn Warning conditions.
5 Notice notice
Normal but significant conditions.
Conditions that are not error conditions, but
that may require special handling.
6 Informational info Informational messages.
7 Debug debug
Debug-level messages.
Messages that contain information normally of
use only when debugging a program.
(14) SYSLOG SERVERS :
Syslog is a daemon that runs on every Linux/UNIX system to keep local logs. The -r
parameter (listen for remote systems) is what turns a system into a syslog server. There's one other
daemon that works with syslog to maintain the files called logrotated.
(A) SYSLOGD :
Syslog is a way for network devices to send event messages to a logging server – usually
known as a Syslog server. The Syslog protocol is supported by a wide range of devices and can be
used to log different types of events.
(B) RSYSLOG :
Rsyslog is the default logging program on several Linux distributions including Debian and
Red Hat based systems. Apart from implementing the syslog protocol, rsyslog adds additional
features such as content-based filtering.
(C) SYSLOG-NG :
syslog-ng is an open-source implementation of the syslog protocol for Unix and Unix-like ...
syslog-ng is available on a number of different Linux and Unix distributions.
DISK MANAGEMENT – PARTITIONS
(15) PARTITIONS :
Disk partitioning or disk slicing is the creation of one or more regions on a hard disk or
other secondary storage, so that an operating system can manage information in each region
separately. ... Each partition then appears in the operating system as a distinct "logical" disk that
uses part of the actual disk.
5. (16) PARTITION TABLES :
A Partition table is a 64-byte data structure that provides basic information for a computer's
operating system about the division of the hard disk drive (HDD) into primary partitions. A data
structure is an efficient way of organizing data. A partition is a division of a HDD into logically
independent sections.
(A) MBR (MASTER BOOT RECORD) :
The Master Boot Record (MBR) is the information in the first sector of any hard disk or
diskette that identifies how and where an operating system is located so that it can be boot (loaded)
into the computer's main storage or random access memory.
(B) GPT (GUID PARTITION TABLE) :
GPT fdisk (consisting of the gdisk, cgdisk, sgdisk, and fixparts programs) is a set of text-
mode partitioning tools for Linux, FreeBSD, Mac OS X, and Windows.
GPT AND MBR :
Master boot record (MBR) disks use the standard BIOS partition table. GUID partition
table (GPT) disks use unified extensible firmware interface (UEFI). One advantage of GPT disks
is that you can have more than four partitions on each disk. GPT is also required for disks larger
than 2 terabytes.
(17) MOUNT POINTS :
A mount point is a directory (typically an empty one) in the currently accessible filesystem
on which an additional filesystem is mounted (i.e., logically attached). A filesystem is a hierarchy
of directories (also referred to as a directory tree) that is used to organize files on a computer
system.
(A) / - “SLASH” (OR) ROOT OF THE DIRECTORY TREE :
In Linux and other Unix-like operating systems, a forward slash is used to represent the root
directory, which is the directory that is at the top of the directory hierarchy and that contains all
other directories and files on the system.
(18) FDISK, GDISK, PARTED :
(A) FDISK :
For computer file systems, fdisk is a command-line utility that provides disk partitioning
functions. In versions of the Windows NT operating system line from Windows 2000 onwards,
fdisk is replaced by more advanced tool called diskpart.
(B) GDISK :
GDisk is a DOS command-line utility, GDisk.exe, that includes all the features of FDisk
and additional features. Everything you can do with FDisk you can do with GDisk. Partitions that
are created with GDisk are indistinguishable from those that are created with Fdisk.
6. (C) PARTED :
Parted is a GNU utility, which is used to manipulate the hard disk partitions.Using parted,
you can add, delete, and edit partitions and the file systems located on those partitions. You can also
clone partitions.