나는 리눅스를 실행하는 임베디드 장치를 다루고 있습니다. 이 장치의 제조업체는 루트 파일 시스템을 읽기 전용으로로드하도록 설정되어 있습니다.
/ etc / mtab에서 :
rootfs / rootfs rw 0 0
/dev/root / squashfs ro,relatime 0 0
이는 새 사용자 추가와 같이 / etc 내의 파일을 수정할 수 없음을 의미합니다.
루트 디렉토리를 다시 마운트하려고 시도했습니다.
mount -o remount,rw -t squashfs /dev/root /
하지만 난 그냥 오류가 발생
mount: cannot remount block device /dev/root read-write, is write-protected
나는이 오류를 찾아 사람들이 blockdev를 사용한다고 말하고있었습니다. 시스템에는 blockdev가 설치되어 있지 않으므로 크로스 컴파일하여 복사했습니다. 그런 다음 나는 달렸다
blockdev --setrw rootfs
그러나 다시 오류가 발생했습니다.
blockdev: cannot open rootfs: No such file or directory
/ etc를 아직 쓸 수없는 경우 쓰기 가능하게 만들 수 있습니까? 시스템에 대한 루트 액세스 권한이 있지만 파일 시스템 '오프라인'에 액세스 할 수 없습니다. 모든 변경은 Bash 명령을 통해 수행해야합니다.
/etc
부팅시 nvram의 특정 설정에 따라 파일을 무시할 수 있습니다 . 따라서 파일을 변경하려면/etc
"magic"시스템 변수를 설정하고 nvram에 커밋 한 다음 구성을 다시로드하거나 다시 부팅하십시오. 대부분의 가정용 라우터는 이와 같이 작동합니다. 그러나 정확한 메커니즘과 명령은 시스템마다 다릅니다.