Portál AbcLinuxu, 4. května 2025 02:11
Úvod:
Hibernácia v linuxe je ešte oblasť úplne neprebádaná, potýkajúca sa s množstvom problémov. Medzi najväčšie úskalia patria grafické karty, ktoré nie vždy najlepšie spolupracujú s hibernáciou. Základným kameňom pre nás bude ACPI (Advanced Configuration and Power Interface) a software suspend zo stránky (www.suspend2.net). ACPI bola vyvynutá firmami ako HP, Intel, Microsoft, Phoenix a Toshiba. V súčasnosti sa jedná defacto o štandard v oblasti riadenia spotreby. V linuxe má ACPI slušnú podporu, tak prečo toho nevyužiť. K software suspend dodám len toľko, že obecne funguje lepšie ako software suspend zahrnutý priamo vo vanilla jádre. V našom článku si samozrejme ukážame niekoľko trikov a tipov, ako sa horeuvedeným problémom vyhnúť. Tak a už stačilo s uchej teórie, môžeme sa pustiť do práce.
 
Ingrediencie:
vanila kernel 2.6.15, patch suspend pre jadro 2.6.15, hibernate script
 
Začíname:
1) V prvom kroku si rozbalíme zdrojové kódy jádra do adresára /usr/src/linux
2) Rozbalíme si stiahnutý suspend patch napr. do /usr/src/patch/suspend a následne sa presunieme do adresára /usr/src/linux a príkazom /usr/src/patch/suspend/apply aplikujeme patch na jadro. V prípade, že by sme sa z akýchkoľvek dôvodov niekedy chceli patch odstrániť, použijeme taký istý postup s príkazom /usr/src/patch/suspend/unapply.
 
Nastavenie jadra
Po úspešnom "opatchovaní" jadra musíme v ďalšom kroku postupne povoliť v jadre všetky potrebné položky, ako je náš suspend, riadenie spotreby acpi...
Pre povolenie suspend musíme zadať v jadre nasledujúce
Power managment support -> Suspend2
Pre povolenie riadenia spotreby ACPI musíme zadať v jadre nasledujúce
Power managment support -> ACPI support
Značnou výhodou je ako môžeme vidieť, že ACPI má preddefinovanú extra podporu pre vybrané značky notebookov.
Tak a teraz stačí len jadro skompilovať a úspešne z neho nabootovať
 
Konfigurácia
V ďalšom kroku sa budeme venovať nainštalovaniu hibernate scriptu, ktorý sa bude starať o uspávanie nášho miláčika a samotným nastaveniam hibernácie. Rozbalíme balík s hibernate scriptom, presunieme sa do adresára, kde sme súbory rozbalili a inštaláciu spustíme príkazom ./install.sh, čím sa nám nainštalujú potrebné veci. Nás bude hlavne zaujímať
/usr/local/sbin/hibernate (script, ktorý uspáva notebook)
/etc/hibernate/hibernate.conf (konfiguračný súbor, ktorým riadime hibernáciu)
Teraz by sme mali mať všetko pripravené k úspešnej hibernácii a môžeme sa pustiť do nastavenia hibernácie
 
Celé to funguje následovne. Beží nám démon acpid (musíme ho mať samozrejme nainštalovaný), ktorá sa stará o obsuhu události. Napríklad zavrieme notebook, tak tento démon obslúži túto udalosť a zavolá napr. náš hibernate script. Nastavenie obsluhy týchto událostí vykonávame v adresári /etc/acpi/events/
tým spôsobom, že do tohto adresára vkladáme skripty, v ktorých udávame, pre akú udalosť má démon spúšťať konkrétne programy.
Ak by sme si chceli sami odskúšať, aké acpi událosi generuje náš notebook, musíme vypnúť démona acpid a následne príkazom cat /proc/acpi/event
môžeme po stlačení príslušnej klávesy alebo kombinácie kláves môžeme na obrazovke vidieť, aké události genereje náš notebook a tie môžeme obslúžiť tak, ako sme písali vyššie.
 
