Manipulação do sistema de arquivos para o dispositivo Linux embarcado

1

Estou desenvolvendo um dispositivo que executará o Linux como seu sistema operacional. O dispositivo é um dispositivo X86 de fator de forma pequeno com uma unidade flash exposta como um dispositivo SATA. Portanto, não é muito diferente de qualquer outro PC com Linux.

Por várias boas razões, estou construindo minha própria "distribuição", em vez de usar uma já existente.

O que me confunde é como o mount / umaount do sistema de arquivos raiz é manipulado. Eu inicializo meu kernel com a linha de comando "root = / dev / sda1 rw" que funciona bem. Mas toda vez que eu faço poweroff ou reinicio o Busybox reclamou de nenhum / etc / fstab, então eu decidi construir um.

Devo ter uma entrada para o meu sistema de arquivos raiz? Parece que isso é sombreado pelos rootfs de qualquer maneira. Ou seja se eu tiver a entrada fstab "/ dev / sda1 / ext2 1 1" mount ainda relata

  rootfs on / type rootfs (rw)
  /dev/root on / type ext2 (rw,relatime,errors=continue)

Minhas perguntas são:

  1. Preciso me preocupar? A unidade será desmontada corretamente pelo kernel no poweroff / reboot?
  2. Se eu quiser realizar a verificação do sistema de arquivos na inicialização, posso fazer isso sem recorrer a um initrd?
por Hannes Ovrén 21.01.2011 / 14:21

1 resposta

1

Na inicialização, o Kernel precisa da raiz apenas para ler o processo init (ex. /init ).

Durante esta etapa, a raiz NÃO DEVE ser montada como leitura-gravação, pode causar erros.

A montagem da raiz de leitura e gravação é executada pelo /etc/fstab .

Se você tiver a necessidade de montar um sistema de arquivos sem um /etc/fstab , use a opção -n .

    
por 04.04.2011 / 21:38