Manjaro w bryle lodu

W trosce o długowieczność baterii, hibernowanie sprzętów to miła rzecz. Jeszcze milsza, gdy nasz ulubiony system operacyjny radzi sobie z tym tematem bez zająknięcia. Nic wszak tak nie cieszy, jak bezproblemowy start maszyny w 5 sekund do pełnego pulpitu. Jednak niekiedy trzeba lekko wspomóc wysiłki twórców dystrybucji, którzy być może przez nieuwagę poczynili niedopatrzenia w konfiguracji domyślnej, przez co hibernacja nie zawsze się udaje, tak jak powinna. Manjaro nie jest w tym temacie wyjątkiem – a przynajmniej wersja 0.8.8 układa sprzęt do hibernetycznego snu, lecz wybudza go niezbyt umiejętnie, przez co zamiast przywrócenia zapisanego stanu patrzymy na pełen start systemu. Ale wystarczą drobne ręczne poprawki, by zawstydzić prędkością ‘uruchamiania się’ posiadaczy wiodącego systemu w najnowszym wydaniu.

Dla wielu ‘dobre ręczne poprawki’ w tekstowym wydaniu linuksowym brzmią odpychającą i odstraszająco. Lecz bądźmy szczerzy, dopisanie paru znaków w określonych miejsca nie jest chyba tytanicznym wysiłkiem i nie przynosi ujmy w wygodzie obsługi i użytkowania. Szczególnie, że problem powstał w wyniku zaniedbania podczas tworzenia obrazu initrd z którego korzysta Manjaro podczas startu systemu. Chyba nie muszę dodawać, że aby cieszyć się w pełni z uroków hibernacji, należy posiadać partycję swap o objętości co najmniej równej ilości zainstalowanej w maszynie pamięci RAM. Zatem do dzieła…

Najpierw naprawimy obraz initrd. Otwieramy do edycji z prawami roota plik /etc/mkinitcpio.conf:

gksu gedit /etc/mkinitcpio.conf

W miejsce edytora gedit możemy użyć dowolnie innego. W otworzonym pliku odnajdujemy linijkę zaczynającą się od ‘HOOKS=’ (bez znaczka # na początku linii). Dopisujemy gdzieś na końcu ‘resume’:

HOOKS=”base udev autodetect modconf block filesystems keyboard fsck plymouth resume”

Zapisujemy i wykonujemy w terminalu polecenie:

sudo mkinitcpio -p linux3XX

… gdzie linux3XX to seria kernela którego używamy – linux310, linux312, itp.

Ok, ten etap mamy za sobą. Pozostaje drobny niuans – poinstruowanie GRUBa, która to jest nasza partycja wymiany. Identyfikujemy ją za pomocą polecenia:

blkid

Odnajdujemy linijkę z TYPE=”swap”, kopiujemy UUID tej partycji. I ponownie otwieramy do edycji z prawami roota pliki /etc/default/grub:

gksu gedit /etc/default/grub

Odnajdujemy GRUB_CMDLINE_LINUX_DEFAULT i dopisujemy gdzieś pod koniec nasz UUID, tak, by linijka wyglądała mniej więcej:

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash resume=UUID=nasz_skopiowany_UUID”

Nonszalancko wydajemy polecenie:

sudo update-grub

I po restarcie systemu jesteśmy gotowi do testowania naszej hibernacji. Wznawianie pracy stareńkiego eeePC 1005p w ciągu 5 sekund było warte tych paru poleceń. Chyba nie muszę dodawać, jak to wpłynęło na żywotność akumulatora.