O formato geral do arquivo de configuração é bastante simples. Cada linha contém uma palavra-chave e mais algum argumento. Para simplificar, a maioria das linhas contém somente um argumento. Qualquer coisa que segue um # é considerado um comentário e é ignorado. As seguintes seções descrevem cada palavra-chave, geralmente na ordem que são listadas no GENERIC, embora algumas palavras-chaves relacionadas sejam agrupadas em uma única seção (tal como rede) mesmo que sejam descartados durante todo o arquivo GENERIC. Uma lista completa de opções mais detalhadas, a explicação de cada um dos dispositivos presentes no arquivo de configuração do kernel, estão disponíveis no arquivo LINT, localizado no mesmo diretório do GENERIC. Se você tiver na dúvida a respeito da necessidade de uma linha, verifique primeiro no LINT.
Nota: No FreeBSD 5.X e superiores o LINT não existe. Veja o arquivo NOTES para opções dependentes de arquitetura. Algumas opções, principalmente independentes da arquitetura, são armazenadas no arquivo /usr/src/sys/conf/NOTES. É aconselhável revisar as opções dispostas neste arquivo também.
A seguir um exemplo de arquivo de configuração GENERIC do kernel com vários comentários adicionais, onde eles forem necessários, para esclarecimentos. Este exemplo deve se equivaler uma cópia que você tem disponível em /usr/src/sys/i386/conf/GENERIC. Para obter detalhes sobre todas as opções possíveis do kernel, veja /usr/src/sys/i386/conf/LINT.
# # GENERIC -- Generic kernel configuration file for FreeBSD/i386 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.380 2003/03/29 13:36:41 mdodd Exp $
Em seguida estão as palavra-chaves obrigatóriamente necessárias em todos os kernels que você for compilar:
machine i386
Está é a arquitetura da máquina. Deve ser algum dos seguintes valores: i386, pc98, sparc64, alpha, ia64, amd64, or powerpc.
cpu I486_CPU cpu I586_CPU cpu I686_CPU
A opção acima especifica o tipo da CPU em seu sistema. É possível manter múltiplas entradas desta definição, em casos onde não souber ao certo que classes de CPU devem ser suportadas em seu kernel, nesse caso, as opções escolhidas são I586_CPU ou I686_CPU), entretanto, para personalizar um kernel, é melhor especificar apenas a CPU que você dispõe, quando esta puder ser prevista. Se você estiver inseguro quanto à classe da sua CPU, pode verificar o arquivo /var/run/dmesg.boot para verificar as mensagem do carregamento do sistema.
O suporte à I386_CPU ainda está disponível no fonte do FreeBSD, mas esta opção agora é desativada por padrão em ambos -STABLE e -CURRENT. Isto significa que para instalar o FreeBSD com um processador de classe 386, você terá que optar por uma das seguintes alternativas:
Instale uma versão mais antiga do FreeBSD e recompile o sistema como descrito na Seção 9.3.
Compile as aplicações em nível de usuário e o kernel em outra máquina e instale-as no 386 em questão, usando os arquivos previamente compilados, armazenados em /usr/obj (para mais detalhes veja a Seção 21.5).
Gere sua própria versão do FreeBSD incluindo suporte a I386_CPU no kernel de instalação via CD-ROM.
A primeira destas opções é provavelmente a mais fácil, mas você necessitará de muito espaço em disco em uma máquina de classe 386, o que pode ser difícil de encontrar.
ident GENERIC
Está é a identificação do kernel. Você pode mudar o nome do seu kernel para qualquer um, mas como exemplo da configuração do nosso kernel customizado, o MYKERNEL, vocô deve acompanhar as instruções dos próximos exemplos. O nome que você colocou no ident serão mostrados quando o kernel for carregado, de forma que a opção é utilizada para dar um nome novo ao kernel, ou um nome diferente se você quiser distinguir seu novo kernel do kernel atual (especialmente útil quando quiser compilar um kernel experimental).
maxusers n
A opção maxusers ajusta uma série de tabelas importantes do sistema. Esta opção não deve ser utilizada de forma a se igualar ao número de usuários simultâneos esperados em sua máquina.
Desde o FreeBSD 4.5, o sistema ajusta automaticamente esta configuração, se seu valor for modificado para 0[1]. No FreeBSD 5.X, maxusers é definido por padrão com o valor 0 quando for omitido. Se sua versão do FreeBSD for anterior ao 4.5, ou você deve definir está variável manualmente sempre, e o valor de maxusers deve ser no mínimo 4, especialmente se for usando o Sistema de Janelas X, ou compilando programas com frequência. A razão é que a tabela mais importante ajustada por meio do maxusers é o número máximo de processos, que é definido como 20 + 16 * maxusers, de forma que, se você ajustar maxusers para o valor 1, poderão existir no máximo 36 processos simultâneos, incluindo ai os 18 processos que o sistema carrega na hora da inicialização, e os 15 que você provavelmente irá criar quando iniciar o sistema de interface gráfica. Mesmo tarefas simples como a leitura de uma página de manual será iniciada levantando nove processos para filtro, decompactação e visualização do manual. Colocando maxusers em 64 permitirá que você tenha 1044 processos simultâneos carregados, o que deve ser o suficiente para a maioria de suas necessidades. Entretanto, se você se deparar com o erro proc table is full ao tentar iniciar outro programa, ou se o sistema em questão tratar de um servidor com um grande número de usuários simultâneos (digamos, como o ftp.FreeBSD.org por exemplo), é possível aumentar o valor da variável maxusers e recompilar o kernel do sistema.
Nota: maxusersnão limita o número de usuários que podem logar em sua máquina. Ele apenas define o valor de várias tabelas à quantias razoáveis considerando o número máximo de usuários e processos que você provavelmente terá rodando em seu sistema. A opção que possibilita limitar o número de logins remotos simultâneous e de terminais gráficos é pseudo-device pty 16.
# Floating point support - não desabilite. device npx0 at nexus? port IO_NPX irq 13
npx0 é a opção que disponibiliza suporte lógico à ponto flutuante em unidades matemáticas do FreeBSD, que faz o papel de equipamento co-processador, ou simplesmente emulador matemático lógico. Esta definição não é opcional.
# Pseudo devices - o número indica quantas unidades serão alocadas. pseudo-device loop # Network loopback
Trata-se do dispositivo genérico de comunicação TCP/IP interna - via loopback. Por exemplo, se você fizer uma conexão telnet ou FTP para localhost (ou seja, 127.0.0.1) a conexão voltará à você através deste pseudo-dispositivo. Este comportamento é mandatório.
Todas as outras opções no decorrer do arquivo são consideravelmente optativas. Veja as notas em cada uma das opções abaixo, para obter mais informações.
#To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" #Default places to look for devices.
No FreeBSD 5.X e versões posteriores, o device.hints(5) é usado para configurar algumas opções de dispositivos de controle. Por padrão o loader(8) verifica as opções em /boot/device.hints. Usando a opção hints estas definições podem ser estaticamente compiladas dentro do seu kernel, de forma que a necessidade de cirar o arquivo device.hints dentro de /boot seja suprimida.
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
O processo normal de compilação do FreeBSD não inclui informações sobre problemas com a compilação do kernel, e remove a maioria dos símbolos depois que o kernel é instalado, para economizar algum espaço em disco. Caso você esteja fazendo testes com kernel na série -CURRENT, ou alterando opções de desenvolvimento de seu próprio kernel FreeBSD, pode ser interessante descomentar esta linha. Isto irá habilitar o uso da opção -g que habilita a adição de informações de depuração do programa, realizados pelo config(8), caso você esteja compilando seu kernel da maneira ``tradicional'' (veja a Seção 9.3 para obter mais informações.).
options MATH_EMULATE #Support for x87 emulation
Esta linha permite que o kernel simule um co-processador matemático se seu computador não tiver um disponível (386 ou 486SX). Caso seu PC seja um 486DX, ou um 386 ou 486SX (com um chip 387 ou 487 separado), ou superior (Pentium®, Pentium II, etc.), esta opção poderá ser comentada.
Nota: As rotinas normais para emulação matemáticas do co-processador que vem com o FreeBSD não são muito precisas. Se você não dispõe de um co-processador matemático mas tem necessidade de uma emulação mais precisa, substituia a opção anterior por GPL_MATH_EMULATE, de forma a usar o suporte à co-processamento matemático GNU que não é habilitado por padrão em razão de questões legais da licença GPL.
No FreeBSD 5.X, a emulação matemática é desabilitada por padrão, em outras CPUs que não tem suporte a ponto flutuante matemático nativo, a emulação é menos comum, e em muitos casos não são sequer suportados pelo kernel GENERIC sem que outras opções adicionais sejam incluídas.
options INET #InterNETworking
Suporte a Rede. Mantenha esta opção ainda que você não planeje se conectar a uma rede. Muitos programas tem necessidade mínimas que necessitam de suporte à rede, como o uso da interface de loopbacl (isto é, conexões internas de rede), de forma que esta opção é mandatória.
options INET6 #IPv6 communications protocols
Trata-se do protocólo de comunicação IPv6.
options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!]
Trata-se do sistema de arquivos essencial do FreeBSD. Mantenha esta opção se você planeja controlar algum disco rígido.
Nota: À partir do FreeBSD 5.X, FFS_ROOT não é mais necessário.
options UFS_ACL #Support for access control lists
Esta opção, está presente apenas no FreeBSD 5.X; ela habilita o suporte do kernel à listas de controle de acesso. Seu uso requer as opções de atributos extendidos e UFS2, e os detalhes são descritos na Seção 10.13. ACLs são habilitadas por padrão, e não devem ser desabilitadas no kernel se tiverem sido previamente utilizadas no sistema de arquivos, pois removerá a lista de controle de acessos, modificando os atributos dos arquivos protegidos para valores imprevisíveis.
options UFS_DIRHASH #Improve performance on big directories
Está opção inclui recursos para aumentar a velocidade de operações de disco em diretórios grandes, ao custo de usar um pouco de memória adicional. Normalmente é interessante usufruir desta opção em um grande servidor, ou em situações onde haja grande demanda de interação com estações de trabalho; remova esta opção quando estiver usando o FreeBSD em um pequeno sistema onde memória a é é prioritária e velocidade de acesso a disco é menos importante, como um firewall.
options SOFTUPDATES #Enable FFS Soft Updates support
Esta opção habilita o método Soft Updates no kernel, isto irá ajudar a aumentar a velocidade de escrita ao disco. Mesmo sendo habilitada no kernel, estes recursos ainda precisam ser atribuídos à cada partição de disco. Revise a saída do comando mount(8) para obter detalhes sobre que sistemas de arquivos estão com Soft Updates habilitados. Caso não esteja observando a opção, é necessário ativa-la usando o tunefs(8) (para sistemas de arquivos existentes) ou newfs(8) (para novo sistema de arquivos).
options MFS #Memory Filesystem options MD_ROOT #MD is a potential root device
Trata-se basicamente de um espaço em memória mapeado para armazenamento rápido de arquivos temporários, se você tiver uma boa quantidade de memória real e virtual, pode forçar a utilização deste recurso em outros pontos também. Uma idéia interessante é montar como MFS o diretório /tmp, se houver necessidade de muito desempenho nesta unidade. Neste caso, adicione por exemplo a seguinte linha no arquivo /etc/fstab:
Agora basta reiniciar seu sistema ou rodar o comando mount /tmp.
Nota: No FreeBSD 5.X, a opção md(4) é usada com grande vantagem sobre MFS. Mais informações sobre a configuração de sistemas de arquivo em memória, podem ser obtidas nos manuais mdconfig(8) e mdmfs(8), e também na Seção 12.10. Consequentemente, a opção MFS não é mais suportada na série 5.X.
options NFS #Network Filesystem options NFS_ROOT #NFS usable as root device, NFS required
Trata-se do sistema de arquivos de rede. A menos que você não planeje montar partições UNIX® sob rede TCP/IP, comente esta linha.
options MSDOSFS #MSDOS Filesystem
Trata-se do sistema de arquivos MS-DOS®. Se você não pretende montar partições formatadas em DOS, pode seguramente retirar esta opção. Se você tiver necessidade de montar sistemas DOS posteriormente, o módulo será automaticamente carregado. O ótimo conjunto de programas mtools (disponível na Coleção de Ports) permite que você acesse disquetes DOS sem ter que mountá-los e desmontá-los (e não requer MSDOSFS).
options CD9660 #ISO 9660 Filesystem options CD9660_ROOT #CD-ROM usable as root, CD9660 required
O sistema de arquivos ISO 9660 é utilizado em CDROMs. Pode ser interessante comentar esta opção se você não tem um dispositivo óptico de leitura de CDROM, ou se tem a necessidade ocasional de montar CDs de dados (uma vez que o módulo correspondendo pode ser carregado dinamicamente quando for necessário montar um CD de dados). CDs de áudio não necessitam deste suporte.
options PROCFS #Process filesystem
Trata-se do sistema de arquivo de processos. Este sistema de arquivo tem a função de criar e montar o ambiente /proc que permite o uso de programas como ps(1) para você ter mais informações sobre quais processos está rodando. No FreeBSD 5.X, o uso do PROCFS não é mais necessário por vários motivos, visto que a maioria das ferramentas de monitoramento tem que ser adaptadas para rodar sobre PROCFS. Em adição, o kernel 5.X-CURRENT que usa PROCFS deve agora também incluir suporte para PSEUDOFS:
options PSEUDOFS #Pseudo-filesystem framework
PSEUDOFS não está disponível sob FreeBSD 4.X. Ao contrário do FreeBSD 4.X, as novas instalações do FreeBSD 5.X não montam, por padrão, o sistema de arquivos de processos.
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
Compatibilidade com BSD 4.3. Deixe isto descomentado, alguns programas agirão estranhamente se você comentar isto.
options COMPAT_FREEBSD4 #Compatible with FreeBSD4
Esta opção é necessária no FreeBSD 5.X i386™ e Sistemas Alpha para suporte à aplicativos compilados em outras versões do FreeBSD, que usa outro sistema de interfaces de chamadas. Recomenda-se que esta opção seja usada sobre todos i386 e sistemas Alpha que podem rodar outros aplicativos; plataformas que ganham suporte somente em 5.X, tal como ia64 e Sparc64®, não tem esta necessidade.
options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI
Isso faz com que o kernel pare por 15 segundos antes de procurar pelos dispositivos SCSI em seu sistema. Se você dispor apenas de discos IDE, pode ignorar esta opção; em discos SCSI, pode ser interessante baixar à até 5 segundos, para acelerar a inicialização. Naturalmente, se depois disso o FreeBSD tiver problemas para reconhecer algum dispositivo SCSI, suba este valor novamente.
options UCONSOLE #Allow users to grab the console
Permite que a console usada por aplicações gráficas sejam acessadas por outros usuários. Por exemplo, se você criar um terminal xterm com xterm -C, tudo que estiver sendo feito pelo write(1), talk(1), e todas as outras mensagens que você receber, assim como algumas mensagens de console emitidas pelo kernel, serão capturadas.
Nota: No FreeBSD 5.X, UCONSOLE não é mais necessária.
options USERCONFIG #boot -c editor
Esta opção permite carregar e editar as configurações do menu de inicialização.
options VISUAL_USERCONFIG #visual boot -c editor
Esta opção permite carregar e editar as configurações do menu de inicialização em modo gráfico.
Nota: À partir doFreeBSD 5.0, a opção USERCONFIG foi substituída pelo novo método device.hints(5). Para maiores informações sobre device.hints(5) por gentileza, visite a Seção 7.5.
options KTRACE #ktrace(1) support
Esta opção permite rastrear os processos do kernel, que são usados em rotinas de verificação e tratamento de erros.
options SYSVSHM #SYSV-style shared memory
Está opção fornece compartilhamento de memória no estilo System V. O uso mais comum deste, são as extensões XSHM do X, com muitos programas de gráficos-intensivos que obterão automaticamente vantagens e acréscimo de velocidade. Se você usa X, mantenha esta opção ativa.
options SYSVSEM #SYSV-style semaphores
Suporte à semáforos padrão System V. Geralmente são pouco usados, e adicionam algumas centenas de bytes no tamanho total do kernel.
options SYSVMSG #SYSV-style message queues
Suporte mensagens interprocessos em padrão System V. Mais uma vez, também requer poucas centenas de bytes no kernel.
Nota: O comando ipcs(1) listará algum processo que estiver fazendo uso de alguma funcionalidade padrão System V.
options P1003_1B #Posix P1003_1B real-time extensions options _KPOSIX_PRIORITY_SCHEDULING
Extensões em tempo real adicionadas em 1993 ao padrão POSIX®. Determinadas aplicações da coleção do ports usam estes recursos (tal como StarOffice™).
Nota: No FreeBSD 5.X, todas estas funcionalidades agora são fornecidos pela opção _KPOSIX_PRIORITY_SCHEDULING, e P1003_1B não é mais necessária.
options ICMP_BANDLIM #Rate limit bad replies
Está opção permite limitar a quantidade de resposta de erros de ICMP. Normalmente esta opção auxilia a proteção do sistema contra ataques do tipo degação de serviço por pacotes ICMP. É recomendado manter esta opção.
Nota: No FreeBSD 5.X, esta característica é habilitada por padrão e a opção ICMP_BANDLIM não é mais necessária.
# To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O
Ambas opções acima são necessárias para suporte à multiprocessamento simétrico (SMP).
device isa
Todos os PCs com FreeBSD suportam esta opção. Caso seu computador seja um IBM PS/2 (Arquitetura Micro Canal), o FreeBSD fornece um suporte um pouco limitado. Para maiores informações sobre este, veja a opcão MCA, em /usr/src/sys/i386/conf/LINT.
device eisa
Inclua esta opção caso sua placa-mãe seja EISA. Esta opção habilita a auto-detecção e suporte a configuração de todos os dispositivos sobre o barramento EISA.
device pci
Inclua este opção se sua placa-mãe suporta PCI. Esta opção habilita a auto-detecção e suporte a configuração demplacas PCI e os que estiverem em transição do barramento ISA para PCI.
device agp
Inclua esta opção se você dispor de uma placa de AGP em seu sistema. Esta opção habilita suporte à AGP e AGP GART em placas com estes recursos.
# Floppy drives device fdc0 at isa? port IO_FD1 irq 6 drq 2 device fd0 at fdc0 drive 0 device fd1 at fdc0 drive 1
Trata-se do controlador de disco flexível. fd0 é o drive flexível A:, e fd1 é o drive B:.
device ata
Este driver suporta todos dispositivos ATA e de ATAPI. Você necessitará somente uma linha com a entrada device ata para que o kernel detecte todos os dispositivos PCI ATA/ATAPI em uma máquina moderna.
device atadisk # ATA disk drives
Esta opção é necessário em conjunto com a device ata para dispositivos de controle de discos ATA.
device atapicd # ATAPI CDROM drives
Esta opção é necessário em conjunto com a device ata para dispositivos de de controle de drives de CD ATAPI.
device atapifd # ATAPI floppy drives
Esta opção é necessário em conjunto com a device ata para controle dispositivos de unidades de disquetes ATAPI.
device atapist # ATAPI tape drives
Esta opção é necessário em conjunto com a device ata para dispositivos de de controle de dispositivos de fitas ATAPI.
options ATA_STATIC_ID #Static device numbering
Esta opção faz o controle estático de número identificador ATA, no padrão antigo, ou os números de dispositivos que são alocados dinâmicamente.
# ATA and ATAPI devices device ata0 at isa? port IO_WD1 irq 14 device ata1 at isa? port IO_WD2 irq 15
É usado em sistemas mais antigos, que não suportam padrão PCI.
# SCSI Controllers device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices device amd # AMD 53C974 (Teckram DC-390(T)) device dpt # DPT Smartcache - See LINT for options! device isp # Qlogic family device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets) device adv0 at isa? device adw device bt0 at isa? device aha0 at isa? device aic0 at isa?
Controladoras SCSI. Caso alguma destas controladoras não estejam disponíveis em seu sistema, comente a linha em questão. Caso você tenha apenas discos IDE, todas opções aqui podem ser completamente removidas.
# SCSI peripherals device scbus # SCSI bus (required) device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access)
Periféricos SCSI. Mais uma vez, se algum destes periféricos não estiverem disponíveis em seu sistema, comente a linha em questão. Caso você tenha apenas discos IDE, todas opções aqui podem ser completamente removidas.
# RAID controllers device ida # Compaq Smart RAID device amr # AMI MegaRAID device mlx # Mylex DAC960 family
Suporte à controladoras RAID. Você pode manter apenas suporte aos equipamentos que você tem disponível, removendo o suporte às controladoras RAID não disponíveis.
# atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc0 at isa? port IO_KBD
O controlador de teclado (atkbdc) fornece recursos de controle à operações de E/S para o teclado AT e teclados e dispositivos de apontamento PS/2 (como mouse e canetas). Este dispositivo é necessário ao suporte de teclado (atkbd) bem como ao dispositivo de controle PS/2 (psm).
device atkbd0 at atkbdc? irq 1
O dispositivo de controle atkbd, em comjunto com o atkbdc, provém accesso ao teclado AT 84 ou à teclados AT, modelos aprimorados e convencionais.
device psm0 at atkbdc? irq 12
Use este dispositivo caso seu mouse seja do tipo que requer conectores PS/2.
device vga0 at isa?
Dispositivo de controle de vídeo.
# splash screen/screen saver pseudo-device splash
Possibilita que seja adicionada uma tela de sobreposição (bitmap) na inicialização do sistema. Protetores de tela também exijem suporte a este dispositivo.
# syscons is the default console driver, resembling an SCO console device sc0 at isa?
sc0 é o dispositivo padrão de controle do console do sistema, e se assenelha ao console de sistema SCO. A maioria dos terminais requerem este suporte mesmo terminais que fazem uso do mapeamento termcap, mas não deve ser relevante quando o dispositivo vt0 for utilizado, uma vez que este é compatível com o console VT220. Neste caso, ao se logar, basta definir a variável de ambiente TERM como scoansi especialmente alguma aplicação que ocupe a tela inteira apresentar inconformidades no console.
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver #device vt0 at isa? #options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor # If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines #options PCVT_SCANSET=2 # IBM keyboards are non-std
Trata-se de um dispositivo de controle VT220 compatível com o console, padrões VT100/102. Esta opção é aconselhada para computadores móveis que tenham problemas de compatibilidade com sc0. Ajuste também o valor da variável TERM para vt100 ou vt220 logar-se no terminal. Este dispositivo pode ser usado para interconectar um grande número de diferentes máquinas em um ambiente de rede, onde termcap ou terminfo contenham entradas para o dispositivo sc0 -- vt100 deve estar virtualmente disponível em todas estações.
# Power management support (see LINT for more options) device apm0 at nexus? disable flags 0x20 # Advanced Power Management
Suporte à Gerenciamento Avançado de Energia. Usado especialmente em laptops.
# PCCARD (PCMCIA) support device card device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000 device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disable
Suporte PCMCIA. Especialmente útil em laptop.
# Serial (COM) ports device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3 device sio2 at isa? disable port IO_COM3 irq 5 device sio3 at isa? disable port IO_COM4 irq 9
Suporte à portas de comunicação serial. Estes dispositivos são análogamente referentes às portas COM1 até COM4, em ambientes MS-DOS/Windows®.
Nota: Se você tiver um modem interno na COM4 e uma porta serial na COM2, você terá que mudar a IRQ do modem para 2 (pelas razões técnicas IRQ2 = IRQ 9) de forma que o FreeBSD compreenda estas definições. Se você tiver um cartão serial de múltiplas interfaces seriais, verifique a página de manual sio(4) para obter maiores informações sobre os valores apropriados para esta linha de opção do kernel. Algunas placas vídeo (especialmente aquelas com chip baseado em S3) usam endereço de E/S no formato 0x*2e8, e como várias placas seriais simplesmente ignoram qualquer possibilidade de convivência com uma placa de vídeo destas, seu endereçamento de E/S 16-bit costumam conflitar com estes dispositivos, que querem operar na porta COM4 - normalmente indisponível.
Cada porta serial requer uma IRQ exclusiva (a não ser que você esteja usando um cartão multi-portas onde as interrupções compartilhadas são suportadas), sendo assim as IRQs padrão para COM3 e COM4 não são habilitadas automaticamente.
# Parallel port device ppc0 at isa? irq 7
Trata-se da porta paralela para a interface de barramento ISA.
device ppbus # Parallel port bus (required)
Suporta o barramento de porta paralela.
device lpt # Printer
Suporte à porta paralela de impressoras.
Nota: Todos os três acima são necessários para habilitar suporte à impressora paralela.
device plip # TCP/IP over parallel
Dispositivo de controle para a interface de rede via porta paralela.
device ppi # Parallel port interface device
Uma porta paralela de propósito geral (``geek port'') padrão de E/S IEEE1284.
#device vpo # Requires scbus and da
Trata-se do suporte à ``Zip Drive'' da Iomega. Requer ainda suporte à scbus e da. Melhor performance garantida com portas em modo EPP 1.9.
# PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') device fxp # Intel EtherExpress PRO/100B (82557, 82558) device tx # SMC 9432TX (83c170 ``EPIC'') device vx # 3Com 3c590, 3c595 (``Vortex'') device wx # Intel Gigabit Ethernet Card (``Wiseman'')
Suporte à uma série de placas de rede PCI. Você pode comentar ou remover os dispositivos que controlam placas de rede que você não disponha em seu sistema.
# PCI Ethernet NICs that use the common MII bus controller code. device miibus # MII bus support
O suporte ao barramento MII é necessário para o correto funcionanento de uma série de placas de rede PCI 10/100, específicamente as placas com transceivers MII-compatíveis ou então os que implementam a interface de controle em questão, operando como MII. Adicionar a opção device miibus provê suporte à uma API de barramento MII genérica, e a todos os dispositivos de controle PHY, incluindo um genérico para PHYs não declarados no momento da negociação dos recursos.
device dc # DEC/Intel 21143 and various workalikes device rl # RealTek 8129/8139 device sf # Adaptec AIC-6915 (``Starfire'') device sis # Silicon Integrated Systems SiS 900/SiS 7016 device ste # Sundance ST201 (D-Link DFE-550TX) device tl # Texas Instruments ThunderLAN device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
Suporte à placas de rede que usam o código controlador do barramento MII.
# ISA Ethernet NICs. device ed0 at isa? port 0x280 irq 10 iomem 0xd8000 device ex device ep # WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really # exists only as a PCMCIA device, so there is no ISA attachment needed # and resources will always be dynamically assigned by the pccard code. device wi # Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will # work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP # mode (the factory default). If you set the switches on your ISA # card for a manually chosen I/O address and IRQ, you must specify # those parameters here. device an # The probe order of these is presently determined by i386/isa/isa_compat.c. device ie0 at isa? port 0x300 irq 10 iomem 0xd0000 device fe0 at isa? port 0x300 device le0 at isa? port 0x300 irq 5 iomem 0xd0000 device lnc0 at isa? port 0x280 irq 10 drq 0 device cs0 at isa? port 0x300 device sn0 at isa? port 0x300 irq 10 # requires PCCARD (PCMCIA) support to be activated #device xe0 at isa?
Tratam-se de dispositivos de controle de interfaces Ethernet padrão ISA Ethernet drivers. Veja a lista de placas suportadas por cada um destes dispositivos em /usr/src/sys/i386/conf/LINT.
pseudo-device ether # Ethernet support
ether é necessário caso você tenha alguma placa de rede disponível. Este dispositivo inclui suporte ao código genérico do protocolo Ethernet.
pseudo-device sl 1 # Kernel SLIP
sl é o suporte à SLIP. Esta tecnologia foi quase completamente substituída pelo PPP, que é mais fácil de configurar, mais flexível e melhor suporte à conexão modem-a-modem, e mais é mais poderoso. O valor na frente da entrada sl indica quantas sessões simultâneas da conexõees SLIP serão suportadas.
pseudo-device ppp 1 # Kernel PPP
Trata-se do suporte PPP no kernel, usado especialmente para conexões discadas. Há também uma outra versão do PPP implementada em nível de usuário com o dispositivo tun e oferece mais flexibilidade e características tais como exigem as conexões discadas. O valor de conexões após a entrada ppp, define a quantidade de conexões simultâneas suportadas pelo PPP.
pseudo-device tun # Packet tunnel.
É usada pelo programa que implementa o suporte PPP em nível de usuário. O valor na frente da entrada tun indica o número de sessões simultâneas suportadas pelo PPP. Veja a PPP deste livro para obter maiores informações.
pseudo-device pty # Pseudo-ttys (telnet etc)
Trata-se de um ``pseudo-terminal'' que simula a interface de login no sistema. É usado pelo telnet bem como por seções rlogin, xterm, e algumas outras aplicações como Emacs. O valor após a entrada pty indica o número de dispositivos pty que devem ser criados. Se você tem a necessidade de mais de 16 sessões simultâneas de xterm ou acessos remotos, pode aumentar este valor até o máximo de 256.
pseudo-device md # Memory ``disks''
É o pseudo-dispositivo para discos de memória.
pseudo-device gif
ou
pseudo-device gif 4 # IPv6 and IPv4 tunneling
Implementa tunelamento do protocolo IPv6 sobre IPv4, bem como tunelamento IPv4 sobre IPv4, e IPv6 sobre. À partir do FreeBSD 4.4 o dispositivo gif pode ser criado por demanda, e a primeira entrada (sem o identificador numérico após o gif) pode ser usada. Versões anteriores do FreeBSD requerem esta definição.
pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
Este pseudo-dispositivo captura os pacotes que são emitidos e desvía-os ao daemon da tradução IPv4/IPv6.
pseudo-device bpf # Berkeley packet filter
Trata-se do Filtro de Pacotes de Berkeley. Este pseudo-dispositivo permite que as interfaces da rede sejam colocadas em modo promíscuo, capturando cada pacote que trafegar publicamente na rede. Estes pacotes podem ser capturados e salvos em disco ou examinados com o programa tcpdump(1).
Nota: A opção pseudo-device bpf é usada também pelo dhclient(8) para obter o endereço IP do roteador padrão (gateway) e assim por diante. Se você usa DHCP, mantenha esta opção descomentada.
# Suporte USB #device uhci # UHCI PCI->USB interface #device ohci # OHCI PCI->USB interface #device usb # USB Bus (required) #device ugen # Generic #device uhid # ``Human Interface Devices'' #device ukbd # Keyboard #device ulpt # Printer #device umass # Disks/Mass storage - Requires scbus and da #device ums # Mouse # USB Ethernet, requires mii #device aue # ADMtek USB ethernet #device cue # CATC USB ethernet #device kue # Kawasaki LSI USB ethernet
Estas opções adicionam suporte à vários dispositivos USB.
Para obter mais informações sobre cada dispositivo USB suportado pelo FreeBSD por gentileza, veja /usr/src/sys/i386/conf/LINT.
Máquinas com grandes configurações de memória tem a necessidade de que sejam acessados endereços de memória que superam o limite de 4 Gigabytes de espaço no ambiente de usuário e do kernel (KVA). Devido à esta limitação, a Intel adicionou suporte à espaço de endereçamento físico de 36-bit nos processadores no Pentium em sua linha de CPUs Pro e posteriores.
A extensão de endereço físico (PAE) possibilida que as CPUs Intel® Pentium Pro e posteriores possam ter até 64 gigabytes de memória. O FreeBSD oferece suporte à este recurso por meio da opção PAE na configuração do kernel, disponível na série 4.X à partir da versão 4.9-RELEASE e no 5.X à partir do 5.1-RELEASE. Devido à limitações da arquitetura de memória Intel, não é possível distinguir o que é endereçado acima ou abaixo dos 4 gibabytes. A memória além dos 4GB é meramente inclusa e mapeada ao pool de memória disponível.
Para habilitar suporte ao PAE, basta adicionar ao arquivo de configuração do kernel, a seguinte linha:
options PAE
Nota: O suporte à PAE no FreeBSD limita-se à processadores Intel IA-32. Deve-se também notar, que o suporte à PAE no FreeBSD ainda não foi totalmente testado, e é considerado de qualidade beta, quando comparado com outros recursos estáveis do FreeBSD.
O suporte à PAE no FreeBSD tem algumas limitações:
Um mesmo processo não pode alocar mais do que 4 gigabytes do espaço da VM.
Módulos KLD não podem ser carregados dentro em um kernel com PAE habilitado, devido a diferenças na estrutura da configuração do módulo de kernel.
Dispositivos de controle não usam o a interface bus_dma(9) podem causar corrompimento de dados em um kernel com PAE, portanto não são recomendados para uso em conjunto com PAE. Por esta razão um arquivo específico para configuração de um kernel com PAE está disponível separadamente no FreeBSD 5.X, onde os dispositivos de controle conflitante estão ausentes.
Alguns valores ajustáveis no kernel do sistema são baseados na quantidade de memória que foi configurada no kernel, estaticamente, no momento da compilação deste. Alguns destes valores podem ter necessidade de serem realocados devido à natureza do suporte à muita memória disponível em sistemas com PAE. Um bom exemplo é a MIB ajustável via sysctl(8), kern.maxvnodes, que controla o número máximo de vnodes que podem ser alocados no kernel. É recomendado que este e outros valores ajustáveis sejam redefinidos à um valor rasoável, em sistemas com PAE.
Pode ser necessário aumentar o espaço virtual de endereçamento do kernel (KVA) ou diminuir a quantidade de recursos utilizados com maior demanda no kernel, objetivando evitar a exaustão do KVA. A opção KVA_PAGES pode ser usada na configuração do kernel para aumentar o espaço disponível para o KVA.
Para mais dicas sobre performance e estabilidade, é recomendado a leitura da página de manual tuning(7). A página de manual pae(4) contém informação recentes sobre o suporte PAE no FreeBSD.
[1] |
O algoritmo de ajuste automático do maxuser define o valor igual a quantidade de memória do sistema, respeitando o valor mínimo de 32, e o máximo de 384. |
Anterior | Principal | Próxima |
Compilando e instalando um kernel customizado | Acima | Criando Dispositivos de Controle |
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>.