Loading
0
1
Добрый день!
У меня появилась необходимость поставить примитивный вебсервер на базе роутера. В наличии имеется TP-Link WR703N на MIPS-24 проце, 32МБ памяти.
Первая проблема: не могу понять, почему файловая система монтирована с флагом read-only? Это было задано при прошивке? Т.е. мне нужно его перепрошивать и убирать этот флаг? Из-за этого я не могу настроить конфиг установленного сервера uhttpd.
Вторая проблема:
сейчас доступно всего 40 КБ места, чего не хватает для скачивания хотя бы пакетов для монтирования флэшки. Что-либо еще я установить я тоже не могу.
Как быть?
UPD1:
Состояние памяти в вкладке Overview интерфейса LuCi. Как можно видеть, свободной памяти — мегабайты.
Состояние памяти в вкладке Software интерфейса LuCi
Вывод команды ls с информацией о памяти
Почему везде разный вывод?
Пытался использовать комаду mount -O / «remount,rw», изменять права доступа, работаю по ssh от рута. Писать получается только в /tmp
UPD2:
Подведу итог для тех, кто будет в будущем задаваться тем же вопросом:
- Каталоги /etc/ были read-only по неопределенной причине. Эта проблема исчезала при перекомпиляции и перепрошивке openwrt.
- Определенные каталоги файловой системы все же read-only в соответствии с тем, как решили разбить внутреннюю flash и ram память разработчики openwrt. Коротко говоря: каталоги openwrt состоят из read-only ФС SquashFS и read-write ФС JFFS2, которые объединены при помощи еще одной ФС OverlayFS.
Конкретнее об этом написано в двух последних сообщениях темы и по ссылкам в этих сообщениях
- Если нужно устанавливать более, чем 1-2 пакета, то нужно подключать usb-flash. Для этого:
- Отформатировать флешку под ext4 (Я использовал эту утилиту )
- Откомплировать и прошить openwrt вместе с пакетами kmod-usb-core, kmod-usb-ohci, kmod-usb-storage, kmod-usb2, kmod-fs-ext4, block-mount (т.е. в меню команды make menuconfig выбрать эти пакеты)
Стоит учесть, что block-mount может и не влезть в прошивку (т.е. его не будет в системе после прошивки). Тогда нужно будет установить его через opkg. Скорее всего места хватит под этот единственный пакет.
- Следовать инструкции по подключению флешки
Теперь проблем с дисковым пространством возникнуть не должно.
I have installed minimal OpenWRT firmware on Linksys router.
When I try to modify some of the files withing /etc/
directory for example firewall.user
file by using command vi firewall.user
it opens file in read-only
attributes only.
How can I enable editing of files? The chmod
command isn’t accessible and my memory in router is very limited, therefore installing any extra resources is not an option.
asked Oct 13, 2012 at 8:29
The filesystem is mounted read only, you need to change how it is mounted.
But most embedded system don’t work that way, and in those cases you need to modify the image you flashed the device with so it is correct from the start.
answered Oct 13, 2012 at 9:20
JohanJohan
4,4632 gold badges26 silver badges33 bronze badges
Well, in my case, I have installed OpenWRT into a SD card and plugged into a Raspberry PI 2. Immediately after the installation I got errors like that one:
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.
I tried things like:
mount -o remount,rw /
with no success.
My solution was to flash again the SD card and than I was able to install packages and write into the disk with no trouble.
answered May 21, 2018 at 22:28
4
This often appears to be down to filesystem corruption. When the filesystem is mounted as read only it is possible to use the fsck
filesystem check/repair tool — provided you have already installed it (e.g. for the ext2/3/4 based filesystems it is package e2fsprogs
):
fsck /dev/sdb1
Alternatively if the image is stored on a micro/SD card/removable storage then you can plug it into another Linux box and run fsck
to repair the filesystems so it can be mounted again. When you insert the micro/SD into the other Linux box check dmesg
to find the device name (e.g. /dev/sdb1) and run fsck
as above.
answered Dec 2, 2018 at 21:07
PierzPierz
6619 silver badges9 bronze badges
|
#1 |
Junior Member Регистрация: 04.02.2017 Сообщений: 16 Вес репутации: 0 |
Прошу вашей помощи в данном деле. mount/dev/sda4 on /mnt/HDD type ntfs (ro,relatime,uid=0,gid=0,umask=00,nls=utf8,error s=continue,mft_zone_multiplier=1) [свернуть]
Последний раз редактировалось ippvir; 16.07.2017 в 23:52.
|
|
|
|
#2 |
Senior Member
|
А если так монтировать: PHP код:
|
|
|
|
#3 |
Junior Member Регистрация: 04.02.2017 Сообщений: 16 Вес репутации: 0 |
/mnt/HDD$ mount -t ntfs /dev/sda1 /mnt/HDD -o rw,umask=0,nls=utf8 opkg listbase-files — 156-r42625 [свернуть]
Последний раз редактировалось ippvir; 17.07.2017 в 23:36.
|
|
|
|
#4 |
Senior Member |
Код: opkg install ntfs-3g |
|
|
|
#5 |
Junior Member Регистрация: 04.02.2017 Сообщений: 16 Вес репутации: 0 |
Цитата:
Сообщение от solalex Код: opkg install ntfs-3g поставил но никаких изменений(( |
|
|
|
#6 |
Senior Member |
|
|
|
|
#7 |
Senior Member
|
А в винде этот диск читается/пишется? |
|
|
No, the overlayfs was mounted r/o. I don’t know why this happened. I rebooted the device, but this didn’t happened again.
root@openwrt:~# mount
proc on /proc type proc (ro,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
tmpfs on /dev type tmpfs (ro,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (ro,relatime,mode=600,ptmxmode=000)
mountd(pid2330) on /tmp/run/blockd type autofs (ro,relatime,fd=7,pgrp=1,timeout=30,minproto=5,maxproto=5,indirect)
[reboot]
root@openwrt:~# mount
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
/dev/mtdblock4 on /overlay type jffs2 (rw,noatime)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
mountd(pid2192) on /tmp/run/blockd type autofs (rw,relatime,fd=7,pgrp=1,timeout=30,minproto=5,maxproto=5,indirect)
I guess that something went horrible wrong. I can’t reproduce that issue, but nevertheless, maybe a warning symbol would be useful