Eu divido isso em 3 fases distintas. Firmware, onde você fica sabendo sobre o hardware, o Kernel, que recebe informações fornecidas pelo firmware e as utiliza para localizar e carregar drivers, módulos, levando à fase do sistema operacional, que inclui todas as etapas necessárias para levá-lo até um conjunto totalmente funcional de SO e aplicativo capaz de fornecer serviços especificados.
1) firmware
- x86 / 64: o BIOS carrega, configura dispositivos, seleciona o dispositivo de inicialização (net / disk / cd / usb)
- SPARC: nvram carrega o OpenBoot, configura dispositivos, seleciona o dispositivo de inicialização (net / disk / cd / usb)
2) kernel
- se a mídia de inicialização for net, há uma etapa preliminar aqui para a inicialização do RARP / bootp no SPARC ou para o DHCP no SPARC se os dispositivos de inicialização forem definidos explicitamente para usar o DHCP (por exemplo: boot net: dhcp). No lado x86 / 64, há também uma etapa preliminar que usa DHCP, em um processo conhecido como PXE. RARP / bootp não são opções com o PXE. Os métodos SPARC e x86_64 são usados para configurar endereços IP e recuperar informações sobre locais de kernel e mídia na rede.
- o kernel é carregado a partir da mídia de inicialização (net / disk / cd / usb)
3) OS
- carregamentos do kernel. Nesta fase, os fundamentos são configurados. O kernel de inicialização usa o arquivo de inicialização para carregar arquivos individuais até que ele tenha informações suficientes para montar os sistemas de arquivos locais, e as operações de acesso a arquivos são tratadas pelo driver apropriado.
- O SMF entra em ação aqui, pois o kernel inicializa o SO no marco de serviço inicial, que normalmente seria o marco de vários usuários, mas poderia ser o marco de usuário único se você estivesse inicializando no modo de usuário único. Esta parte da inicialização do sistema operacional carrega todos os serviços necessários para que o servidor funcione.
- Uma vez que o marco inicial é alcançado, os serviços adicionais (opcionais) são iniciados por meio do recurso SMF
svc.startd
. Você poderia pensar nisso como a "camada de aplicação" do processo de inicialização. É aqui que o SSH seria iniciado, ou o Apache, o Weblogic, o Sendmail ou qualquer outro aplicativo que você esteja usando. Estes são os serviços considerados necessários pelo Administrador, em vez daqueles exigidos pelo kernel, como no marcador anterior.
Isso pode não ser tão detalhado quanto você espera, mas deve servir como uma boa base para você começar. A Oracle e outras empresas têm documentos on-line que apresentam grande nível de detalhamento em partes individuais do processo de inicialização. Um bom começo pode ser Capítulo 7 Inicialização Baseada em SPARC e x86 , em seguida, uma pesquisa rápida no google por 'seqüência de inicialização do Solaris' encontrará documentos que você pode usar para comparar as sequências de inicialização de versões mais antigas do Solaris com a versão mais recente.