Muitas soluções de armazenamento externo, como discos rígidos, thumbdrives USB e gravadores de CD e DVD, usam o Universal Serial Bus ( USB ). O FreeBSD fornece suporte para dispositivos USB 1.x, 2.0 e 3.0.
O suporte a USB 3.0 não é compatível com alguns hardwares, incluindo os chipsets Haswell (Lynx Point). Se o FreeBSD inicializar com uma mensagem falhou com erro 19, desative xHCI/USB3 na BIOS.
O suporte para dispositivos de armazenamento USB é embutido no kernel GENERIC. Para um kernel personalizado, certifique-se de que as seguintes linhas estejam presentes no arquivo de configuração do kernel:
device scbus # SCSI bus (required for ATA/SCSI) device da # Direct Access (disks) device pass # Passthrough device (direct ATA/SCSI access) device uhci # provides USB 1.x support device ohci # provides USB 1.x support device ehci # provides USB 2.0 support device xhci # provides USB 3.0 support device usb # USB Bus (required) device umass # Disks/Mass storage - Requires scbus and da device cd # needed for CD and DVD burners
O FreeBSD usa o driver umass(4) que usa o subsistema SCSI para acessar o armazenamento de dispositivos USB. Como qualquer dispositivo USB será visto como um dispositivo SCSI pelo sistema, se o dispositivo USB for um gravador de CD ou DVD, não inclua device atapicam em um arquivo de configuração do kernel personalizado.
O restante desta seção demonstra como verificar se um dispositivo de armazenamento USB é reconhecido pelo FreeBSD e como configurar o dispositivo para que ele possa ser usado.
Para testar a configuração USB, conecte o dispositivo USB. Use dmesg para confirmar que a unidade aparece no buffer de mensagens do sistema. Deve parecer algo como isto:
umass0: <STECH Simple Drive, class 0/0, rev 2.00/1.04, addr 3> on usbus0 umass0: SCSI over Bulk-Only; quirks = 0x0100 umass0:4:0:-1: Attached to scbus4 da0 at umass-sim0 bus 0 scbus4 target 0 lun 0 da0: <STECH Simple Drive 1.04> Fixed Direct Access SCSI-4 device da0: Serial Number WD-WXE508CAN263 da0: 40.000MB/s transfers da0: 152627MB (312581808 512 byte sectors: 255H 63S/T 19457C) da0: quirks=0x2<NO_6_BYTE>
A marca, o nó de dispositivo (da0), a velocidade e o tamanho serão diferentes de acordo com o dispositivo.
Como o dispositivo USB é visto como um SCSI, o camcontrol pode ser usado para listar os dispositivos de armazenamento USB conectados ao sistema:
#camcontrol devlist<STECH Simple Drive 1.04> at scbus4 target 0 lun 0 (pass3,da0)
Alternativamente, o usbconfig pode ser usado para listar o dispositivo. Consulte o usbconfig(8) para obter mais informações sobre este comando.
#usbconfigugen0.3: <Simple Drive STECH> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
Se o dispositivo não tiver sido formatado, consulte Seção 17.2, “Adicionando Discos” para obter instruções sobre como formatar e criar partições na unidade USB. Se a unidade vier com um sistema de arquivos, ela pode ser montada pelo root usando as instruções em Seção 3.7, “Montando e Desmontando Sistemas de Arquivos”.
Permitir que usuários não confiáveis montem mídia arbitrária, ativando vfs.usermount como descrito abaixo, não deve ser considerado seguro do ponto de vista da segurança. A maioria dos sistemas de arquivos não foi criada para proteger contra dispositivos maliciosos.
Para tornar o dispositivo montável como um usuário normal, uma solução é tornar todos os usuários do dispositivo membros do grupo operator usando pw(8). Em seguida, certifique-se de que operator possa ler e gravar o dispositivo adicionando estas linhas ao /etc/devfs.rules:
[localrules=5] add path 'da*' mode 0660 group operator
Se discos internos SCSI também estiverem instalados no sistema, altere a segunda linha da seguinte maneira:
add path 'da[3-9]*' mode 0660 group operatorIsso excluirá os três primeiros discos SCSI (da0 para da2) pertencentes ao grupo operator. Substitua 3 pelo número de discos SCSI internos. Consulte devfs.rules(5) para obter mais informações sobre esse arquivo.
Em seguida, ative o conjunto de regras no arquivo /etc/rc.conf:
devfs_system_ruleset="localrules"
Em seguida, instrua o sistema para permitir que usuários comuns montem sistemas de arquivos incluindo a seguinte linha no arquivo /etc/sysctl.conf:
vfs.usermount=1
Como isso só entra em vigor após a próxima reinicialização, use sysctl para definir essa variável agora:
#sysctl vfs.usermount=1vfs.usermount: 0 -> 1
A etapa final é criar um diretório no qual o sistema de arquivos deve ser montado. Esse diretório precisa pertencer ao usuário que deve montar o sistema de arquivos. Uma maneira de fazer isso é para o root criar um subdiretório de propriedade daquele usuário como /mnt/. No exemplo a seguir, substitua usernameusername pelo nome de login do usuário e usergroup pelo grupo principal do usuário:
#mkdir /mnt/username#chownusername:usergroup/mnt/username
Suponha que um thumbdrive USB esteja conectado e um dispositivo /dev/da0s1 apareça. Se o dispositivo estiver formatado com um sistema de arquivos FAT, o usuário poderá montá-lo usando:
%mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/username
Antes que o dispositivo possa ser desconectado, ele deve ser desmontado primeiro:
%umount /mnt/username
Após a remoção do dispositivo, o buffer de mensagens do sistema mostrará mensagens semelhantes às seguintes:
umass0: at uhub3, port 2, addr 3 (disconnected) da0 at umass-sim0 bus 0 scbus4 target 0 lun 0 da0: <STECH Simple Drive 1.04> s/n WD-WXE508CAN263 detached (da0:umass-sim0:0:0:0): Periph destroyed
Dispositivos USB podem ser montados automaticamente removendo o comentário desta linha no arquivo /etc/auto_master:
/media -media -nosuid
Então adicione estas linhas ao arquivo /etc/devd.conf:
notify 100 {
match "system" "GEOM";
match "subsystem" "DEV";
action "/usr/sbin/automount -c";
};Recarregue a configuração se autofs(5) e devd(8) já estiverem em execução:
#service automount restart#service devd restart
autofs(5) pode ser configurado para iniciar no boot, adicionando esta linha ao arquivo /etc/rc.conf:
autofs_enable="YES"
autofs(5) requer que o devd(8) esteja ativado, como é por padrão.
Inicie os serviços imediatamente com:
#service automount start#service automountd start#service autounmountd start#service devd start
Cada sistema de arquivos que pode ser montado automaticamente aparece como um diretório em /media/. O diretório é nomeado após o rótulo do sistema de arquivos. Se o rótulo estiver ausente, o diretório será nomeado após o nó do dispositivo.
O sistema de arquivos é montado de forma transparente no primeiro acesso e desmontado após um período de inatividade. Unidades montadas automaticamente também podem ser desmontadas manualmente:
#automount -fu
Este mecanismo é normalmente usado para cartões de memória e cartões de memória USB. Pode ser usado com qualquer dispositivo de bloco, incluindo unidades ópticas ou iSCSI LUNs.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.