Cambiar el tamaño del sistema de archivos en OpenELEC


11

Estaba intentando realizar una actualización y un error me dijo que no tenía suficiente espacio libre. Así que me conecté a mi Raspberry SSHpara solicitar el uso del disco con:

df -h

Y obtuve el siguiente resultado:

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

La cuestión es que mi tarjeta SD es una tarjeta SD de 8 Gb y el tamaño que muestra es más como 1 Gb, así que mi pregunta es ¿por qué no puedo ver todo el espacio?

Respuestas:


13

Modificado desde aquí , SSH en su Raspberry Pi con OpenELEC y siga estos pasos.

  1. SSH como root, por defecto estás en /storage; cambiar a la partición raíz:

    $ cd /
    
  2. Evite que XBMC se reinicie:

    $ touch /var/lock/xbmc.disabled
    
  3. Detenga XBMC, para que podamos desmontar /storage:

    $ killall -9 xbmc.bin
    $ umount /storage
    
  4. Verificar montajes:

    $ mount
    $ parted /dev/mmcblk0
    
  5. En parte, el cambio a la visualización de sectores:

    $ unit s
    
  6. Muestre particiones, tome nota del sector inicial de su partición:

    $ p
    
  7. Eliminar la partición:

    $ rm 2
    
  8. Vuelva a crearlo, usando el mismo número de sector inicial y terminando en "-1" para usar el espacio restante:

    $ 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 se iniciará nuevamente por sí solo.


¿Está este comando presente en la distribución openelec?
darkheir

Lo siento, siempre uso las instrucciones Raspbian, mal hábito: P. He respondido la pregunta y ahora debería funcionar.
syb0rg

No funciona No puedo desmontar porque connmand está usando / almacenamiento y no se puede matar
Rob

¡Ya no funciona! Ver la respuesta de Marcin a continuación.
Herman

18

OpenELEC cambia el tamaño / almacenamiento en el primer arranque después de crear la SD. Busqué el guión que hace eso. Es https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/sysutils/busybox/scripts/fs-resize?source=c La primera línea de código busca el archivo /storage/.please_resize_me.

Entonces ... para cambiar el tamaño del almacenamiento para llenar la SD, necesita:

touch /storage/.please_resize_me
reboot

Hecho eso en mi OpenELEC 4.0.7 y funcionó bien.


1
esta debería ser la respuesta aceptada
Chris

lo probé en 5.0.3 y funcionó como se indica
LowvaPrg

En la segunda línea del script dice que no puede cambiar el tamaño si existe una carpeta llamada kodi, config o cache. Tengo los 3 de ellos ... Entonces, ¿cómo cambio el tamaño ahora?
Peter Raeves

4

Un problema que tuve (con la versión 3.1.5): umount / storage => "umount: no se puede desmontar / almacenamiento: dispositivo o recurso ocupado"

fuser -m / storage => pid del proceso que estaba bloqueando el montaje Intenté matarlo, pero cada vez que un nuevo proceso bloqueaba el montaje. Tengo que matar + umount al mismo tiempo con la tubería (en este orden): umount / storage | matar -9 pid

Ese es el trabajo!


No funciona, connmand se reinicia automáticamente antes de que el terminal pueda ejecutar elumount
Rob

2

En caso de que alguien tenga este problema con la versión más reciente: la
respuesta syb0rg es excelente, pero
$ touch /var/lock/xbmc.disabled
$ killall -9 xbmc.bin

ya no funciona ! Uso: en su
$ systemctl stop kodi.servicelugar!


2

Openelec 5:

Verifique qué proceso está bloqueando la partición / almacenamiento para que se desmonte

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

Compruebe si estos procesos están en el árbol systemd y están controlados por systemd.

systemctl status mostrará el árbol systemd.

En mayo caso tuve que detener lo siguiente:

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

Verifique fuser -m /storagesi todavía hay procesos bloqueando ese directorio. En caso de que se devuelva algún PID, puede verificar qué proceso está asociado con la ejecución de ese PID ps -ef | grep $PID.

Si ve algo así -sh, es su sesión ssh la que está en el directorio / storage. cd /ir a la raíz

De lo contrario, puede matar ese proceso con kill -9 $PID.

Ahora puede desmontar de forma segura el directorio / storage a través de

umount /storage

Ahora puede cambiar el tamaño de la partición (informaré nuevamente ya que algunos comandos han cambiado)

  1. Asegúrese de a qué partición / almacenamiento pertenece

    df -h

En la mayoría de los casos será /dev/mmcblk0p2(que es la partición 2)

  1. Abrir separado para el dispositivo / dev / mmcblk0

    parted /dev/mmcblk0

  2. Mostrar particiones (ya analizamos qué partición queremos redimensionar)

    p

  3. Cambiar el tamaño de la partición (en este caso, la partición 2 hasta el final)

    resize 2 -1

    quit parted

  4. Cambiar el tamaño del sistema de archivos

    e2fsck -f /dev/mmcblk0p2

    resize2fs /dev/mmcblk0p2

    mount /dev/mmcblk0p2 /storage

    df -h

Si desea cambiar el tamaño / flash es una historia completamente diferente.


1
Trabajó para mí, excepto que parted /dev/mmcblk0era partedy resize 2 -1tenía que serresizepart 2 -1
ChrisGheen

Mejor respuesta hasta ahora. Nada más funcionó para mí, excepto esta respuesta.
Michael Malura

1

Resolví el problema sobre "desmontar almacenamiento /" asesinato de esta manera:

fuser -m /storage

5161

kill -9 5161 && umount /storage

Eso funcionó para mí.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.