No description
Find a file
2025-09-11 18:00:57 +08:00
Dockerfile first commit 2025-09-11 09:59:15 +02:00
LICENSE first commit 2025-09-11 09:59:15 +02:00
newshrink first commit 2025-09-11 09:59:15 +02:00
pishrink first commit 2025-09-11 09:59:15 +02:00
pishrink.sh first commit 2025-09-11 09:59:15 +02:00
README.md Aggiorna README.md 2025-09-11 18:00:57 +08:00
README1.md first commit 2025-09-11 09:59:15 +02:00

Shrink Disk

deriva da PiShrink in github (https://github.com/Drewsif/PiShrink)

creare immagine disco

sudo dd if=/dev/mmcblk0 of=/home/nvme/deb12.img conv=noerror,sync status=progress

oppure senza inserendo la dimensione dei blocchi per fare più veloce

sudo dd if=/dev/mmcblk0 of=/home/nvme/deb12.img bs=1M conv=noerror,sync status=progress

clonare questo git ed entrare nella dir

git clone https://forgit.patachina.it/Fabio/shrink_disk.git
cd shrink_disk

installare packagings necessari

sudo apt update && sudo apt install -y wget parted gzip pigz xz-utils udev e2fsprogs

creare pishrink modificando pishrink.sh in modo da funzionare con OrangePi (GPT) (si aggiungono 2048 blocchi da 512 byte alla dimensione minima)

./newshrink

copiare in modo che siano sempre disponibili gli eseguibili

sudo cp pishrink.sh  /usr/local/bin/
sudo cp pishrink  /usr/local/bin/

creare il file ridotto lasciando inalterato l'originale (attenzione duplica il file e potrebbe essere molto grande)

se si lascia solo un file pishrink modificherà lo stesso file senza farne una copia

sudo pishrink /home/nvme/deb12.img /home/nvme/deb12r.img

sistemare la partizione GPT con gdisk

installare con

sudo apt install gptfdisk

poi editare la nuoca immagine da sistemare

sudo gdisk /home/nvme/deb12r.img

digitare v per verificare e poi seguire le istruzioni

solitamente si va su x e poi una seconda opzione, poi si torna a verificare con v

infine salvare con w

per comprimere usando xz

sudo xz -v <nomefile>

per decomprimere

sudo unxz -v <nomefile.xz>

Altri comandi per fare tutto in manuale

abilitare il kernel all'utilizzo di loop

sudo modprobe loop

verificare se esistono il/i loop device

sudo losetup -f

caricare un immagine su loop0

sudo losetup /dev/loop0 /home/nvme/deb12.img

var vedere le partizioni

sudo partprobe /dev/loop0

verificare entrambi usando

lsblk

si può fare tutto con un unica riga ma non si vedono gli errori se presenti

sudo losetup --find --show /home/nvme/deb12.img
sudo partprobe /dev/loop0

se si vuole vedere si può montare e poi smontare la partizione

sudo mkdir -p /mnt/a
sudo mount /dev/loop0p1 /mnt/a
sudo umount /mnt/a

se si vuole eliminare il loop0 device

sudo losetup -d /dev/loop0

per vedere il disco in gparted si deve lanciare su un display :0 (se collegato al HDMI) o :1 se è attiva una vnc

in questo caso dopo aver avviato tigervncserver sul display :1 digitare

DISPLAY=:1 sudo -E gparted /dev/loop0