Devido a compatibilidade com o padrão ATA os cartões Compact-Flash são vistos pelo FreeBSD como um disco rigido IDE normal, assim como o ocorre com uma unidade DiskOnChip® da M-Systems (quando você está utilizando um kernel com suporte ao driver fla habilitado), você pode teoricamente instalar o FreeBSD apartir da rede utilizando os disquetes de boot (kern e mfsroot) ou apartir do CD. Além do fato de que você não deve instalar o boot loader quando estiver usando um dispositivo M-Systems, não é necessário nenhuma outra instrução especial.
Entretanto, ao instalar o FreeBSD pelos procedimentos normais (mesmo para uma pequena instalação), pode produzir um sistema com um tamanho superior a 200 megabytes. Como a maioria das pessoas costumam utilizar dispositivos de memória flash com uma capacidade menor que esta (128 Mb é considerado muitas vezes um exagero, sendo que unidades entre 16 e 32 são consideradas normais) uma instalação usando os mecanismos normais não é possivel -- pois simplesmente não existe espaço suficiente nem mesmo para a instalação minima do método convencional.
A forma mais simples de superar esta limitação do espaço é instalar o FreeBSD usando os meios convencionais em um HD normal. Deposi que a instalação estiver completa, remova os itens desnecessários para os seus objetivos até que o sistema caiba na sua unidade de memória flash, então faça um tar do sistema de arquivos inteiro. Os passos seguintes irão guia-lo através do processo de preparação de uma unidade de memória flash para o seu sistema de arquivos targeado. Lembre-se, que uma vexz que não estaremos realizando a instalação pelos métodos normais, as operações tais como particionamento, criação dos slices, criação do sistema de arquivos, etc terão que ser realizados manualmente. Além dos discos kern.flp e mfsroot.flp, você também irá precisar do disco de fixit. Se você estiver utilizando um DiskOnChip da M-Systems, o kernel utilizando com o seu disquete do kerne.flp irá precisar do suporte ao driver fla habilitado, como detalhado no item Seção 2 Por favor consulte a sessão Seção 5, para obter maiores informações sobre como criar um novo kernel para o kern.flp.
Particionando o seu dispositivo de memória flash
Apos dar o boot com os disquetes do kernel e do mfsroot, escolha a opção custom no menu de instalação. No menu de instalação customizada, escolha a opção partition. No menu de partições, você deve deletar todas as partições existentes utilizando a tecla d. Depois de deletar todas as partições, crie uma partição utilizando a tecla c e aceite o valor padrão para o tamanho da partição. Quando lhe for indagado qual o tipo da partição, certifique-se que o valor está definido como 165. Agora grave a tabela de particionamento para o disco pressionando a tecla w (esta é uma opção oculta nesta tela). Quando for apresentado o menu para que você escolha o gerenciador de boot, tenha o cuidado de selecionar None se você estiver utilizando um dispositivo DiskOnChip da M-Systems. Se você estiver utilizando um cartão de memória flash compativel com o padrão ATA, você deve escolher a opção "FreeBSD Boot Manager". Agora pressione a tecla q para sair do menu de partições. O menu de escolha do boot manager será exibido novamente - repita a escolha que você fez anteriormente.
Criando o sistema de arquivo no seu dispositivo de memória flash.
Saia do menu de instalação customizada, e no menu principal da instalação, escolha a opção fixit. Depois de entrar no ambiente de recuperação, execute os seguintes comandos:
| Compatíveis com ATA | DiskOnChip |
|---|---|
# mknod /dev/ad0a c 116 0 # mknod /dev/ad0c c 116 2 # disklabel -e /dev/ad0c |
# mknod /dev/fla0a c 102 0 # mknod /dev/fla0c c 102 2 # disklabel -e /dev/fla0c |
Neste ponto você terá entrado no editor vi o qual está sob controle do comando disklabel. Se você esta utilizando um DiskOnChip, o primeiro passo será alterar o valor do tipo próximo do inicio do arquivo de EDSI para DOC2K. Em seguida, independentemente se você está utilizando um DiskOnChip ou um dispositivo de memória flash compativel com o padrão ATA, você precisara adicionar uma linha a: no final do arquivo. Esta linha a: deve se paracer com a linha abaixo:
a: 123456 0 4.2BSD 0 0
Onde 123456 é um número que é exatamente o mesmo que existe na linha c: referente ao tamanho. Basicamente você esta duplicando a linha c: existente para a linha a:, certifique-se de que o fstype é 4.2BSD. Salve o arquivo e saia.
Colocando o seu sistema de arquivos no seu dispositivo de memória flash.
Monte a sua unidade de memória flash recém preparada:
Coloque a máquina acessível na rede de forma que possamos transferir o nosso arquivo tar para ela e para que possamos descompactá-lo no sistema de arquivos da unidade de memória flash. Um exemplo de como fazer isso é:
# ifconfig xl0 192.168.0.10 netmask 255.255.255.0 # route add default 192.168.0.1
Agora que a máquina já esta acessível na rede, transfira o seu arquivo tar para ela. Neste momento você pode se ver diante de um pequeno dilema - Se a sua unidade de memória flash possui 128 Mb, por exemplo, e o seu arquivo tar é maior que 64 Mb, você não pode ter o arquivo na sua unidade flash ao mesmo tempo em que esta descompactando-o - você irá ficar sem espaço. Uma solução para este problema, se você estiver utilizando FTP, é descompactar o arquivo enquanto ele é transferido por FTP. Se você realizar a sua transferência desta forma, você nunca irá ter o arquivo tar e o conteúdo do arquivo tar no seu disco ao mesmo tempo:
ftp> get tarfile.tar "| tar xvf -"
Se o seu arquivo tar estiver gzipado, você poderá fazer o mesmo procedimento, bastando um pequeno ajuste:
ftp> get tarfile.tar "| zcat | tar xvf -"
Depois que o conteúdo do seu sistema de arquivos targeado tiver sido descompactado sobre o sistema de arquivos da sua unidade de memória flash, você pode desmontar a unidade e rebootar:
# cd / # umount /flash # exit
Assumindo que você configurou corretamente o sistema de arquivos no seu HD normal (com os sistemas de arquivos sendo montados em modo de apenas leitura, e com as opções necessárias compiladas no Kernel) você deve estar bootando com sucesso o seu sistema FreeBSD embedded.
| Anterior | Principal | Próxima |
| O rc.diskless e os sistemas de arquivos de apenas leitura | Preparando um disquete de boot (kern.flp ) com o driver fla habilitado |
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>.