systemd: desativa tmpfs inúteis

1

Contexto: sistema incorporado, MMC somente leitura com tmpfs de sobreposição. Tudo é escrito para RAM & desaparece ao reiniciar.

systemd insiste em criar várias tmpfs montagens (pelo menos /run /run/lock /run/shm e /tmp do topo da minha cabeça, talvez outras), que são totalmente inúteis, pois a leitura inteira somente o sistema de arquivos já está sobreposto por um tmpfs .

Problema: este é um sistema embutido bastante restrito e cada byte de contagens de RAM. Gostaria de evitar a sobrecarga de gerenciar vários tmpfs em locais diferentes e colocar tudo na sobreposição tmpfs principal.

Infelizmente, até agora, só consegui desabilitar /tmp ( systemctl mask systemd-tmpfiles* ), mas isso não é suficiente para a hierarquia /run .

Alguma ideia de onde essas configurações estão ocultas?

    
por syam 13.09.2018 / 22:06

1 resposta

2

Fora do topo da minha cabeça:

Obrigatório:

/sys/fs/cgroup não pode ser desativado, pois a funcionalidade padrão do systemd depende de cgroups.

/dev não pode e não deve ser desativado, pois não é um tmpfs regular - é um devtmpfs, onde o kernel cria automaticamente nós para dispositivos hotplugged. (Isso funciona mesmo sem o udev.)

Difícil:

/run não pode ser desativado; você pode consertar da tabela no src/core/mount-setup.c do systemd, mas fazê-lo somente enquanto o local ainda fornecer as mesmas propriedades semelhantes a tmpfs.

/run/shm também não pode ser desativado, pois é necessário que a glibc implemente a memória compartilhada POSIX. Mais uma vez, você pode consertar isso de src/core/mount-setup.c , contanto que a localização permaneça em um tmpfs. Tenha em mente que esse caminho é um patch de distribuição personalizado - tradicionalmente esse sistema de arquivos estaria em /dev/shm .

Opcional:

/dev/mqueue , /dev/hugepages são montados de acordo com seus arquivos .mount unit, que podem ser excluídos.

/run/lock não é realmente um tmpfs por padrão. Se você vir algo montado nesse local, ele deve ser a adição personalizada da sua distribuição e, muito provavelmente, pode ser desativado removendo a run-lock.mount unidade.

/tmp é opcional e é montado de acordo com a unidade tmp.mount . Você pode remover esse arquivo de unidade.

Eu ficaria muito surpreso se uma montagem tmpfs custasse mais do que uma página de memória.

    
por 14.09.2018 / 06:54