O que é o proc no Grub?

0

Eu estava jogando com o Grub em sua linha de comando, notei algo que pegou minha intenção, listei os dispositivos através do comando ls do Grub e notei que existe um dispositivo virtual chamado (proc):

grub> ls 
(proc) (hd0) (hd0, msdos1)

O aspecto interessante do dispositivo (proc) é que ele contém um kernel Linux compactado e sua estrutura é semelhante ao diretório raiz,

(grub)> ls (proc) / 
Device proc: Filesystem type procfs - Sector size 512B - Total size 0Kid
lost+found/ swapfile etc/ bin/ boot/ dev/ home/ lib/ lib64/ mnt/ opt/
vmlinuz initrd.img
--snip-- 

Eu concluo que (proc) é um sistema de arquivos na memória onde o Grub monta seu próprio sistema de arquivos raiz, parece-me que o grub também usa o sistema de arquivos proc normalmente encontrado no kernel Linux como seu sistema de arquivos raiz. O que é o (proc) device no Grub e por que ele está lá?

    
por direprobs 28.08.2017 / 17:44

1 resposta

0

Não, o bootloader do Grub 2 não é um kernel Linux personalizado. Ele tem sua própria base de código e você pode ler mais sobre o Grub 2 em este artigo da Wikipédia.

Por que então usa uma pasta proc? Resposta: O sistema de arquivos procfs não é específico para o Linux. Abordagens semelhantes são usadas no BSD e em outros SOs que são compatíveis com POSIX (leia aqui ).

O Grub 2 é algo que precisa gerenciar recursos como dispositivos de disco (para carregar kernels), entradas de mouse e teclado. Ele precisa ler e entender diferentes formatos de arquivo (como o formato ELF) e executar processos de descompactação para o kernel do Linux, por exemplo.

É por isso que o Grub 2 em sua funcionalidade é um subconjunto do que chamamos de sistema operacional (não se engane: é não na verdade um sistema operacional) e os desenvolvedores talvez decidam usar tal procfs para gerenciar as coisas.

Editar:

Observe que o comando do Grub ls / não fornece o conteúdo da pasta raiz do sistema de arquivos na memória do Grub. Dentro do shell Grub da minha máquina Ubuntu, ele simplesmente fornece o conteúdo do diretório raiz da minha unidade de inicialização principal. Isso significa que o arquivo linuz que você mencionou acima é simplesmente o kernel que o grub irá inicializar ...

    
por 28.08.2017 / 18:17