i have check file permission for rc.local and its read only and i can not change it or remove or etc...
root@OpenWrt:/etc# chmod 755 rc.local
chmod: rc.local: Read-only file system
root@OpenWrt:~# mount; df -h
rootfs on / type rootfs (rw)
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,noatime)
sysfs on /sys type sysfs (rw,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
/dev/mtdblock3 on /overlay type jffs2 (rw,noatime)
overlayfs:/overlay on / type overlay (ro,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
tmpfs on /dev type tmpfs (rw,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
Filesystem Size Used Available Use% Mounted on
rootfs 576.0K 508.0K 68.0K 88% /
/dev/root 2.3M 2.3M 0 100% /rom
tmpfs 13.9M 624.0K 13.3M 4% /tmp
/dev/mtdblock3 576.0K 508.0K 68.0K 88% /overlay
overlayfs:/overlay 576.0K 508.0K 68.0K 88% /
tmpfs 512.0K 0 512.0K 0% /dev
Time for a new device. Your router only has 4MB flash and 32MB RAM. It looks like it is out of space (or nearly so), so it is probably not able to save new files. But it also looks like your overlay is mounted as RO, so maybe that is part of it.
This is very old, unsupported, and has multiple known security vulnerabilities that are actively exploited. Please do not use this version any more.
I'm actually not sure how to fix the overlay RO issue (or if it matters, since the rootfs is RW), but someone else might be able to chime in about that.
At least upgrade to LEDE 17, or better yet OpenWrt 18.06.8 to have better security. but those will have a hard time running on your system.
which is why it would be best to get a newer router. Have you tried LEDE 17 (which is still very much unsupported, obsolete, and insecure)? It may still be able to fit in the necessary footprint, but at least it has a bunch of security patches relative to ChaosCalmer.
I'm not sure what you mean here.... but, if you are asking about the smallest OpenWrt installation for this device, there is only one official release. You can build your own image to save some space (and you can even pre-install packages like curl and include other configuration details in the base image).
I honestly don't know offhand if the issue is out of space or the overlay mounted as RO. But either way, I wouldn't spend a lot of time on this version -- at least try upgrading to 17 and go from there.
Sure it matters, as the rootfs is in practice the RO /rom + RW /overlay, seen together as combined fs thanks to overlayfs. When overlayfs seen too little working space, it mounts as RO, and the whole rootfs is RO in practice.
Like said above by @psherman , overlay is too full, it is mounted as read-only.
The solution is to go to /overlay directory directly (as the dev/mtdblock3 is still RW), and delete enough files that there are 4-5 of 64 kb eraseblocks free in /overlay, and then reboot. The the overlayfs can again mount itself as RW.
In practice you need some 256-320 kB as free space always.
I'm not entirely sure what you are asking... but I'll try to answer:
if you attempt to delete any of the default/included packages from normal running installation, it will actually take more space. This is because the packages are confined in ROM, therefore they cannot actually be erased. But, when you use the delete function, it 'marks' the package as deleted, which means it has to write a file to the RW flash storage space to indicate the deleted status. This actually takes up more space than would be expected due to the size of the erase blocks in the flash memory.
If you build your own image and remove/omit a package from the image, it will save space (see the link I posted earlier). The image as a whole will get smaller, which means you will have more available/usable space for installing packages.
If you attempt to put too much stuff into the image and it exceeds the available flash storage size, it may fail to complete the image building process. However, if there is 'just enough' room, you may find that an image can be built and installed, but you may not have enough space remaining to store your configuration (the symptom of this situation is that the configuration appears to work fine until a reboot, at which point it goes back to the default state).