On Apr 3, 2011, at 10:10 PM, ricardomos...@yahoo.com.br wrote: > Boa noite pessoal, > > Estou com uma duvida quanto ao processo de descoberta de hardware no momento > em que o kernel eh carregado para a memoria. > Duvidas: > 1) Digamos que o kernel que esta sendo carregado para a memoria eh o GENERIC. > Ele vai iniciar a descoberta de dispositivos (device.probing). Caso o meu > kernel generico nao esteja possua suporte para uma determinada placa de rede, > ele simplesmente nao vai mostrar a placa ou mesmo nao suportando a placa ele > mostraria a placa (na saida do comando dmesg) embora nao ligaria nenhum > device pra mesma assim como tambem nao carregaria o mudulo de controle pra > mesma? > Queria saber se a palavra nao suportar significa que ele nem mesmo mostra o > dispositivo na saida do dmesg ou ao menos mostra mas nao carrega o seu drive > (jah que ele nao suporta). > > 2) Sei que posso passar valores de variaveis (device.hints) com o comando > set.Sei tambem que posso devinir esses valores no "/boot/device.hints".Mas me > perco quando falam que o "/boot/loader.conf" pode ser usado para definir > variaveis. > Qual seria entao a grande diferenca entre os dois jah que eu posso definir > variaveis nos dois arquivos?
1) Depende de onde sua placa esta conectada. Existem vários tipos de bus para conexão de dispositivos, sendo que alguns fazem a auto numeração dos dispositivos no bus (PCI, PCIe, USB, ISA com PnP) enquanto em outros casos isso não é possível (geralmente dispositivos embarcados). Nesses casos (de bus auto numerado) você consegue listar os dispositivos no bus independente do kernel ter ou não um driver para o dispositivo (pciconf -lv, usbconfig [dump_device_desc|dump_info|show_ifdrv]). Quando um dispositivo esta em um bus sem auto numeração, a única forma do kernel saber que o dispositivo esta lá, no bus X, na irq Y e utilizando MMIO no endereço Z é através do arquivo de hints (ou mais recentemente através de FDT - somente disponível na plataforma ARM). 2) O arquivo de hints esta ligado ao kernel somente (como o próprio nome diz: device.hints) e não pode ser utilizado para setar o valor de 'sysctls'. A confusão vem do uso do bootloader do FreeBSD (/boot/loader), que fornece a interface para que você configure tanto device hints quanto variáveis de sistema (sysctls e parametros/argumentos para o kernel). Toda configuração feita em /boot/loader.conf é carregada pelo bootloader no momento do boot, que 'prepara o terreno' e carrega o kernel na memória (também é possível aproveitar e carregar módulos do kernel através do loader). Então o correto é fazer as configurações no /boot/loader.conf (e deixar o device.hints apenas para configuração de dispositivos que realmente não funcionam de outra forma). Att., Luiz ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd