The translation is temporarily closed for contributions due to maintenance, please come back later.
English Portuguese (Brazil)
A few kernel options are of specific interest to those creating an embedded FreeBSD system. Algumas opções do kernel são de interesse específico para aqueles que criam sistemas FreeBSD embarcados.
You should make sure the following lines exist in your kernel configuration file: Você deve ter certeza de que as seguintes linhas existem no seu arquivo de configuração do kernel:
options MFS # Memory Filesystem
options MD_ROOT # md device usable as a potential root device
pseudo-device md # memory disk
options MFS # Memory Filesystem
options MD_ROOT # md device usable as a potential root device
pseudo-device md # memory disk
The <literal>rc</literal> Subsystem and Read-Only Filesystems O Subsistema <literal>rc</literal> e os Sistemas de Arquivos Read-Only
The post-boot initialization of an embedded FreeBSD system is controlled by <filename>/etc/rc.initdiskless</filename>. A inicialização pós-boot de um sistema FreeBSD embarcado é controlada por <filename>/etc/rc.initdiskless</filename>.
<filename>/etc/rc.d/var</filename> mounts <filename>/var</filename> as a memory filesystem, makes a configurable list of directories in <filename>/var</filename> with the <citerefentry><refentrytitle>mkdir</refentrytitle><manvolnum>1</manvolnum></citerefentry> command, and changes modes on some of those directories. In the execution of <filename>/etc/rc.d/var</filename>, one other <filename>rc.conf</filename> variable comes into play – <literal>varsize</literal>. A <filename>/var</filename> partition is created by <filename>/etc/rc.d/var</filename> based on the value of this variable in <filename>rc.conf</filename>: O <filename>/etc/rc.d/var</filename> monta o <filename>/var</filename> como um sistema de arquivos em memória, cria uma lista configurável de diretórios em <filename>/var</filename> com o comando <citerefentry><refentrytitle>mkdir</refentrytitle><manvolnum>1</manvolnum></citerefentry> e altera os modos em alguns desses diretórios. Na execução do <filename>/etc/rc.d/var</filename>, uma outra variável <filename>rc.conf</filename> entra em jogo – <literal>varsize</literal>. Uma partição <filename>/var</filename> é criada por <filename> /etc/rc.d/var</filename> baseado no valor desta variável em <filename>rc.conf</filename>:
varsize=8192 varsize=8192
Remember that this value is in sectors by default. Lembre-se de que esse valor é informado em setores, por padrão.
The fact that <filename>/var</filename> is a read-write filesystem is an important distinction, as the <filename>/</filename> partition (and any other partitions you may have on your flash media) should be mounted read-only. Remember that in <xref linkend="intro"/> we detailed the limitations of flash memory - specifically the limited write capability. The importance of not mounting filesystems on flash media read-write, and the importance of not using a swap file, cannot be overstated. A swap file on a busy system can burn through a piece of flash media in less than one year. Heavy logging or temporary file creation and destruction can do the same. Therefore, in addition to removing the <literal>swap</literal> entry from your <filename>/etc/fstab</filename>, you should also change the Options field for each filesystem to <literal>ro</literal> as follows: O fato do <filename>/var</filename> ser um sistema de arquivos read-write é uma distinção importante, pois a partição <filename>/</filename> (e quaisquer outras partições que você possa ter em sua mídia flash) deve ser montada como read-only. Lembre-se que em <xref linkend="intro"/> detalhamos as limitações da memória flash - especificamente a capacidade de gravação limitada. A importância de não montar sistemas de arquivos em mídia flash em modo read-write, e a importância de não usar um arquivo de swap, não pode ser exagerado. Um arquivo de swap em um sistema ocupado pode inutilizar uma mídia flash em menos de um ano. Criação de log pesado ou criação e destruição de arquivos temporários podem fazer o mesmo. Portanto, além de remover a entrada <literal>swap</literal> do seu <filename>/etc/fstab</filename>, você também deve alterar o campo Options para cada sistema de arquivos para <literal>ro</literal> como segue:
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1a / ufs ro 1 1
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1a / ufs ro 1 1
A few applications in the average system will immediately begin to fail as a result of this change. For instance, cron will not run properly as a result of missing cron tabs in the <filename>/var</filename> created by <filename>/etc/rc.d/var</filename>, and syslog and dhcp will encounter problems as well as a result of the read-only filesystem and missing items in the <filename>/var</filename> that <filename>/etc/rc.d/var</filename> has created. These are only temporary problems though, and are addressed, along with solutions to the execution of other common software packages in <xref linkend="strategies"/>. Alguns aplicativos no sistema começarão a falhar imediatamente como resultado desta alteração. Por exemplo, o cron não será executado corretamente como resultado da falta de crontabs no <filename>/var</filename> criado pelo <filename>/etc/rc.d/var</filename>, o syslog e o dhcp também irão encontrar problemas como resultado do sistema de arquivos estar em modo read-only e dos itens ausentes no <filename>/var</filename> que o <filename>/etc/rc.d/var</filename> criou. Estes são apenas problemas temporários, embora sejam abordados, juntamente com soluções para a execução de outros pacotes de software comuns em <xref linkend="strategies"/>.
An important thing to remember is that a filesystem that was mounted read-only with <filename>/etc/fstab</filename> can be made read-write at any time by issuing the command: Uma coisa importante para lembrar é que um sistema de arquivos que foi montado como read-only com o <filename>/etc/fstab</filename> pode ser colocado em modo read-write a qualquer momento, executando o comando:
<prompt>#</prompt> <userinput>/sbin/mount -uw <replaceable>partition</replaceable></userinput> <prompt>#</prompt> <userinput>/sbin/mount -uw <replaceable>partition</replaceable></userinput>
and can be toggled back to read-only with the command: e pode ser alternado de volta para somente leitura com o comando:
<prompt>#</prompt> <userinput>/sbin/mount -ur <replaceable>partition</replaceable></userinput> <prompt>#</prompt> <userinput>/sbin/mount -ur <replaceable>partition</replaceable></userinput>
Building a File System from Scratch Construindo um sistema de arquivos a partir do zero
The easiest way to overcome this space limitation is to install FreeBSD using conventional means to a normal hard disk. After the installation is complete, pare down the operating system to a size that will fit onto your flash media, then tar the entire filesystem. The following steps will guide you through the process of preparing a piece of flash memory for your tarred filesystem. Remember, because a normal installation is not being performed, operations such as partitioning, labeling, file-system creation, etc. need to be performed by hand. In addition to the kern and mfsroot floppy disks, you will also need to use the fixit floppy. A maneira mais fácil de superar essa limitação de espaço é instalar o FreeBSD usando meios convencionais em um disco rígido normal. Após a conclusão da instalação, reduza o sistema operacional para um tamanho que caiba na mídia flash e compacte o sistema de arquivos inteiro com o tar. Os passos seguintes irão guiá-lo através do processo de preparação de uma parte da memória flash para o seu sistema de arquivos compactado com o tar. Lembre-se de que não estamos executando uma instalação normal, logo as operações como particionamento, criação dos labels, criação do sistema de arquivos, etc. precisam ser executadas manualmente. Além dos disquetes do kern e mfsroot, você também precisará usar o disquete do fixit.
Partitioning Your Flash Media Device Particionando seu Dispositivo de Mídia Flash
After booting with the kern and mfsroot floppies, choose <literal>custom</literal> from the installation menu. In the custom installation menu, choose <literal>partition</literal>. In the partition menu, you should delete all existing partitions using <keycap>d</keycap>. After deleting all existing partitions, create a partition using <keycap>c</keycap> and accept the default value for the size of the partition. When asked for the type of the partition, make sure the value is set to <literal>165</literal>. Now write this partition table to the disk by pressing <keycap>w</keycap> (this is a hidden option on this screen). If you are using an ATA compatible compact flash card, you should choose the FreeBSD Boot Manager. Now press <keycap>q</keycap> to quit the partition menu. You will be shown the boot manager menu once more - repeat the choice you made earlier. Após inicializar com os disquetes do kern e mfsroot, escolha <literal>custom</literal> no menu de instalação. No menu de instalação personalizada, escolha <literal>partition</literal>. No menu de partições, você deve apagar todas as partições existentes usando a tecla <keycap>d</keycap>. Depois de excluir todas as partições existentes, crie uma partição usando a tecla <keycap>c</keycap> e aceite o valor padrão para o tamanho da partição. Quando perguntado sobre o tipo da partição, certifique-se de que o valor esteja configurado para <literal>165</literal>. Agora escreva esta tabela de partições no disco pressionando <keycap>w</keycap> (esta é uma opção oculta nesta tela). Se você estiver usando um cartão compact flash compatível com ATA, deverá escolher o FreeBSD Boot Manager. Agora pressione <keycap>q</keycap> para sair do menu de partições. Você verá novamente o menu do gerenciador de inicialização - repita a escolha feita anteriormente.
Creating Filesystems on Your Flash Memory Device Criando Sistemas de Arquivos em seu Dispositivo de Memória Flash