Dockerfile | ||
LICENSE | ||
newshrink | ||
pishrink | ||
pishrink.sh | ||
README.md | ||
README1.md |
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