Como o kernel do Linux decide se um dispositivo de bloco recebe o sinalizador somente leitura configurado por padrão?

3

Eu tenho um stick USB que (por cerca de 2 meses) é constantemente montado somente para leitura. Depois de um pouco de pesquisa e teste, descobri que os dispositivos de bloco do próprio dispositivo ( /dev/sdc ) e uma das partições ( /dev/sdcX ) sempre tem sinalizadores somente leitura ( cat /sys/block/sdc/ro e cat /sys/block/sdcX/ro é 1).

Não estou falando de opções de montagem! Eu tenho que definir manualmente o sinalizador para 0 com hdparm -r0 /dev/sdcX para poder montar as partições como leitura-gravação e escrever nelas (sim, a escrita funciona) toda vez que eu conecto o dispositivo USB e depois de uma reinicialização. O pen drive USB não possui um switch de hardware somente leitura. Eu já formatava as partições, recriava a tabela de partições e até fiz dd if=/dev/zero of=/dev/sdc para garantir que a antiga tabela de partição fosse completamente destruída, mas nada mudou.

OBSERVAÇÃO: Outros dispositivos, no entanto, não têm esse sinalizador somente leitura definido por padrão.

Então, como o kernel do Linux decide se deseja definir o sinalizador somente leitura para um dispositivo de bloco por padrão ou não? E como posso alterar esse comportamento permanentemente e desde o início? (Na verdade, eu inicializo meu Raspberry Pi a partir deste pendrive, mas o comportamento de somente leitura é o mesmo no meu laptop com kernels diferentes ...)?

    
por CodingMarco 15.08.2018 / 01:22

0 respostas