Como posso tornar o sistema de arquivos somente leitura gravável no BusyBox?

2

Eu quero alterar alguns arquivos no meu roteador. Em primeiro lugar, posso alterar tudo em /var , mas quero alterar /etc/fstab . Quando tento alterá-lo, recebo uma mensagem de erro que diz que o sistema de arquivos é somente leitura.

BusyBox dentro do roteador tem comandos limitados, então eu tenho um binário BusyBox para MIPs , e carregado por tftp:

tftp -g -r busybox-mips my.i.p.addr

Agora posso usar comandos completos (comando / var / tmp / busybox-mips).

Não há ROM dentro do roteador (SDRAM), nem há outra partição. Deve estar relacionado com o BusyBox.

# /var/tmp/busybox-mips df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 1344      1344         0 100% /

# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw,nodiratime)
ramfs on /var type ramfs (rw)
# 

Model: 
        Airties 5021
Processor:
        BCM6332KFBG
        HS1037 P12
        994981 N1
Memory: 
        M12L64164A-7T (SDRAM)
        ANM1P02HL 1028
    
por kursat 26.08.2011 / 14:45

2 respostas

1

O Squashfs é imutável. Para alterar o / etc / fstab você precisaria fazer uma nova imagem do seu roteador em uma caixa linux. Para obter isso no roteador, você faz uma "atualização de firmware".

Você também pode procurar em / proc / mounts para verificar se mount está mentindo para você, pois ele só lê /etc/mtab . Mas o último é na maioria das distros um elo simbólico.

    
por 30.08.2011 / 10:23
1

Você pode tornar a coisa gravável para a sessão atual, mas a alteração não será persistente: depois que você reinicializar, as alterações serão perdidas. Para fazer isso, monte um tempfs em algum lugar, copie o conteúdo de /etc para ele e, em seguida, mount --move para /etc .

Se você precisar de alterações persistentes, terá que recriar seus squashfs. Outras respostas já incluem mais detalhes sobre isso.

    
por 10.01.2014 / 13:58

Tags