C'è un meccanismo in due parti che si assume la responsabilità su Raspbian; probabilmente l'idea migliore è prendersi cura di entrambe le parti se sono abilitate.
Il primo è che l'originale /boot/cmdline.txt
include questo:
init=/usr/lib/raspi-config/init_resize.sh
Facendo riferimento a uno script con quel percorso sulla partizione radice, che verrà utilizzato come processo init all'avvio. Senza quel bit, sarebbe predefinito un valore incorporato nel kernel /sbin/init
, che su Raspbian è un collegamento simbolico a /lib/systemd/systemd
.
Rimuovendo quella parte di cmdline.txt
, il sistema dovrebbe quindi avviarsi normalmente.
Quello che fa effettivamente quello script è ridimensionare la partizione sulla scheda SD. Questo è un processo distinto dal ridimensionamento del filesystem nella partizione, 1 che è quello che succede dopo.
Il modo in cui accade è che il sistema viene immediatamente riavviato normalmente (ovvero tramite systemd) e uno init.d
script è impostato per attivarsi in anticipo, che dovrebbe essere rimosso dalla seconda partizione:
/etc/init.d/resizefs_once
E il link simbolico ad esso, che dovrebbe anche essere rimosso:
/etc/rc3.d/S01resizefs_once
Se vuoi, puoi conservarne una copia per un uso successivo, ma raspi-config
puoi crearla di nuovo per te (è incorporata nello raspi-config
script della shell). Se effettivamente funziona, si elimina da solo, quindi non accadrà più.
Ciò che fa anche è ridimensionare il filesystem nella partizione appena ridimensionata.
Nessun danno dovrebbe essere fatto se si verifica solo l'una o l'altra parte; nel primo caso si finisce con un filesystem che non riempie la partizione ingrandita, nel secondo non succederà nulla, perché il filesystem riempie già la partizione.
Se in seguito si utilizza raspi-config
per ingrandire il filesystem, la partizione viene ridimensionata immediatamente, quindi imposta lo script init (come già accennato).
La modifica cmdline.txt
sulla prima partizione è semplice su qualsiasi computer poiché è una partizione VFAT. La rimozione del init.d
file richiede un sistema in grado di accedere e modificare i filesystem ext4.
Entrambe le attività possono invece essere eseguite sul file immagine stesso prima di masterizzare la scheda; per montare e modificare un'immagine Raspbian su un sistema GNU / Linux, vedere qui . C'è una domanda e risposta parallele per Windows .
Anche questo è reversibile, ma dovrai ripristinare entrambe le parti del meccanismo come appena descritto, poiché il primo non include la messa in scena automatica del secondo.
- Anche se un messaggio di errore di quello script confonde probabilmente quei termini sostenendo che non è riuscito a ridimensionare il filesystem di root , quando ciò che non è riuscito a fare è ridimensionare la partizione con il filesystem di root risiede. Fare uno non compie automaticamente l'altro.