systemd mount 'rootfs' de acordo com '/ proc / cmdline'

2

CONFIGURAÇÃO

Estou usando o Debian 8 (jessie / testing) amd64 com o systemd.

Na minha partição do sistema que contém um sistema de arquivos btrfs, eu tenho o seguinte layout:

/dev/sda1  
|-root  
|-root_snapshots/  
   |-snapshot#1
   |-snapshot#2

Para inicializar totalmente a partir de um instantâneo, tenho que alterar o subvolume:

  • em / etc / fstab
  • no console do grub (modo de edição)

ao inicializar.

PROBLEMA

A mudança para '/ etc / fstab' requer um sistema em execução - ou seja, de um flashdrive - o que eu quero evitar

CENÁRIO

Suponha que algo está realmente quebrado, e eu tive que arrancar a partir de um instantâneo # 1:
Eu prefiro apenas alterar o subvolume no console do grub e ter o rootfs montado no subvolume correto (aqui: snapshot # 1).

Sem uma mudança no / etc / fstab, o systemd ainda montaria o rootfs a partir da entrada especificada em / etc / fstab - > produzindo rootfs errados para serem montados

PERGUNTA

  • Pode ser dito ao systemd para montar o rootfs a partir do parâmetro 'rootflags = subvol =' de '/ proc / cmdline'
  • Ou existe outra solução para contornar esse problema
por Florian 12.03.2015 / 19:44

1 resposta

1

Eu acho que pode ser útil. Existe uma lista de parâmetros de linha de comando do kernel que o systemd entende: link
Existe uma opção fstab = e rd.fstab

Takes a boolean argument. Defaults to "yes". If "no", causes the generator to ignore any mounts or swaps configured in /etc/fstab. rd.fstab= is honored only by initial RAM disk (initrd) while fstab= is honored by both the main system and the initrd.

Portanto, se definido no grub / grub2 (não sei o que você está usando) root = / dev / required_dev fstab = não, ele deve inicializar como esperado.

    
por 12.03.2015 / 21:43