U mňa to funguje následovne. V adresári /etc/acpi/events
mám vytvorený súbor lid, ktorý zavolá scritp hibernate po zatvorení notebooku. Taktiež si môžeme zvoliť vlastnú kombináciu pre uspávanie notobooku, ktorú zistíme horeuvedeným spôsobom.
 
Tak a teraz prejdeme k nastaveniam samotnej hibernácie. Všetky zmeny budeme prevádzať v súbore /etc/hibernate/hibernate.conf
Štruktúra tohoto súboru je veľmi intuitívna a zvládne ju aj začiatočník, ja budem opisovať problémy, s ktorými som sa stretol. V prvom kroku musíte nastaviť spôsob uspávania, a to je napr. suspend to ram a suspend to disk. My si zvolíme suspend to ram
 
PowerdownMethod 3
suspend to ram a supsend to disk
je v tom, že pri suspend to disk sa uloží obsah pamäte na disk a notebooku sa úplne vypne (opätovné spustenie je všeobecne o niečo pomalšie ako pri suspend to ram
), kdežto pri suspend to ram
data ostávajú v pamäti a notebook spotrebuváva určité množstvo energie.
 
Často sa mi stávalo, že pri zatvorení notebooku som v ňom nechal zastrčený usb flash disk, takže ho treba "umountnuť", aby sme ho po zobudení notebooku mohli opäť korektne pripojiť 
Unmount /media/usbdisk
 
Potom je dobré pri uspaní vypnúť sieť 
DownInterfaces eth0
UpInterfaces auto
 
A taktiež používam dosť často pcmcia kartu, ktorú takiež odpájam 
EjectCards yes
 
Mojím najväčším a musím podotknúť, že nielen mojím, problémom bolo, rozchodenie grafickej karty po otvorení notebooku. Vždy sa mi notebook prebudil do čiernej obrazovky a problémom bola práve grafická karta. Vyriešil som to programom video_post, ktorý by mal dokázať opäť rozchodiť vašu grafickú kartu. Primárne je určený per grafické karty od ATI, ale funguje aj na iných typoch (osobne odskúšané). Video_post treba rozbaliť, skompilovať a vložiť ho niekde do systému (najlepšie tam, kde majú naň dosah systémové premenné) a vložiť nasledujúce riadky do nášho súboru /etc/hibernate/hibernate.conf
 
OnResume 30 /root/emu/video_post
OnResume 20 chvt 1
OnResume 10 chvt 7
 
Niekto nemusí mať s prebudením svojej grafickej karty vôbec problém, takže video_post nemusí byť vôbec treba, takže stačí do /etc/hibernate/hibernate.conf
zadať nasledujúce
 
OnResume 20 chvt 1
OnResume 10 chvt 7
 
Tento článok si nekladie byť vyčerpávajúcim návodom. Snažil som sa byť čo najvšeobecnejší a úspech závisí od konkrétneho hardware. Určite vám môže byť nápomocná vynikajú web stránka www.linux-laptop.net na ktorej nájdete množstvo príkladov konfigurácii k vášmu notobooku na rôznych distribúciách linuxu.
 
Zdroje:
www.linux-laptop.net
vanila kernel 2.6.15
patch suspend pre jadro 2.6.15
hibernate script
video_post
Tiskni
Sdílej:
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
No tu skor ide o ten Debian, ako postupovat v nom.nejak zatim nevidim zadnou souvislost s Debianem, krom toho ze jej mas nainstalovany. ale zaujmulo me jak pises, ze zapominas vyndavat usb klic, by me tak zajimalo k jakemu programu ho mas :), no asi si podtim predstavuju uplne neco jineho,...
Vždy sa mi notebook prebudil do čiernej obrazovkyMě taky
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
ctrl + alt + f1 a potom nasledne ctrl + alt + f7
a napis, co to robi.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.