From Power ON: How Computer Boots To OS With GNU/Linux

I decided to write for anyone interested in learning how everything works under the hood on their machine, I started getting interested in Operating Systems and Kernel when I got my internship role as a System Admin.

I have the privilege to work under a great manager and who became my mentor, who gave me the ability to carve my path on my own, So I have lots of time and resources to build my career as a System Software Engineer most preferably interested in SRE or Kernel Engineering.

Pressing The Power ON Button On Your Computer: The BIOS

When you Press the Power ON button,The Central Processing Unit (CPU) automatically started loading the Basic Input/Output System (BIOS) which a Firmware that provides low-level access to the underlying hardware, The BIOS performs diagnose test like Power On Self Test (POST). Which performs Self-Test on the machine, Have you notice when you remove A RAM, It shows a black screen or some beep sounds.

Handing Over To Bootloader

After everything it’s done, It then handed it over to Bootable Devices, I think you should have encounter when you’re trying to configure your Boot Options either to boot from Harddisk or USB and other types, Yeah, Then it will take a look for the Bootloader and the bootloader for GNU/Linux is called GNU Grub (Grand Unified Bootloader) known as GRUB, then start executing its own instruction looking for the kernel and the kernel we know is called Linux. From the technical part you’ve to start looking at the stages and partitions type and so on.

Handing Over To Linux Kernel To Init or SystemD

Then the kernel start executing it’s own instruction, I would write about kernel in my next article the types and so on. It start performing it test and task like checking for storage issues with your file systems and other things like starting daemon and startup scripts, then creating the first user process called init to takeover which determines the default Run Level of the user.

What Is RunLevel? Runlevel defines the states of the machine after boot, Different runlevels are assigned depending which have about 6 states from 0 0–5, You can take a look at the different runlevel states in Linux and Unix like — Run Level Wikipedia.

Note: I didn’t want to go too technical on this, But hopefully I will have some time writing more indepths on related articles.

Posted by Shehu Awwal

DevOps Engineer, Interests around Kubernetes, Infrastructure, Security & Automation.

Leave a Reply

Your email address will not be published. Required fields are marked *