Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Openelec : redimentionner la partition "storage"
#1

Après l'installation d'openelec sur une carte SD de grande capacité, en voulant copier du contenu directement sur la carte, je me suis rendu compte qu'en fait la partition de stockage n'est pas définie pour utiliser tout l'espace de la carte.

J'ai donc cherché à faire en sorte de modifier cela et me suis dit que cela pourrait intéresser d'autre personnes aussi débutantes que moi.

Dans mon cas, j'utilise un rasp modèle B avec une carte SD de 16Go.
Une capture d'écran de terminal se trouve à la fin du post pour illustrer mes explications.
Donc, après s'être connecté en ssh au rasp, un
Code :
[== Indéfini ==]
df -h
nous montre que la partition /dev/mmcblk0p2 correspondant au point de montage /storage ne fait que 755.9M.

il va falloir que l'on démonte la partition mais elle est utilisée par XBMC il faut donc l'arrêter.
lorsque l'on se connecte on se trouve sur /storage, on retourne donc sur / puis on créer un verrou pour empêcher XMBC de relancer :
Code :
[== Indéfini ==]
cd /
touch /var/lock/xbmc.disabled

maintenant on peut arrêter XMBC (cela m'est arrivé qu'il y ai plusieurs processus XMBC)
Code :
[== Indéfini ==]
killall -9 xbmc.bin

enfin on démonte /storage
Code :
[== Indéfini ==]
umount /storage

on vérifie les partitions avant de lancer parted... pour sur la partition sur laquelle est /storage
Code :
[== Indéfini ==]
mount
parted /dev/mmcblk0

une fois dans parted, on change l'affichage des secteurs, on affiche les partitions et on supprime la partition qui correspond normalement à la deuxième (celle qui n'est pas la partition de boot
Code :
[== Indéfini ==]
unit s
p
rm 2

ensuite on recréer la partition à partir du bloc de début de l'ancienne partition (normalement 258048) et en utilisant l'intégralité de l'espace disponible (argument -1)
Code :
[== Indéfini ==]
mkpart primary 258048 -1

une fois fini on peut sortir de parted
Code :
[== Indéfini ==]
quit parted

maintenant on met à jour la partition et on la remonte
Code :
[== Indéfini ==]
e2fsck -f /dev/mmcblk0p2
resize2fs /dev/mmcblk0p2
mount /dev/mmcblk0p2 /storage

on peut maintenant vérifier si la partition fait la taille attendue
Code :
[== Indéfini ==]
df -h

c'est bien le cas (pour moi la partition fait maintenant 14.5Go ce qui est totalement ok), on peut alors enlever le fichier de verrou de XBMC, qui redémarrera alors tout seul.
Code :
[== Indéfini ==]
rm /var/lock/xbmc.disabled


Résumé des commandes effectuées :
Code :
[== Indéfini ==]
df -h
cd /
touch /var/lock/xbmc.disabled
killall -9 xbmc.bin
umount /storage
mount
parted /dev/mmcblk0
unit s
p
rm 2
mkpart primary 258048 -1
quit parted
e2fsck -f /dev/mmcblk0p2
resize2fs /dev/mmcblk0p2
mount /dev/mmcblk0p2 /storage
df -h
rm /var/lock/xbmc.disabled

[Image: openelec_ssh.png]
Répondre
#2

Au moins c'est plus simple sous Raspbian avec la commande "raspi-config" qui fait cela automagiquement Wink
http://elinux.org/RPi_Resize_Flash_Partitions
Répondre
#3

Ah oui, ça je ne dis pas, c'est tellement cool quand une commande suffit.
Mais avec Openelec, je ne sais pas si c'est possible.
Répondre
#4

J'ai regardé vite fait, et je n'ai pas l'impression que raspi-config existe sous OpenElec. (mais ce n'est peut etre pas une Raspbian)

Sinon pourquoi as tu choisis OpenElec (plutot que RaspBMC ou une Raspbian avec XBMC) ?
Répondre
#5

