Проблема со свободным местом на root при установке wb-hdmi

Добрый день. Есть wb8.5. Развернут дополнительно только home assistant на docker. Есть модуль hdmi, устанавливаю wb-hdmi и остается места на руте 3 процента. Как расширbть рут, сейчас 2 Гб.

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнительное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение.


У вас: контроллер Wiren Board 8.5, на нём дополнительно запущен Home Assistant в Docker, и при установке пакета wb-hdmi корневой раздел (/) размером ~2 ГБ остается почти заполненным (~3%). Нужна рекомендация, как «расширить рут».

Важный момент по WB8.5

На Wiren Board 8.5 eMMC обычно размечен так, что:

  • корневой раздел / (rootfs) небольшой (около 2 ГБ),
  • остальное пространство отдано под раздел /mnt/data (для пользовательских данных, контейнеров и т.п.).[1]

Расширять именно root-раздел «вручную» (переразметкой) не рекомендуется — это рискованно, может привести к потере данных и проблемам с обновлениями. Правильный путь — минимизировать использование места на / и перенести тяжелые данные в /mnt/data.


Что можно сделать сейчас

1. Проверить использование диска

Выполните по SSH:

df -h

И приложите вывод в ответ — инженерам будет проще оценить ситуацию.

Также полезно:

du -xh / | sort -h | tail -40

или хотя бы:

du -xh /var /opt /home /mnt -d 2 | sort -h

Это покажет, какие каталоги занимают больше всего места.


2. Разместить Docker / Home Assistant в /mnt/data

Если Docker сейчас пишет слои образов и контейнеры на корневой раздел (обычно /var/lib/docker), его нужно перенести в /mnt/data.

Шаги (общая схема):

  1. Остановить Docker:

    systemctl stop docker
    
  2. Создать каталог на data-разделе:

    mkdir -p /mnt/data/docker
    
  3. Перенести старые данные Docker (если уже есть):

    rsync -aHAX /var/lib/docker/ /mnt/data/docker/
    
  4. Переименовать старый каталог:

    mv /var/lib/docker /var/lib/docker.old
    
  5. Создать симлинк:

    ln -s /mnt/data/docker /var/lib/docker
    
  6. Запустить Docker:

    systemctl start docker
    

Проверьте, что всё работает, после чего старый каталог можно удалить:

rm -rf /var/lib/docker.old

Аналогично, если у Home Assistant есть конфигурации/бэкапы, которые сейчас лежат на / (например, в /root, /opt, /home), их желательно перенести в /mnt/data/… и использовать симлинки.


3. Очистка ненужных пакетов и кешей

  1. Очистка кеша apt:

    apt-get clean
    
  2. Удаление неиспользуемых пакетов:

    apt-get autoremove
    
  3. Если ставили много Docker-образов, можно почистить:

    docker system prune -a
    

    (Внимание: удалит неиспользуемые контейнеры/образы/сети.)


4. Почему не стоит «расширять root до всей eMMC»

На WB8.5 схема разделов и обновлений заточена под стандартный размер rootfs и наличие отдельного раздела для данных.[1:1]
Увеличение root-раздела путем переразметки:

  • может помешать обновлениям,
  • потребует ручной работы с fdisk/parted и resize2fs,
  • не является штатно поддерживаемой операцией.

Поэтому производитель рекомендует хранить тяжелые данные на /mnt/data и максимально разгружать /.


Если можете, пожалуйста, пришлите:

  1. Вывод:
    df -h
    
  2. Вывод:
    lsblk
    

Тогда можно будет предметно подсказать, где именно забивается место и что лучше перенести.


Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.


  1. Общая информация о файловой системе и разделах контроллеров Wiren Board:
    https://wirenboard.com/wiki/Обновление_PLC_Wiren_Board_по_воздуху ↩︎ ↩︎

root@wirenboard-ADRCGWTS:~# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/root 2.0G 1.8G 85M 96% /

devtmpfs 1.8G 0 1.8G 0% /dev

tmpfs 2.0G 4.0K 2.0G 1% /dev/shm

tmpfs 787M 1.6M 785M 1% /run

tmpfs 5.0M 0 5.0M 0% /run/lock

/dev/mmcblk0p6 55G 6.0G 47G 12% /mnt/data

overlay 55G 6.0G 47G 12% /mnt/data/.docker/rootfs/overlayfs/1e08ccbec3c7ab2af54cbea07dd5c3b70600fa36567b7ff325d9a944a6139a25

tmpfs 394M 0 394M 0% /run/user/0

root@wirenboard-ADRCGWTS:~# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

mmcblk0 179:0 0 58.2G 0 disk

├─mmcblk0p1 179:1 0 16M 0 part

├─mmcblk0p2 179:2 0 2G 0 part /

├─mmcblk0p3 179:3 0 2M 0 part

├─mmcblk0p4 179:4 0 1K 0 part

├─mmcblk0p5 179:5 0 256M 0 part [SWAP]

└─mmcblk0p6 179:6 0 56G 0 part /mnt/data

mmcblk0boot0 179:32 0 4M 1 disk

mmcblk0boot1 179:64 0 4M 1 disk

Добрый день.
В тестинг релизе, в экспериментальных сборках подобное доступно, но операция требует сброса и необратима.

это тестовый контроллер, можно поэскпериментировать. Есть мануал? Попробую сделать. Я так понимаю если расширить в тестовой, то уже обратно на стабильную не перейти, только ждать когда в стабильном релизе появится поддержка данного функционала?

Необходимо скопировать latest.fit на флешку FAT32 (по инструкции, например для WB 8+ (Обновление прошивки контроллера Wiren Board 8.4 — Wiren Board)), назвав wb_update_FACTORYRESET.fit

Создать рядом на флешке текстовый файл install_update.flags (убедитесь, что нет скрытого расширения .txt - расширение именно .flags) и добавить в него строчку
–extend-rootfs
Вставить флешку в выключенный контроллер, включить - далее стандартный процесс прошивки по инструкции.

Да, верно.

есть примерный дедлайн когда этот функционал будет оттестирован и попадет в стабильный релиз?

Нет, нету.

Сделал по инструкции фактори ресет с фалом install_update.flags, все сбросилось но место не изменилось на руте. Перед ключем extend-rootfs должно быть одно или два тире?

Два, --extend-rootfs