9.4. O arquivo de configuração

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:

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:

/dev/ad1s2b    /tmp mfs rw 0 0

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.

9.4.1. Grandes Configurações de Memória (PAE)

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:

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.

Notas

[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.

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>.