Sendo um administrador de sistema linux ou um mero usuário será sempre bom saber como é o processo de boot.
Firmware é um programa que, ao ligar o computador, faz um checkup do ambiente e faz um inventário dos hardwares conectados à placa mãe. Esse firmware, a depender da configuração da máquina, poderá ser a BIOS ou UEFI
BIOS: Basic Input/Output System ou Sistema básico de entrada e saída.
UEFI: Intel’s Unified Extended Firmware Interface ou algo do tipo Interface de Firmware Unificada Extendida da Intel Obs.: essa tradução para o português comeu meu celebro 😮
O firmware(UEFI ou BIOS) procura por um drive(HD, pen drive etc..) que tenha uma MBR(master boot record). o MBR está localizado nos primeiros 512 bytes do disco. O MBR deverá conter uma partição e informações sobre o sistema de arquivos.
Essas informações dizem à BIOS que este drive/disco é de inicialização e nele pode ser encontrado um sistema de arquivos que pode ser montado.
Quer saber mais sobre sistema de arquivos? clique no link: https://gnulinuxbrasil.com.br/2017/06/09/fat32-ext-ext2-ext3-ext4-btrfs-qual-sistema-de-arquivos-escolher/
Abaixo, a imagem ilustra o processo de boot
GRUB(GRand Unified BootLoader) tem como função principal carregar(load) o kernel.
No setor do disco, MBR, há um arquivo de 512 bytes chamado boot.img. também existem um outro arquivo maior chamado de core.img.
Quando o boot.img carrega o core.img acontece o que chamamos Estágio 1 do GRUB.
O core.img irá carregar o kernel e a esse estágio chamamos de Estágio 1.5 do GRUB.
Chamamos de Estágio 2 do GRUB a inicialização de algumas imagens que estão dentro de /boot/grub.
Ainda no Estágio 2, o tmpfs(um sistema de arquivo temporário) será montado direto da memória RAM, isso é, não será utilizado um bloco(partições de um HD, pen drive…) ao invés, será utilizada uma parte da memória RAM.
Depois do Estágio 2 você será capaz de usar o sistema.
Se executarmos um df -h veremos os tmpfs(tmp = temporário / fs = filesystem):
[elder@centos ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 46G 3.9G 43G 9% / devtmpfs 362M 0 362M 0% /dev tmpfs 371M 0 371M 0% /dev/shm tmpfs 371M 5.1M 366M 2% /run tmpfs 371M 0 371M 0% /sys/fs/cgroup /dev/sdd1 199M 2.5M 197M 2% /media/ntfs /dev/sda1 497M 122M 376M 25% /boot tmpfs 75M 0 75M 0% /run/user/1000
Continuado com a imagem acima, quer dizer abaixo(estava acima, mas agora vou inserir ela abaixo), veremos que o GRUB inicia o KERNEL; nesse caso, e obviamente, o kernel é o LINUX.
Quer saber mais sobre o GRUB, clique nesse link e acesse um artigo postado por
O GRUB Inicia o INIT, que em muitos modernos casos será o systemd, e o init inicia os demais processos de acordo com o run level especificado.
O systemd é o processo considerado o pai de todos os processos, um Mister Catra da vida.
Execute um pstree e verá que o systemd é o primeiro processo da lista e ele gera os demais processos
[elder@centos ~]$ sudo pstree systemd─┬─agetty ├─atd ├─auditd─┬─audispd─┬─sedispatch │ │ └─{audispd} │ └─{auditd} ├─crond ├─cupsd ├─dbus-daemon───{dbus-daemon} ├─dnsmasq───dnsmasq ├─gssproxy───5*[{gssproxy}] ├─httpd───5*[httpd] ├─ksmtuned───sleep ├─libvirtd───15*[{libvirtd}] ├─lvmetad ├─master─┬─pickup │ └─qmgr ├─mount.ntfs ├─polkitd───5*[{polkitd}] ├─rsyslogd───2*[{rsyslogd}] ├─sshd───sshd───sshd───bash───sudo───pstree ├─systemd-journal ├─systemd-logind ├─systemd-udevd └─tuned───4*[{tuned}]
Bom , agora seu Linux iniciou, então bom proveito, bom uso.
Siga-nos em nossas redes:
Link Facebook: https://www.facebook.com/gnulinuxbr
Poxa, que artigo legal Elder.
Parabéns pelo trabalho e dedicação.
Abs