Ridimensiona il file system su OpenELEC


11

Stavo cercando di eseguire un aggiornamento e un errore mi ha detto che non avevo abbastanza spazio libero. Quindi mi sono collegato a Raspberry SSHper chiedere l'utilizzo del disco con:

df -h

E ho ottenuto il seguente risultato:

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

Il fatto è che la mia scheda SD è una scheda SD da 8 Gb e le dimensioni visualizzate sono più simili a 1 Gb, quindi la mia domanda è: perché non riesco a vedere l'intero spazio?

Risposte:


13

Modificato da qui , SSH nel tuo Raspberry Pi con OpenELEC in esecuzione e segui questi passaggi.

  1. SSH in come root, per impostazione predefinita ci si trova /storage; passa alla partizione root:

    $ cd /
    
  2. Impedisci il riavvio di XBMC:

    $ touch /var/lock/xbmc.disabled
    
  3. Interrompi XBMC, quindi possiamo smontare /storage:

    $ killall -9 xbmc.bin
    $ umount /storage
    
  4. Verifica supporti:

    $ mount
    $ parted /dev/mmcblk0
    
  5. In parte, cambia in settori visualizzare:

    $ unit s
    
  6. Mostra le partizioni, prendi nota del settore iniziale della tua partizione:

    $ p
    
  7. Rimuovi la partizione:

    $ rm 2
    
  8. Ricrearlo, utilizzando lo stesso numero di settore iniziale e terminando con "-1" per utilizzare lo spazio rimanente:

    $ 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 si riavvierà da solo.


Questo comando è presente sulla distribuzione openelec?
Darkheir,

Mi dispiace, ho sempre predefinito le istruzioni di Raspbian, cattiva abitudine: P. Ho risposto nuovamente alla domanda e ora dovrebbe funzionare.
syb0rg,

Non funziona Non riesco a smontare perché connmand sta usando / storage e non può essere ucciso
Rob,

Non funziona più! Vedi la risposta di Marcin sotto.
Herman,

18

OpenELEC ridimensiona / archivia al primo avvio dopo aver creato la SD. Ho cercato la sceneggiatura che lo fa. È https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/sysutils/busybox/scripts/fs-resize?source=c La prima riga di codice controlla il file /storage/.please_resize_me.

Quindi ... per ridimensionare la memoria per riempire la SD è necessario:

touch /storage/.please_resize_me
reboot

Fatto sul mio OpenELEC 4.0.7 e ha funzionato bene.


1
questa dovrebbe essere la risposta accettata
Chris

provato su 5.0.3 e ha funzionato come indicato
LowvaPrg

Sulla seconda riga dello script dice che non può ridimensionare se esiste una cartella chiamata kodi, config o cache. Ho preso tutti e tre ... Quindi come posso ridimensionare ora?
Peter Raeves,

4

Un problema che ho riscontrato (con la versione 3.1.5): umount / storage => "umount: impossibile umount / storage: dispositivo o risorsa occupata"

fuser -m / storage => pid del processo che stava bloccando il mount ho provato ad ucciderlo, ma ogni volta che un nuovo processo ha bloccato il mount. Devo uccidere + umount contemporaneamente con la pipe (in questo ordine): umount / storage | uccidi -9 pid

Questo è il lavoro!


Non funziona, Connmand si riavvia automaticamente prima che il terminale possa eseguireumount
Rob

2

Nel caso qualcuno abbia questo problema con la versione più recente: la
risposta di syb0rg è ottima ma
$ touch /var/lock/xbmc.disabled
$ killall -9 xbmc.bin

non funziona più ! Usa:
$ systemctl stop kodi.serviceinvece!


2

Openelec 5:

Controllare quale processo sta bloccando la partizione / archiviazione da smontare

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

Controllare se questi processi sono nella struttura di systemd e sono controllati da systemd.

systemctl status mostrerà l'albero del systemd.

In tal caso, ho dovuto interrompere quanto segue:

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

Verificare fuser -m /storagese ci sono ancora processi che bloccano quella directory. Nel caso in cui vengano restituiti alcuni PID, è possibile verificare quale processo è associato a quel PID in esecuzione ps -ef | grep $PID.

Se vedi qualcosa di simile -shè la tua sessione ssh che si trova nella directory / storage. cd /andare nella radice.

Altrimenti puoi uccidere quel processo con kill -9 $PID.

Ora puoi smontare in sicurezza la directory / storage tramite

umount /storage

Ora puoi ridimensionare la partizione (riporterò di nuovo poiché alcuni comandi sono stati modificati)

  1. Garantire a quale parte / deposito appartengono

    df -h

Nella maggior parte dei casi sarà /dev/mmcblk0p2(che è la partizione 2)

  1. Open parted per il dispositivo / dev / mmcblk0

    parted /dev/mmcblk0

  2. Mostra partizioni (ora assegniamo a quale partizione vogliamo ridimensionare)

    p

  3. Ridimensiona la partizione (in questo caso partizione 2 fino alla fine)

    resize 2 -1

    quit parted

  4. Ridimensiona il file system

    e2fsck -f /dev/mmcblk0p2

    resize2fs /dev/mmcblk0p2

    mount /dev/mmcblk0p2 /storage

    df -h

Se vuoi ridimensionare / flash è una storia completamente diversa.


1
Ha funzionato per me, tranne che parted /dev/mmcblk0era partede resize 2 -1doveva essereresizepart 2 -1
ChrisGheen

Finora la migliore risposta. Nient'altro ha funzionato per me tranne questa risposta.
Michael Malura,

1

Ho risolto il problema relativo all'uccisione di "smonta memoria /" in questo modo:

fuser -m /storage

5161

kill -9 5161 && umount /storage

Per me ha funzionato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.