Et bien tout simplement sur les bons conseils de Jeoffrey Smile
Je suis plutôt newbie dans le monde du rasp et j'ai pas un super niveau en unix, j'avais besoin d'une solution, il m'a conseillé, je lui accorde toute ma confiance dans ce domaine et lui prête une oreille attentive à ses paroles qui font, dans se domaine, affaire d'évangile Big Grin
Répondre
#6

Oh salut Arthur Smile.

http://sd.keepcalm-o-matic.co.uk/i/keep-...-god-4.png

Big Grin.

Sinon, je lui ai effectivement conseillé OpenElec, car il voulait pas trifouiller au Rasp.

Mais sinon, un coup de raspi-config sur Raspbian, et ça fait le boulot TOUT seul Smile.

Bienvenue Arthur Wink.
Répondre
#7

Intéressant

Mais déception après la ligne
umount /storage
J'ai le message d'erreur
umount: can't umount /storage: Device or ressource busy

Avez-vous une soluce?
Répondre
#8

Cela arrive quand ton périphérique est occupé ou en cours d'utilisation :

En SSH, vérifie que tu n'es pas actuellement dans /storage,

Sinon, avec la commande "lsof /storage", tu devrais y voir plus clair. Exemple :

Code :
rpi data #  lsof /data
COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
bash     15023  root  cwd    DIR  254,4     4096      2 /data
mysqld   18487 mysql  cwd    DIR  254,4     4096 286723 /data/mysql/lib
mysqld   18487 mysql    3uW  REG  254,4 18874368 286726 /data/mysql/lib/ibdata1
mysqld   18487 mysql    8uW  REG  254,4  5242880 286727 /data/mysql/lib/ib_logfile0
mysqld   18487 mysql    9uW  REG  254,4  5242880 286728 /data/mysql/lib/ib_logfile1
lsof     22769  root  cwd    DIR  254,4     4096      2 /data

Ici on peut voir que mon /data est utilisé par MySQL, et que un utilisateur se trouve actuellement dans ce répertoire (la 1ère ligne).
Répondre
#9

Merci pour la répponse rapide, mais nada
Note: J'ai une carte de 32 gig

Voici ce qui s'affiche

OpenELEC (official) Version: 3.2.0
OpenELEC:~ # df -h
Filesystem Size Used Available Use% Mounted on
devtmpfs 184.6M 90.8M 93.8M 49% /dev
/dev/mmcblk0p5 124.7M 99.9M 24.9M 80% /flash
/dev/mmcblk0p6 5.9G 21.7M 5.5G 0% /storage
/dev/loop0 90.9M 90.9M 0 100% /
tmpfs 74.6M 0 74.6M 0% /dev/shm
tmpfs 10.0M 464.0K 9.5M 5% /var
OpenELEC:~ # cd /
OpenELEC:/ # touch /var/lock/xbmc.disabled
OpenELEC:/ # killall -9 xbmc.bin
OpenELEC:/ # umount /storage
umount: can't umount /storage: Device or resource busy
OpenELEC:/ # lsof /data
1 /bin/busybox /dev_console (deleted)
1 /bin/busybox /dev_console (deleted)
1 /bin/busybox /dev_console (deleted)
1 /bin/busybox /dev/null
1 /bin/busybox /sbin/init
1 /bin/busybox /etc/init.d/93_xbmc
850 /bin/busybox /dev/null
850 /bin/busybox /dev/null
850 /bin/busybox /dev/null
850 /bin/busybox /dev/null
850 /bin/busybox socket:[439]
850 /bin/busybox /var/log/messages
850 /bin/busybox /var/log/auth
854 /bin/busybox /dev/null
854 /bin/busybox /dev/null
854 /bin/busybox /dev/null
854 /bin/busybox /dev/null
854 /bin/busybox socket:[445]
J'ai enlevé la suite qui n'est pas pertinente
Répondre
#10

C'est un "lsof /storage" qu'il faudrait faire dans ton cas Wink.
Répondre
#11

Et un "fuser -m /storage" puis un kill -9 du pid qui t'intéresse ?
Répondre
#12

Eureka

Voici ce que j'ai trouvé et cela fonctionne. La syntaxe est importante

fuser -m/storage
rem La il indique un no XXXX
kill -9 XXXX ; umount /storage
mount


Merci pour les pistes.

A+
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)