Почему файлы в системе OpenWrt монтируются только для чтения?

У меня нет опыта работы с OpenWrt на роутерах, так как я использовал только полноценные дистрибутивы Linux. Я установил OpenWrt 18.06 на роутер TP-Link WR841N, он работает, но файловая система монтируется в режиме read-only. Файловая система использует squashfs, которая, как я понимаю, всегда работает в режиме read-only, в результате чего все изменения (установленные пакеты и настройки интерфейсов) сбрасываются после перезагрузки. 

Я нашел информацию о том, что это может быть нормой, но не до конца понимаю ситуацию. Это типично для всех роутеров или только для моей модели из-за ограниченной памяти (2 МБ ПЗУ)? Может ли это быть связано с ошибкой при записи образа, хотя установка производилась как обновление, а не при помощи программатора? Есть ли смысл попробовать установить OpenWrt на более производительный роутер? Или же OpenWrt всегда остаётся read-only системой? Как вообще можно использовать систему в таком случае?
  • 17 марта 2025 г. 18:34
Ответы на вопрос 3
OpenWrt действительно использует файловую систему типа `squashfs` для начальной загрузки, которая, как вы правильно заметили, монтируется в режиме "read-only". Это делается для оптимизации использования ограниченных ресурсов на роутерах, так как `squashfs` экономит место и позволяет быстро загружаться.

Однако, чтобы сохранять изменения (например, установленные пакеты или изменения в конфигурации), OpenWrt использует другую область памяти, называемую `overlayfs`, которая монтируется в режиме "read-write". Эта область, как правило, располагается в оперативной памяти (RAM) или в совместимой файловой системе, которая управляется в режиме "writeable".

### Ответы на ваши вопросы:

1. **Типично ли это для всех роутеров?**  
   Да, многие роутеры с ограниченными ресурсами используют `squashfs` в качестве основной загрузочной файловой системы для обеспечения эффективного использования небольшого объема флеш-памяти. Поэтому это распространенная практика, а не проблема конкретной модели.

2. **Связано ли это с ошибкой при записи образа?**  
   Скорее всего, нет. Операция обновления сама по себе не должна вызывать проблем с монтированием файловой системы, если образ был корректно установлен.

3. **Есть ли смысл устанавливать OpenWrt на более производительный роутер?**  
   Если вы планируете использовать более сложные функции, требующие большего объема памяти или производительности, то да, имеет смысл попробовать установить OpenWrt на более производительный роутер. Однако это не значит, что на вашем текущем роутере OpenWrt не будет функционировать. Вы можете и дальше использовать его, ограничиваясь возможностями вашего оборудования.

4. **Как использовать систему в таком случае?**  
   Чтобы ваши настройки и установленные пакеты сохранялись между перезагрузками, в OpenWrt реализована система, которая сохраняет данные на `overlayfs`. Вы можете настроить дополнительные опции через интерфейс LuCI или обрабатывая конфигурационные файлы через командную строку. Например, вам не нужно беспокоиться о перезагрузках, если вы производите изменения через интерфейсы или правильно работаете с командой `uci`.

### Рекомендации:

- Установите необходимые вам пакеты и настройте систему, как вам нужно.
- Периодически создавайте резервные копии настроек (через LuCI или команду `sysupgrade`), чтобы в случае серьезных изменений или проблем можно было восстановить конфигурацию.
- Если вам нужно больше функциональности или ресурсов, рассмотрите возможность использования более мощных роутеров, совместимых с OpenWrt.
нет опенВРТ это не read-only система 
на железе с норм количеством памяти она работает по сути как обычный измененный линукс

видимо проблема именно в нехватке памяти на Вашем устройстве

поставьте образ x86 на виртуалку и погоняйте
squashfs readonly, а рядом с ней сидит ext4 или другая специализированная ФС, и они совмещаются в overlayfs. 

/dev/root on /rom type squashfs (ro,relatime,errors=continue)

это read-only часть

overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work,xino=off)

это корень, и он rw.

RPI/OrangePi будут гораздо хуже. Но и на них лучше (проще) для целей маршрутизации устанавливать OpenWRT. а также для создания простого NAS и многого другого.

https://openwrt.org/toh/tp-link/tl-wr841nd
по ссылке видим:
This device is NOT RECOMMENDED for future use with OpenWrt due to low flash/ram.
DO NOT BUY DEVICES WITH 4MB FLASH / 32MB RAM

Почему настройки не сохраняются, разбираться нет смысла. Скорее всего, вы установили пакет какой-то, и место для настроек кончилось. Можно посмотреть, сколько есть места:
df -h
Похожие вопросы