Istnieje dwuczęściowy mechanizm, który bierze za to odpowiedzialność na Raspbian; prawdopodobnie najlepszym pomysłem jest dbanie o obie części, jeśli są one włączone.
Po pierwsze, oryginał /boot/cmdline.txtzawiera to:
init=/usr/lib/raspi-config/init_resize.sh
Odwoływanie się do skryptu z tą ścieżką na partycji głównej, który będzie używany jako proces inicjujący podczas rozruchu. Bez tego bitu domyślnie byłaby to wartość wbudowana w jądro /sbin/init, do którego w Raspbian jest dowiązaniem symbolicznym /lib/systemd/systemd.
Po usunięciu tej części cmdline.txtsystem powinien następnie uruchomić się normalnie.
Skrypt faktycznie zmienia rozmiar partycji na karcie SD. Jest to proces odmienny od zmiany rozmiaru systemu plików na partycji 1, co dzieje się później.
Sposób, w jaki się to dzieje, polega na tym, że system jest natychmiast ponownie uruchamiany normalnie (to znaczy przez systemd), a init.dskrypt jest uruchamiany wcześnie, co należy usunąć z drugiej partycji:
/etc/init.d/resizefs_once
I symboliczny link do niego, który również należy usunąć:
/etc/rc3.d/S01resizefs_once
Możesz zachować kopię do późniejszego użytku, jeśli chcesz, ale raspi-configmożesz utworzyć ją ponownie dla siebie (jest osadzona w raspi-configskrypcie powłoki). Jeśli faktycznie działa, usuwa się, więc nie powtórzy się.
Zmienia również rozmiar systemu plików na nowo zmienionej partycji.
Nie należy wyrządzać szkody, jeśli zdarzy się tylko jedna lub druga część; w pierwszym przypadku skończysz z systemem plików, który nie wypełnia powiększonej partycji, w drugim nic się nie stanie, ponieważ system plików już wypełnia partycję.
Jeśli później użyjesz raspi-configdo powiększenia systemu plików, rozmiar partycji zostanie natychmiast zmieniony, a następnie skonfigurowany skrypt init (jak już wspomniano).
Edycja cmdline.txtna pierwszej partycji jest prosta na dowolnym komputerze, ponieważ jest to partycja VFAT. Usunięcie init.dpliku wymaga systemu, który może uzyskiwać dostęp i edytować systemy plików ext4.
Oba zadania można zamiast tego wykonać w samym pliku obrazu przed wypaleniem karty; aby zamontować i zmodyfikować obraz Raspbian w systemie GNU / Linux, patrz tutaj . Istnieje równoległe pytania i odpowiedzi dla systemu Windows .
Jest to również odwracalne, ale musisz odłożyć obie części mechanizmu, jak opisano powyżej, ponieważ pierwszy nie obejmuje automatycznego ustawiania drugiego.
- Chociaż komunikat o błędzie z tego skryptu prawdopodobnie myli te warunki, twierdząc, że nie udało się zmienić rozmiaru głównego systemu plików , ale tak naprawdę nie udało się zmienić rozmiaru partycji z głównym systemem plików. Wykonanie jednego nie powoduje automatycznie osiągnięcia drugiego.