initrd(4) | Device Drivers Manual | initrd(4) |
initrd - carregador de inicialização inicializado com disco RAM
O /dev/initrd é um dispositivo de bloco de leitura somente designado com o maior número de dispositivo 1 e o menor número de dispositivo 250. Tipicamente /dev/initrd é propriedade de root:disk com modo 0400 (acesso de leitura para o super usuário somente). Se o sistema Linux não tem /dev/initrd criado, ele pode ser criado com os seguintes comandos:
mknod -m 400 /dev/initrd b 1 250 chown root:disk /dev/initrd
Also, support for both "RAM disk" and "Initial RAM disk" (e.g., CONFIG_BLK_DEV_RAM=y and CONFIG_BLK_DEV_INITRD=y) must be compiled directly into the Linux kernel to use /dev/initrd. When using /dev/initrd, the RAM disk driver cannot be loaded as a module.
The special file /dev/initrd is a read-only block device. This device is a RAM disk that is initialized (e.g., loaded) by the boot loader before the kernel is started. The kernel then can use /dev/initrd's contents for a two-phase system boot-up.
Na primeira fase, o kernel inicia e monta um sistema de arquivos inicial a partir dos conteúdos de /dev/initrd (isto é, o disco de RAM inicializado pelo carregador de inicialização). Na segunda fase, controladores adicionais e outros módulos são carregados a partir do dispositivo de conteúdo do superusuário. Depois do carregamento dos módulos iniciais, um novo sistema de arquivos (isto é, o sistema de arquivos normal) é montado a partir de um dispositivo diferente.
Quando o carregamento inicia com initrd, o sistema inicia como segue:
As seguintes opções do carregador de inicialização quando usadas com initrd, afetam a operação de carregamento do kernel:
By default, the kernel's settings (e.g., set in the kernel file with rdev(8) or compiled into the kernel file), or the boot loader option setting is used for the normal root filesystems. For an NFS-mounted normal root filesystem, one has to use the nfs_root_name and nfs_root_addrs boot options to give the NFS settings. For more information on NFS-mounted root see the kernel documentation file Documentation/filesystems/nfs/nfsroot.txt (or Documentation/filesystems/nfsroot.txt before Linux 2.6.33). For more information on setting the root filesystem see also the LILO and LOADLIN documentation.
It is also possible for the /linuxrc executable to change the normal root device. For /linuxrc to change the normal root device, /proc must be mounted. After mounting /proc, /linuxrc changes the normal root device by writing into the proc files /proc/sys/kernel/real-root-dev, /proc/sys/kernel/nfs-root-name, and /proc/sys/kernel/nfs-root-addrs. For a physical root device, the root device is changed by having /linuxrc write the new root filesystem device number into /proc/sys/kernel/real-root-dev. For an NFS root filesystem, the root device is changed by having /linuxrc write the NFS setting into files /proc/sys/kernel/nfs-root-name and /proc/sys/kernel/nfs-root-addrs and then writing 0xff (e.g., the pseudo-NFS-device number) into file /proc/sys/kernel/real-root-dev. For example, the following shell command line would change the normal root device to /dev/hdb1:
echo 0x365 >/proc/sys/kernel/real-root-dev
Um exemplo NSF, a seguinte linha de comando do interpretador de comando alteraria o dispositivo raiz normal parapara um diretório NSF /var/nfsroot na rede local com número IP 193.8.232.7 para um sistema com número IP 193.8.232.2 e chamado de 'idefix':
echo /var/nfsroot >/proc/sys/kernel/nfs-root-name echo 193.8.232.2:193.8.232.7::255.255.255.0:idefix \
>/proc/sys/kernel/nfs-root-addrs echo 255 >/proc/sys/kernel/real-root-dev
Note: The use of /proc/sys/kernel/real-root-dev to change the root filesystem is obsolete. See the Linux kernel source file Documentation/admin-guide/initrd.rst (or Documentation/initrd.txt before Linux 4.10) as well as pivot_root(2) and pivot_root(8) for information on the modern method of changing the root filesystem.
A motivação principal para implementação de initrd é para permitir uma configuração modular do kernel na isntalação do sistema.
Um cenário possível de instalação do sistema é o seguinte:
A função de chave de /dev/initrd no citado acima é para o re-uso dos dados de configuração durante a operação normal do sistema sem a requisição inicial no seleção do kernel, um kernel genérico longo ou, um kernel recompilado.
Um segundo cenário é para instalações onde o Linux é executado sobre sistemas com diferentes configurações de hardware em uma simples rede administrativa. Em casos semelhantes, pode ser desejável usar somente um pequeno conjunto de kerneis (idealmente somente um) e por economia o sistema especifico parte de informações de configurações como pequena como possível. Neste caso, cria um arquivo comum com todos os módulos necessários. Então, somente o arquivo /linuxrc para um arquivo executado por /linuxrc pode ser diferente.
Um terçeiro cenário é mais conveniente para disco de recuperação. Por causa de informações como a localização da partição do sistema de arquivo raiz não ser necessária em tempo de cargo, o sistema pode ser carregado a partir de /dev/initrd que pode usar um diálogo e/ou auto detecção seguida por uma possível controle de sanidade.
Por último mas não menos importante, as distribuições Linux em CD-ROM podem usar initrd para instalação facilitada a partir do CD-ROM. A distribuição pode usar LOADLIN para carga diretamentente /dev/initrd a partir do CD-ROM sem o uso de qualquer disquete. A distribuição pode também usar um disquete de inicialização LILO e então um grande disco RAM via /dev/initrd a partir do CD-ROM.
/dev/initrd
/dev/ram0
/linuxrc
/initrd
chown(1), mknod(1), ram(4), freeramdisk(8), rdev(8)
Documentation/admin-guide/initrd.rst (or Documentation/initrd.txt before Linux 4.10) in the Linux kernel source tree, the LILO documentation, the LOADLIN documentation, the SYSLINUX documentation
A tradução para português brasileiro desta página man foi criada por André Luiz Fassone <lonely_wolf@ig.com.br> e Carlos Augusto Horylka <horylka@conectiva.com.br>
Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.
Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.
5 fevereiro 2023 | Linux man-pages 6.03 |