Sim. Atualmente o FreeBSD tem suporte para arquiteturas Intel x86 e DEC (agora
Compaq) Alpha. Também existe um interesse conhecido no port FreeBSD para plataforma SPARC. Caso exista interesse em
participar desse projeto ou saber mais informações sobre port para esta arquitetura, queira juntar-se à lista de
discussão do lista de discussão do port
FreeBSD para plataforma SPARC [English Content/Conteúdo em Inglês] <freebsd-sparc@FreeBSD.org>
. As
plataformas IA-64 e Power-PC foram recentemente adicionadas à lista de
arquiteturas que serão futuramente suportadas; entre na lista do lista de
discussão do port FreeBSD para plataforma IA64
[English Content/Conteúdo em Inglês] <freebsd-ia64@FreeBSD.org>
e/ou
lista de discussão do port FreeBSD para plataforma
PowerPC [English Content/Conteúdo em Inglês] <freebsd-ppc@FreeBSD.org>
para mais
informações sobre tais arquiteturas. Para discussões gerais sobre
outras arquiteturas, entre na lista de discussão lista de discussão do port FreeBSD para plataformas não-Intel [English
Content/Conteúdo em Inglês] <freebsd-platforms@FreeBSD.org>
.
Caso seu computador seja de uma arquitetura não suportada pelo FreeBSD e precise de uma solução imediata, nós sugerimos uma olhada no NetBSD ou OpenBSD.
4.2. Preciso adquirir um novo hardware para um sistema com FreeBSD. Qual o melhor modelo/marca/tipo?
Essa é uma discussão tradicional nas listas do FreeBSD. Partindo do princípio que os tipos de equipamentos e suas características alteram-se de forma muita rápida, e que nós tentamos suportar essas mudanças e torná-las suportadas, é fortemente recomendado que você sempre leia as Notas de Hardware e faça uma busca nos histórico das listas de discussão antes de perguntar sobre os melhores e mais novos equipamentos disponíveis. É muito provável que as informações que você quer sobre determinado equipamento tenham sido discutidas há menos de uma semana.
Caso você esteja procurando informações sobre laptops, verifique o histórico da lista FreeBSD-mobile. Do contrário, o histórico da FreeBSD-questions será o mais indicado, ou de alguma lista específica sobre o tipo de hardware em questão.
O FreeBSD suporta discos EIDE e SCSI (com alguma controladora compatível; veja a próxima pergunta) e todos os outros discos que usam a interface de controle original da “Western Digital” (MFM, RLL, ESDI, e é claro IDE). Algumas controladoras ESDI que usam interfaces de controle proprietária não funcionarão no FreeBSD: mude para controladoras do tipo WD1002/3/6/7 ou algum clone dessa interface.
Veja a lista completa de equipamentos suportados nas Notas de Hardware atuais.
Quaisquer drives SCSI ligados à controladoras suportadas são controladas pelo FreeBSD.
As seguintes interfaces proprietárias de CDROM também são suportadas:
Mitsumi LU002 (8bits), LU005 (16bits) e FX001D (16bits velocidade 2x (2x Speed)).
Sony CDU 31/33A.
CDROM Sound Blaster não-SCSI.
CDROM Matsushita/Panasonic.
CDROMs IDE compatíveis com o padrão ATAPI.
Todo equipamento não-SCSI é reconhecidamente mais lento do que os SCSI, e alguns drives de CDROM ATAPI podem não funcionar corretamente.
A partir da versão 2.2, todos os CDROM do FreeBSD distribuídos pela FreeBSD Mall podem ser iniciados (booting) diretamente pela unidade de CD.
O FreeBSD suporta qualquer tipo de unidade CD-RW ou CD-R IDE compatíveis com o padrão ATAPI. No FreeBSD 4.0 e posteriores, leia a página de manual do burncd(8).Em versões anteriores, veja os exemplos de utilização desses equipamentos em /usr/share/examples/atapi.
O FreeBSD também suporta qualquer drive de CD-R ou CD-RW do tipo SCSI. Instale o aplicativo cdrecord a partir da coleção de ports ou como pacote, e tenha certeza de ter o device pass compilado no seu kernel.
O FreeBSD suporta ZIP Drives do tipo SCSI, é claro. Essa unidade deve ser configurada apenas nos SCSI ID números 5 ou 6, mas se a sua BIOS tem suporte à inicializãço(boot) pela unidade SCSI, essa característica pode ser usada sem problemas. Não está claro exatamente quais adaptadores SCSI suportam a característica de inicializãço(boot) em IDs diferentes de 0 ou 1, portanto será necessário consultar o manual do seu equipamento para obter informações mais precisas sobre esse recurso.
Os ZIP Drives padrão ATAPI (IDE) são suportados pelo FreeBSD desde a versão 2.2.6 e em todas as posteriores.
O FreeBSD tem suporte ainda a ZIP Drives de Porta Paralela desde a versão 3.0. Caso seu sistema seja dessa versão ou superior, verifique o suporte a scbus0, da0, ppbus0, vp0 no seu kernel (o kernel GENERIC tem todos esses suportes, exceto à device vp0). Com esses suportes presentes no kernel, o drive de Porta Paralela deve estar disponível em /dev/da0s4. Os discos ZIP podem ser montados usando o comando mount /dev/da0s4 /mnt OU (discos formatados como DOS) mount_msdos /dev/da0s4 /mnt, como é de costume.
Verifique também o FAQ sobre discos removíveis disponível ainda nesse capítulo, e as notas sobre “formatação” no capítulo de Administração.
Fora a versão IDE dos discos EZ, os outros discos são todos do tipo SCSI, e portanto devem todos ser reconhecidos como discos SCSI no FreeBSD. O drive EZ tipo IDE deve ser reconhecido como disco IDE.
Não há uma certeza quanto à forma que o FreeBSD trata uma alteração de mídia enquanto o sistema está em pleno uso, então é necessário desmontar a unidade antes de trocar de disco e garantir que qualquer unidade externa esteja ligada quando o sistema for bootado, de forma que o FreeBSD possa reconhecê-las.
Veja essa nota sobre “formatação”.
Existe uma lista dessas unidades na seção de Dispositivos Diversos do Manual do FreeBSD.
Alguns dispositivos clones parecem também funcionar normalmente no sistema, em especial equipamentos que se dizem ser AST compatíveis.
Verifique a página de manual do sio(4) para obter mais informações quanto à configuração desses dispositivos.
O suporte a dispositivos USB foi adicionado no FreeBSD desde a versão 3.1. Contudo, na versão 3.1, o suporte ainda é muito preliminar, e alguns equipamentos podem não funcionar antes da versão 3.2. Caso você queira usar o suporte a teclados USB, tente o seguinte.
No FreeBSD 3.2 ou posterior.
Adicione as seguintes linhas no arquivo de configuração do seu kernel, e recompile-o.
device uhci device ohci device usb device ukbd options KBD_INSTALL_CDEV
Em versões anteriores à 4.0, use:
controller uhci0 controller ohci0 controller usb0 controller ukbd0 options KBD_INSTALL_CDEV
No diretório /dev, crie os seguintes devices:
# cd /dev # ./MAKEDEV kbd0 kbd1
Edite o /etc/rc.conf e adicione as seguintes linhas:
usbd_enable="YES" usbd_flags=""
Depois de reiniciado(rebooting) o sistema, o teclado AT aparece como /dev/kbd0i e o teclado USB aparece como /dev/kbd1 , se ambos estiverem conectados ao sistema. Se estiver somente o teclado USB, ele estará como /dev/ukbd0.
Caso queira usar o teclado USB no console, é necessário informar explicitamente ao driver do console que ele deve usar esse teclado. Isso pode ser feito com o seguinte comando em tempo de inicialização do sistema:
# kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null
Note que se o teclado USB for o único teclado disponível, ele será acessado via /dev/kbd0, portanto a linha de comando deve-se parecer com:
# kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null
O arquivo /etc/rc.i386 é um bom lugar para colocar o comando acima.
Depois de configurado, o teclado USB deve funcionar também no ambiente X, sem nenhuma outra configuração especial.
Conectar e desconectar o teclado USB com o sistema ligado ainda não é um comportamento completamente suportado, portando é aconselhável ligar o teclado antes de iniciar o sistema e apenas desligá-lo depois que o computador estiver desligado, para evitar possíveis problemas.
Veja a página de manual do ukbd(4) para maiores informações.
O FreeBSD suporta o barramento de mouse tradicional do tipo InPort fabricados pela Microsoft, Logitech e ATI. O suporte a esse periférico é compilado por padrão no kernel GENERIC do FreeBSD na versão 2.X, mas não é suportado por padrão na versão 3.0 e posteriores. Se você quer recompilar um kernel com suporte ao barramento de mouse, adicionando a linha ao seu arquivo de configuração:
No FreeBSD 3.0 e anteriores, adicione:
device mse0 at isa? port 0x23c tty irq5 vector mseintr
Na série 3.X do FreeBSD, a linha deve ser:
device mse0 at isa? port 0x23c tty irq5
E na série 4.X e posteriores, a linha deve ser:
device mse0 at isa? port 0x23c irq5
Barramentos de mouse costumam ter uma interface dedicada que permite definir o endereço de memória e a IRQ que a placa vai funcionar. Nesse caso, refira-se ao manual do seu equipamento e à página de manual do mse(4) para maiores informações.
Em versões posteriores ao 2.2.5, o kernel do FreeBSD inclui por padrão o suporte ao device psm, que controlará seu mouse PS/2 desde o momento de inicialização do sistema.
Caso seu FreeBSD seja 2.1.X ou similar, o suporte a PS/2 pode ser incluído no
kernel, no momento da instalação, ou mesmo
depois desse processo, com a opção -c
na tela
de boot: do sistema. O suporte nesse caso é desabilitado
por padrão e por isso deve ser explicitamente habilitado.
Caso sua versão de FreeBSD seja antiga, adicione a seguinte linha ao seu kernel e recompile-o:
No FreeBSD 3.0 e anteriores, a linha é:
device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
No FreeBSD 3.1 e posteriores da mesma série, a linha deve ser:
device psm0 at isa? tty irq 12
No FreeBSD 4.0 e posteriores, a linha é:
device psm0 at atkbdc? irq 12
Veja a seção de configuração do kernel no Manual do FreeBSD caso você não tenha experiência com a compilação do kernel.
Uma vez detectado o psm0 durante a inicialização (boot) do seu sistema, tenha certeza de que existe uma entrada psm0 no /dev. Faça o seguinte:
# cd /dev; sh MAKEDEV psm0
logado como usuário root.
Se estiver utilizando o driver padrão de console, o syscons, pode-se usar o mouse para copiar & colar texto. Execute o mouse daemon, moused, para habilitar o mouse nos consoles virtuais da seguinte forma:
# moused -p /dev/xxxx -t yyyy # vidcontrol -m on
Onde xxxx deve ser substituído pelo nome de device do seu mouse e yyyy pelo tipo de protocolo do mesmo. Veja a página de manual do moused(8) para maiores informações quanto aos tipos de protocolos suportados.
É provável que você queira usar o mouse daemon automaticamente, sempre que o FreeBSD for iniciado. Na versão 2.2.1, defina as seguintes variáveis, no arquivo /etc/sysconfig.
mousedtype="yyyy" mousedport="xxxx" mousedflags=""
Da versão 2.2.2 até a 3.0, defina as seguintes variáveis no /etc/rc.conf.
moused_type="yyyy" moused_port="xxxx" moused_flags=""
Da versão 3.1 em diante, caso você tenha um mouse PS/2 é necessário apenas adicionar a opção moused_enable="YES" no arquivo /etc/rc.conf.
E se a intenção é usar o mouse em todos os terminais virtuais ao invés de apenas no console, insira a seguinte linha no /etc/rc.conf.
allscreens_flags="-m on"
Desde a versão 2.2.6 do FreeBSD, o mouse daemon é capaz de detectar o tipo de protocolo do mouse automaticamente, a não ser que o dispositivo em questão seja um mouse serial muito velho. Defina auto para que o programa identifique o protocolo do mouse automaticamente.
Quando o daemon está rodando, o acesso ao dispositivo deve ser coordenado entre ele e qualquer outra aplicação, como o X-Windows, por exemplo. Leia uma outra pergunta sobre esse assunto.
Uma vez configurado o mouse (veja a pergunta anterior), aperte o botão 1 (botão esquerdo) do mouse e mova o cursor por toda a região desejada, selecionando o texto em questão. Depois, basta apertar o botão 2 (do meio) ou o botão 3 (direito) para colar o conteúdo selecionado anteriormente.
A partir da versão 2.2.6 o botão 2 cola o texto copiado, enquanto o botão 3 ``extende'' a região selecionada. Caso seu mouse não tenha o botão do meio, é possível remapear (ou emular) os botões do periférico usando algumas opções específicas do mouse daemon. Veja a página de manual do moused(8) para maiores detalhes.
No FreeBSD 3.1 existe um suporte preliminar à recursos USB que não funciona muito bem dependendo da situação. A partir da versão 4.0 o FreeBSD suporta dispositivos USB por padrão. Caso queira usar um mouse USB no FreeBSD 3.X, siga as seguintes instruções.
Atualize seu sistema para FreeBSD 3.2 ou posterior.
Adicione o seguinte suporte ao seu kernel, e recompile-o:
device uhci device ohci device usb device ums
Em versões anteriores à 4.0 o suporte à ser adicionado é:
controller uhci0 controller ohci0 controller usb0 device ums0
Entre no diretório /dev e crie os devices necessários:
# cd /dev # ./MAKEDEV ums0
Edite o /etc/rc.conf e adicione as linhas:
moused_enable="YES" moused_type="auto" moused_port="/dev/ums0" moused_flags="" usbd_enable="YES" usbd_flags=""
Veja a seção anterior para uma discussão mais detalhada sobre o moused.
Para configurar o mouse USB no X, edite o XF86Config e, caso esteja usando o XFree86 3.3.2 ou posterior, adicione as seguintes linhas na seção Pointer:
Device "/dev/sysmouse" Protocol "Auto"
Caso esteja usando uma versão anterior do Xfree86, adicione também na seção Pointer as seguintes linhas:
Device "/dev/sysmouse" Protocol "SysMouse"
Leia também uma outra pergunta sobre o uso do mouse em ambiente X.
Conectar e desconectar o teclado USB com o sistema ligado ainda não é um comportamento completamente suportado, portando é aconselhável ligar o teclado antes de iniciar o sistema e apenas desligá-lo depois que o computador estiver desligado, para evitar possíveis problemas.
A resposta, infelizmente é, “Depende”. Esse tipo de mouse tem algumas características especiais que requerem o uso de drivers especiais na maioria dos casos. A não ser que o device do seu mouse tenha suporte específico, ou se a aplicação em questão reconhecer esse tipo de equipamento, ele irá funcionar simplesmente como um mouse tradicional de dois ou três botões.
Mais informações sobre o uso de mouse do tipo Wheel em ambiente X Windows, refira-se a essa seção.
O suporte ao mouse PS/2 no FreeBSD 3.2 e anteriores é falho quanto a mouses do tipo Wheel, incluindo o modelo M-S48 da Logitech e seus similares OEM. Aplique o seguinte patch no arquivo /sys/i386/isa/psm.c e recompile seu kernel:
Index: psm.c =================================================================== RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v retrieving revision 1.60.2.1 retrieving revision 1.60.2.2 diff -u -r1.60.2.1 -r1.60.2.2 --- psm.c 1999/06/03 12:41:13 1.60.2.1 +++ psm.c 1999/07/12 13:40:52 1.60.2.2 @@ -959,14 +959,28 @@ sc->mode.packetsize = vendortype[i].packetsize; /* set mouse parameters */ +#if 0 + /* + * A version of Logitech FirstMouse+ won't report wheel movement, + * if SET_DEFAULTS is sent... Don't use this command. + * This fix was found by Takashi Nishida. + */ i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS); if (verbose >= 2) printf("psm%d: SET_DEFAULTS return code:%04x\n", unit, i); +#endif if (sc->config & PSM_CONFIG_RESOLUTION) { sc->mode.resolution = set_mouse_resolution(sc->kbdc, - (sc->config & PSM_CONFIG_RESOLUTION) - 1); + (sc->config & PSM_CONFIG_RESOLUTION) - 1); + } else if (sc->mode.resolution >= 0) { + sc->mode.resolution + = set_mouse_resolution(sc->kbdc, sc->dflt_mode.resolution); + } + if (sc->mode.rate > 0) { + sc->mode.rate = set_mouse_sampling_rate(sc->kbdc, sc->dflt_mode.rate); } + set_mouse_scaling(sc->kbdc, 1); /* request a data packet and extract sync. bits */ if (get_mouse_status(sc->kbdc, stat, 1, 3) < 3) {
Em versões posteriores à 3.2, o suporte deve funcionar.
Por gentileza, leia a pergunta anterior. Verifique também a página de Computação Móvel do Projeto.
O FreeBSD suporta dispositivos de fitas do tipo SCSI e QIC-36 (com interface QIC-02). Tal suporte inclui drives 8-mm (também conhecidos como Exabyte) e unidades de fita DAT.
Alguns dispositivos 8-mm mais antigos não são compatíveis com o padrão SCSI-2 e por isso podem não funcionar bem no FreeBSD.
O FreeBSD suporta alternadores (também conhecidos com carrosséis) SCSI, usando o device ch(4) e o comando chio(1). Os detalhes relativos a como controlar o alternador de fitas podem ser encontrados na página de manual do chio(1).
Caso você não esteja usando o AMANDA ou qualquer outro produto que entenda o funcionamento dos alternadores, lembre-se que tal equipamento simplesmente alterna a posição da fita, de um compartimento para outro, e portanto deve-se saber em qual compartimento a fita está e para qual ela deve voltar.
O FreeBSD suporta as placas SoundBlaster, SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16, AdLib e Gravis UltraSound. Existe ainda um suporte - limitado, é verdade - para as placas MPU-401 e placas MIDI compatíveis. Placas de som que estiverem em conformidade com a especificação MSS (Microsoft Sound System) também são suportadas pela controladora pcm do kernel.
Nota: Esse suporte é específico para apenas som! Exceto no caso das placas SoundBlaster, o suporte não inclui controle de joysticks, CDROMs ou SCSI. A interface SCSI da SoundBlaster e alguns CDROMs não-SCSI são suportados, mas o sistema não pode iniciar(booting) a partir desses dispositivos.
Basta aumentar o volume do seu som ;-) Use os seguintes comandos, sempre que o sistema iniciar:
# mixer pcm 100 vol 100 cd 100
Veja a seção de Placas Ethernet do Manual do FreeBSD para uma lista detalhada dos dispostivos suportados.
Nota: Vale apenas para proprietários de 386/486SX/486SLC - outras máquinas terão um co-processador integrado à CPU.
No geral, a falta de um co-processador matemático não traz nenhum problema, mas existem algumas circunstâncias onde você encontrará sérias limitações, seja no desempenho ou na precisão da emulação dos seus cálculos (veja a seção de emulação FP). Por exemplo, a renderização de círculos e arcos no ambiente gráfico será uma tarefa muito lenta. É recomendável comprar um co-processador matemático; vale a pena.
Nota: Alguns co-processadores matemáticos são melhores que outros. É estranho ter que dizer isso, mas ninguém nunca se deu mal ao comprar co-processadores Intel, portanto tenha certeza absoluta que o produto vai funcionar com o FreeBSD antes de comprar um clone.
Veja o Manual do FreeBSD para obter uma listagem dos outros dispostivos suportados.
O FreeBSD suporta APM em alguns computadores. Por gentileza, refira-se ao arquivo LINT de configuração do kernel; procure pela palavra APM. Mais informações na página de manual do apm(4).
Algumas placas-mãe Micron não tem conformidade na implementação de sua BIOS e por isso confundem o FreeBSD no momento da inicialização(boot), pois os equipamentos em questão não foram configurados nos endereços que a BIOS reportou.
Procure a opção “Plug and Play Operating System” - ou algo parecido - na sua BIOS e desabilite-a para corrigir o problema. Mais informações sobre esse problema podem ser encontradas em http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron.
As séries mais novas (AIC789x) dos chips Adaptec tem suporte no modo CAM SCSI, que será redefinido na versão 3.0 do FreeBSD. Na versão 2.2-STABLE, você pode aplicar as correções disponíveis em ftp://ftp.FreeBSD.org/pub/FreeBSD/development/cam/. Caso você precise instalar um sistema com essas controladoras, existe um disquete de inicialização(boot) com suporta a CAM, disponível em http://people.FreeBSD.org/~abial/cam-boot/. Nos dois casos leia o arquivo README antes de tomar qualquer ação.
Será necessário adicionar o ID PnP do modem na lista de drivers seriais do sistema para que ele reconheça-o normalmente. Isso requer hackear um pouco o sistema. Pra habilitar o suporte Plug & Play, compile um novo kernel com a opção controller pnp0 e reinicie o seu FreeBSD. O kernel irá mostrar os IDs PnP de todos os dispositivos que ele encontrar, no momento da inicialização(boot). Copie o ID PnP do modem em questão para a tabela no arquivo /sys/i386/isa/sio.c, por volta da linha 2777. Procure a expressão SUP1310 na estrutura siopnp_ids[] para encontrar essa tabela. Recompile o seu kernel, instale-o e reinicie o sistema. Seu modem deve ser encontrado.
Provavelmente será necessário configurar o dispositivo PnP manualmente, usando o comando pnp no momento do boot, como a seguir:
pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8
para forçar detecção do modem.
O FreeBSD suporta alguns software modems por meio de programas adicionais. A aplicação comms/ltmdm disponível na coleção de Ports do FreeBSD suporta os modems baseados no popular chipset Lucent LT. A aplicação comms/mwavem suporta o modem em laptops IBM Thinkpad 600 e 700.
Não é possível instalar o FreeBSD via software modem, visto que os programas adicionais para controlar esse equipamento só podem ser configurados depois que o sistema operacional já está instalado.
Construa um kernel com a opção options COMCONSOLE.
Crie o arquivo /boot.config e coloque os caracteres -P
como o único texto no arquivo.
Desligue o teclado do computador.
Leia o arquivo /usr/src/sys/i386/boot/biosboot/README.serial para mais informações.
Algumas placas-mãe Micron não tem conformidade na implementação de sua BIOS e por isso confundem o FreeBSD no momento do boot, pois os equipamentos em questão não foram configurados nos endereços que a BIOS reportou.
Procure a opção “Plug and Play Operating System” - ou algo parecido - na sua BIOS e desabilite-a para corrigir o problema.
Mais informações sobre esse problema podem ser encontradas em http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron
SMP é suportado a partir do FreeBSD 3.0-STABLE. O suporte ao SMP (multiprocessamento simétrico) não está disponível por padrão no kernel GENERIC, portanto é necessário compilar um novo kernel para habilitar o suporte SMP. Veja o arquivo /sys/i386/conf/LINT para descobrir quais opções são necessárias adicionar ao seu kernel.
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.