[FUG-BR] Experiência com o FreeBSD 8

Luiz Otavio O Souza lists.br em gmail.com
Quinta Fevereiro 18 12:31:15 BRST 2010


On Feb 18, 2010, at 12:50 AM, Rafael Albuquerque wrote:

> 2010/2/17 Ari Arantes Filho <ari em dd.com.br>
> 
>> 1) no HP, sem CDROM, colocamos um DVD externo através de USB. O boot
>> foi normal, escolhemos o país, partições, etc... Na hora de dizer que
>> era para instalar através do CDROM, nada... Acusava sem CDROM. Sendo
>> que quando instalei o FreeBSD 7, a instalação foi feita com o mesmo
>> DVD externo USB. Tentei com teclado normal ao invés de USB também,
>> pensando que fosse algum conflito com 2 periféricos USB e nada...
>> Mesma coisa.
>> O que mudou no instalador? Pelo que percebi, apenas pede para digitar
>> a senha 2 vezes (confirmação de senha) para usuários extras (não
>> root), o que é excelente e diminui possíveis erros.
>> A solução foi instalar por FTP, que acabou sem muito rápido, pois
>> estava dentro do datacenter.
>> Rodei um csup, RELENG_8, make buildworld, make kernel, mergemaster e
>> reboot. A máquina subiu normalmente.
>> 
>> 
> Tive esse mesmo problema usando CDROM USB.
> Basta quando inicializar o instalador, dar control+c e escolher a opção
> restart.
> Isso ocorre porque é como se o instalador carregasse primeiro do que o CD
> USB é carregado (o modulo usb é um dos últimos e o CD, por ser USB, vem
> depois dele) então basta o "restart" pra funcionar belezinha. É estranho
> porque também nao lembro desse problema em versões anteriores, mas resolve

É isso mesmo, é um problema (conhecido) relacionado ao novo stack de USB do FreeBSD 8.

Em determinado momento o kernel inicia uma thread para o usb que será responsável por detectar e inicializar todos os dispositivos usb enquanto o kernel continua iniciando os outros devices do sistema.

Ao terminar sua parte, o kernel inicia o userland (chama o init(8)) que vai iniciar a instalação (ou montar o "/").

O problema acontece porque o kernel pode chegar a esse ponto antes do usb ter inicializado e detectado todos os dispositivos do bus (dispositivos debaixo de hubs, dispositivos com rotinas de inicialização/reset especificas e demoradas).

O mesmo problema também pode causar falhas em algumas maquinas/dispositivos que não vão bootar o freebsd a partir do USB. Provisoriamente existe uma correção incluída no patch ata-cam (google it) que adiciona um delay (configurado via sysctl) no kernel para aguardar a thread do usb terminar.

Att.,
Luiz


Mais detalhes sobre a lista de discussão freebsd