Змініть розмір файлової системи на OpenELEC


11

Я намагався виконати оновлення, і помилка сказала мені, що у мене недостатньо вільного місця. Тому я підключився до своєї Raspberry через SSHзапит на використання диска за допомогою:

df -h

І я отримав такий результат:

Filesystem                Size      Used Available Use% Mounted on
devtmpfs                185.1M     87.5M     97.6M  47% /dev
/dev/mmcblk0p1          124.7M     96.2M     28.6M  77% /flash
/dev/mmcblk0p2          755.9M    739.4M         0 100% /storage
/dev/loop0               87.5M     87.5M         0 100% /
tmpfs                    74.6M         0     74.6M   0% /dev/shm
tmpfs                    10.0M    684.0K      9.3M   7% /var

Справа в тому, що моя SD карта - це 8 Гбіт SD карта, і розмір, який вона відображає, більше нагадує 1 Гбіт, тому моє питання полягає в тому, чому я не можу побачити весь простір?

Відповіді:


13

Змінено звідси , SSH у ваш Raspberry Pi під керуванням OpenELEC і виконайте ці кроки.

  1. SSH як root, за замовчуванням ви знаходитесь /storage; перейти до кореневого розділу:

    $ cd /
    
  2. Захистіть XBMC від перезавантаження:

    $ touch /var/lock/xbmc.disabled
    
  3. Зупиніть XBMC, щоб ми могли відключити /storage:

    $ killall -9 xbmc.bin
    $ umount /storage
    
  4. Перевірте кріплення:

    $ mount
    $ parted /dev/mmcblk0
    
  5. Розділившись, перейдіть до відображення секторів:

    $ unit s
    
  6. Покажіть розділи, зверніть увагу на запуск сектору вашого розділу:

    $ p
    
  7. Видаліть розділ:

    $ rm 2
    
  8. Створіть його заново, використовуючи той самий номер початкового сектора та закінчуючи на "-1", щоб використовувати залишок місця:

    $ mkpart primary 258048 -1
    $ quit parted
    $ e2fsck -f /dev/mmcblk0p2
    $ resize2fs /dev/mmcblk0p2
    $ mount /dev/mmcblk0p2 /storage
    $ df -h
    $ rm /var/lock/xbmc.disabled
    
  9. XBMC знову запуститься самостійно.


Чи присутня ця команда в дистрибутиві openelec?
darkheir

Вибачте, я завжди за замовчуванням до інструкцій Raspbian, шкідлива звичка: P. Я повторно відповів на питання, і тепер це має працювати.
syb0rg

Не працює. Я не можу відключити, тому що connmand використовує / зберігає, і це не може бути вбито
Роб

Більше не працює! Дивіться відповідь Марсіна нижче.
Герман

18

OpenELEC змінює розмір / зберігання під час першого завантаження після створення SD. Я шукав сценарій, який це робить. Це https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/sysutils/busybox/scripts/fs-resize?source=c Перший рядок коду перевіряє файл /storage/.please_resize_me.

Отже ... щоб змінити розмір пам’яті для заповнення SD, потрібно:

touch /storage/.please_resize_me
reboot

Зробив це на моєму OpenELEC 4.0.7 і добре працював.


1
це має бути прийнята відповідь
Кріс

спробував це на 5.0.3, і він працював, як зазначено
LowvaPrg

У другому рядку сценарію написано, що він не може змінити розмір, якщо існує папка під назвою kodi, config або кеш. У мене їх усі 3 ... Тож як мені змінити розмір зараз?
Пітер Рейвз

4

У мене виникла проблема (з версією 3.1.5): umount / storage => "umount: не вдається змінити / зберігати: пристрій чи ресурс зайнятий"

fuser -m / storage => pid процесу, який блокував кріплення, я намагався його вбити, але кожен раз, коли новий процес блокував кріплення. Я маю вбити + umount одночасно з трубою (у цьому порядку): umount / storage | вбити -9 під

Ось зробіть роботу!


Не працює, connmand перезавантажується автоматично перед тим, як термінал може запуститиumount
Rob

2

Якщо хтось має цю проблему з новітньою версією:
відповідь syb0rg чудова, але
$ touch /var/lock/xbmc.disabled
$ killall -9 xbmc.bin

більше не працює ! Використовуйте:
$ systemctl stop kodi.serviceнатомість!


2

Openelec 5:

Перевірте, який процес блокує відключення розділу / сховища

lsof | grep "/storage" (will return the PID of the process)

Перевірте, чи є ці процеси в системному дереві та чи контролюються вони systemd.

systemctl status покаже системне дерево.

У випадку, якщо мені довелося зупинити наступне:

systemctl stop cron.service
systemctl stop connman.service
systemctl stop kodi.service

Перевірте, fuser -m /storageчи все ще є процес блокування цього каталогу. У разі повернення певного PID ви можете перевірити, який процес пов'язаний із запущеним PID ps -ef | grep $PID.

Якщо ви бачите щось подібне, -shце ваш сеанс ssh, який знаходиться в каталозі / storage. cd /йти в корінь.

Інакше ви можете вбити цей процес за допомогою kill -9 $PID.

Тепер ви можете безпечно відключити каталог / зберігання через

umount /storage

Тепер ви можете змінити розмір розділу (я звітую ще раз, оскільки деякі команди змінені)

  1. Переконайтеся, до якого розділу / сховища належать

    df -h

У більшості випадків це буде /dev/mmcblk0p2(що є розділом 2)

  1. Відкрити пробір для пристрою / dev / mmcblk0

    parted /dev/mmcblk0

  2. Покажіть розділи (ми тепер зможемо змінити розмір)

    p

  3. Змініть розмір розділу (цей розділ 2 - до кінця)

    resize 2 -1

    quit parted

  4. Змініть розмір файлової системи

    e2fsck -f /dev/mmcblk0p2

    resize2fs /dev/mmcblk0p2

    mount /dev/mmcblk0p2 /storage

    df -h

Якщо ви хочете змінити розмір / флеш - це зовсім інша історія.


1
Працював для мене, за винятком того, що parted /dev/mmcblk0було partedі resize 2 -1потрібноresizepart 2 -1
ChrisGheen

Найкращий покинутий досі. Ніщо інше не працювало для мене, окрім цього враження.
Майкл Малура

1

Я вирішив питання про "відключення зберігання /" вбивства таким чином:

fuser -m /storage

5161

kill -9 5161 && umount /storage

Це працювало для мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.