Por favor, explique a seqüência de inicialização do Solaris em detalhes

1

A mesma pergunta para o Linux aqui em descreve em detalhes o processo de inicialização de qualquer sistema linux , mas a ênfase no Solaris estilo das coisas. Eu estou preparando um documento detalhadamente mostrando a luz na seqüência de inicialização do Solaris, ao pressionar o botão Power-on no host para a aparência do prompt de login.

Seria ótimo se pudéssemos combinar e reunir as respostas corretas aqui em um único local de referência. Por favor, inclua todos os detalhes dignos de nota durante a inicialização. Uma vez que o documento esteja completo de todos os pontos, eu também colocarei os detalhes do documento aqui e atualizarei o link na questão.

Por favor, considere todos os cenários possíveis, como arrancar a partir do disco, arrancar a partir do USB, arrancar a partir da rede num cliente sem disco, onde o rootfs (/) está na rede.

    
por Nikhil Mulley 17.12.2011 / 11:08

2 respostas

2

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.

    
por 17.12.2011 / 13:25
2

Aqui está uma descrição da sequência de inicialização no x86:

  • poder em
  • BIOS faz auto-teste / inicialização de hardware
  • O usuário tem permissão para interromper o processo para alterar as configurações da BIOS e / ou selecionar o dispositivo a ser inicializado
  • Se o dispositivo de inicialização for NET, veja a resposta detalhada de Tim Kennedy.
  • Se o dispositivo de inicialização for DISK ou USB, carregue o MBR e execute o primeiro estágio do carregador de boot encontrado na mídia. Este sempre será o estágio 1 do GRUB, ao contrário do Linux, onde carregadores de inicialização alternativos podem ser usados. O estágio 1 do GRUB sabe onde o estágio 2 está localizado e o executa
  • Se o dispositivo de inicialização for uma mídia de CD / DVD, o estágio 2 do GRUB será diretamente carregado a partir dele
  • Selecione o menu a usar, especialmente com o ZFS, onde você pode ter mais de um deles com vários ambientes de inicialização.
  • Apresentar ao usuário um menu de inicialização que permite escolher entre a entrada padrão ou alternativas. Nesse estágio, o usuário também pode editar as entradas para, por exemplo, adicionar ou modificar as opções passadas para o kernel. Um CLI também está disponível lá.
  • Grub Carrega o kernel e está sendo substituído por ele
  • A partir daí, o que acontece é idêntico, independentemente da arquitetura (SPARC ou x86), e já está explicado na resposta de Tim.

Observe que a versão do GRUB usada pelo Solaris foi aprimorada para suportar a inicialização do ZFS.

    
por 17.12.2011 / 15:41