Como desbloquear o sistema de arquivos somente leitura na distribuição linux do roteador OpenWRT?

3

Eu instalei o firmware mínimo do OpenWRT no roteador Linksys.

Quando tento modificar alguns dos arquivos no diretório /etc/ , por exemplo, firewall.user file usando o comando vi firewall.user , ele abre o arquivo somente nos atributos read-only .

Como posso ativar a edição de arquivos? O comando chmod não está acessível e minha memória no roteador é muito limitada, portanto, a instalação de recursos extras não é uma opção.

    
por HelpNeeder 13.10.2012 / 10:29

3 respostas

3

O sistema de arquivos é montado somente para leitura, você precisa mudar como ele é montado.

Mas a maioria dos sistemas embarcados não funciona dessa maneira e, nesses casos, é necessário modificar a imagem com a qual você passou o dispositivo para que esteja correto desde o início.

    
por 13.10.2012 / 11:20
0
Bem, no meu caso, instalei o OpenWRT em um cartão SD e conectei-o a um Raspberry PI 2. Imediatamente após a instalação, recebi erros como esse:

Installing kmod-usb-net (3.18.23-1) to root...
Collected errors:
* wfopen: //usr/lib/opkg/info/libusb-1.0.control: Read-only file system.

Eu tentei coisas como:

mount -o remount,rw /

sem sucesso.

Minha solução foi fazer o flash novamente no cartão SD e então eu consegui instalar pacotes e gravar no disco sem problemas.

    
por 22.05.2018 / 00:28
0

Isso geralmente parece estar relacionado à corrupção do sistema de arquivos. Quando o sistema de arquivos é montado como somente leitura, é possível usar a ferramenta de verificação / reparo fsck - desde que você já o tenha instalado (por exemplo, para os sistemas de arquivos baseados em ext2 / 3/4):

fsck /dev/sdb1

Como alternativa, se a imagem estiver armazenada em um cartão micro / SD / armazenamento removível, você poderá conectá-la a outra caixa do Linux e executar e2fsprogs para reparar os sistemas de arquivos, para que possam ser montados novamente. Quando você inserir o micro / SD na outra caixa Linux, verifique fsck para encontrar o nome do dispositivo (por exemplo, / dev / sdb1) e execute dmesg como acima.

    
por 02.12.2018 / 22:07