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 ...)?