Como apagar a tabela de partição gpt e como fazer a partição antiga esquecer as informações de montagem

2

Temos uma placa customizada baseada em preto da Beaglbone com 256 MB de RAM e eMMC de 4 GB.

Temos um script para o software flash no quadro.
Script apaga a tabela de partições gpt usando os seguintes comandos

#Delete primary gpt (first 17KiB)
dd if=/dev/zero of=/dev/mmcblk0 bs=1024 count=17
#Delete secondary gpt (last 17KiB)
dd if=/dev/zero of=/dev/mmcblk0 seek=3735535 bs=1024 count=17

As partições são excluídas, porém o script reinicia o eMMC novamente no mesmo número de partições.
Depois disso, ele tenta formatar cada partição usando mkfs.ext4 (e2fsprogs versão 1.42.13).

Agora, durante a formatação de uma partição, mkfs.ext4 reclama que a partição possui um sistema de arquivos e foi montada em determinada data passada, perguntando se deve continuar?

/dev/mmcblk0p15 contains a ext4 file system labelled 'rootfs'
        last mounted on /mnt/rfs_src on Fri Feb 16 13:52:18 2018
Proceed anyway? (y,n)

Isso não estava acontecendo no passado, ou seja, com a versão e2fsprog 1.42.8
mesmo script usado para trabalhar.

Da nota de lançamento de e2fsprog-1.42.13 , vejo que last mounted é adicionado a alguma estrutura.

Agora, a questão é como podemos remover essa informação last mounted da partição?

Eu tentei wipfs -a , mas ele tem o mesmo comportamento. Uma maneira de zerar enquanto eMMC, no entanto, isso vai levar muito tempo.

Alguma sugestão / ponteiros?

    
por AnkurTank 16.02.2018 / 23:37

2 respostas

0

Graças a @frostschutz, sua sugestão funcionou.
Apenas por completude estou adicionando isso como uma resposta,

Usar os seguintes comandos fez o truque para mim.

wipefs -a /dev/mmcblk0p[0-9]*
wipefs -a /dev/mmcblk0

Primeiro comando de informações do sistema de arquivos apagados de cada partição. segundo comando tabela de partições apagadas.
Espero que ajude alguém com problemas semelhantes.

    
por 21.02.2018 / 15:29
2

Na página man do mkfs.ext4 :

   -F     Force mke2fs to create a filesystem, even if the specified
          device is not a partition on a block special device, or if
          other parameters do not make sense.  In order to force mke2fs
          to create a filesystem even if the filesystem appears to be in
          use or is mounted (a truly dangerous thing to do), this option
          must be specified twice.

você pode adicionar a opção -F a mkfs.ext4 no script para ignorar a pergunta e continuar sem supervisão. Não está claro a partir da descrição que este é o caso "ou se outros parâmetros não fizerem sentido". Eu verifiquei que apenas um único -F é necessário, portanto, ainda protegendo contra a formatação acidental de um sistema de arquivos montado.

Eu não acho que o último diretório montado esteja relacionado a isso. É apenas mais à prova de falhas adicionado. Da mesma forma, algumas versões mais recentes do fdisk ou gdisk interativo fazem o oposto: quando detectam que um sistema de arquivos anterior estava presente ao criar uma nova partição, elas oferecem a limpeza da assinatura.

    
por 17.02.2018 / 00:56