Automatyczne wyłączanie komputera
Dodano 2004-12-27

Prawa autorskie
Copyright(C)2004 Bogdan Pilarczyk. All rights reserved.
Udziela się zgody na kopiowanie, rozpowszechnianie i/lub modyfikowanie tego dokumentu zgodnie z zasadami Licencji Wolnej
Dokumentacji (GNU Free Documentation Licence) w wersji 1.1 lub jakiejkolwiek późniejszej wersji opublikowanej przez Fundację
Wolnego Oprogramowania (Free Software Foundation). Kopię tej licencji można znaleźć na stronach

http://www.fsf.org/copyleft/fdl.html

Standartowo, jeżeli instalujemy Debiana Woody - stable, nawet najnowszą wersję to nie mamy możliwości automatycznego wyłączania się komputera. Dawniej, mając jeszcze Mandrake - ta opcja ładnie działała, a po przesiadce na Debiana byłem niemile zaskoczony, że muszę kompa wyłączać ręcznie.
Okazało się, że standartowe jądro z instalatora Woody nie ma włączonych odpowiednich opcji. Troszkę czytania, poszukiwań na sieci i oto jest przepis. Należy zaznaczyć, że opcja automatycznego wyłączania będzia inaczej działała w zależności od płyty głównej.
BIOS niektórych płyt obsługuje tylko zarządzanie energią przy pomocy APM, najnowsze płyty to ACPI. Są też płyty które mają włączoną obsługę jednego i drugiego systemu zarządzania energią.
Poniższy przepis spowoduje automatyczne wyłączenie komputera, bez względu na rodzaj biosu i płyty. Jeden warunek - płyta musi być z system ATX.
Do pracy:
Ponieważ ma to być przepis łopatologiczny, a większość nowych użytkowników Linuxa boi się przeprowadzenia kompilacji jądra (skąd ja to pamiętam :)), podam jak przeprowadzić konfigurację i kompilację jądra tak, aby nikogo to nie bolało - bo niestety tę kompilację musimy przeprowadzić.

Wszystko robimy jako root - polecenie: su, hasło root'a

Będę się opierał na żródłach kernela z serii 2.4.xx ponieważ instalowany przeze mnie Debian Sarge z płyty "netinstall" na jądrze 2.6.8-1 miał już włączoną funkcję "power-off".
Ściągamy źródła kernela ze strony:

ftp://ftp.kernel.org/

Przenosimy żródła kernela do katalogu /usr/src Rozpakowujemy...tak na wesoło masz tu link o metodach rozpakowywania

http://www.linux.com.pl/forum/index.php?t
=msg&goto=136021&rid=118&S=6e59b4d4b5d0d180accbe8a639248743#msg_136021

Wszystko zależy od tego którą wesję źródeł jądra ściągnąłeś:
linux-xx.tar.gz
lub
linux-xx.tar.bz2
Polecam linux-xx.tar.bz2 ponieważ żródłą są sporo mniejsze, a tym samym krótszy czas ściągania.
Po przeniesieniu żródeł do /usr/src rozpakowujemy je poleceniem:

tar -jxvf linux-xx.tar.bz2

Powstanie nam nowy katalog o tej samej nazwie czyli linux-2.4.xx (przyjmijmy dla ułatwienia najnowszą wersję 2.4.28)
Do wszystkich tych operacji polecam wykorzystać program mc (Midnight Commander) - działa jak Norton Commander.

przydatne opcje:
aby pozostać w danym katalogu i mieć do dyspozycji konsolę używamy kombinacji klawiszy Ctrl + o (litera)
powrót do paneli mc - identyczna kombinacja
rozpakowywanie katalogów spakowanych -> F2 ->Ekstract
kopiowanie -> F5
przenoszenie -> F6
menu szczegółowe F9

Ok, dalsza procedura
Zależy nam na tym aby ustawienia jądra pozostały identyczne jak dotychczas, chcemy tylko zmienić ustawienia dotyczące wyłączania komputera.
Z katalogu boot kopiujemy plik config (w moim przypadku config-2.4.26 - oryginalny config instlatora Woody to: config-2.4.18-bf-2.4)
Uruchamiamy konfigurator jądra poleceniem:

make menuconfig

Po uruchomieniu konfiguratora musimy wczytać stare ustawienia jądra - czyli takie na których nasz system aktualnie pracuje.
Przechodzimy na sam dół komfiguratora i uruchamiamy sekcję

Load an Alternate Configuration File

W otwartym oknie wpisujemy dokładną nazwę pliku konfiguracyjnego przekopiowanego z katalogu /boot do katalogu jądra, czyli /usr.src/linux-2.4.28 naciskamy Enter.
Po tej operacji mamy załadowane do konfiguratora wszystkie ustawienia starego kernela.
Teraz przechodzimy do sekcji

General setup --->

Najważniejsze dla nas teraz będą sekcje dotyczące APM i ACPI - 10 ostatnich linii General Setup.
Zaznaczamy wszystkie tak jak poniżej - zmiany przeprowadzamy przy pomocy klawisza spacji.

General setup --->
[*] Power Management support
<*> Advanced Power Management BIOS support
[*] Enable PM at boot time
[*] Enable console blanking using APM
[*] Allow interrupts during APM BIOS calls
[*] Use real mode APM BIOS call to power off
ACPI Support --->
[*] ACPI Support

Możemy zamknąć konfigurator i zapisać zmiany.
Uff.... teraz kompilacja. Zalecam przeprowadzenie jej metodą Debiana - dlaczego?
W wyniku takiej kompilacji otrzymujemy pakiet .deb który możemy zainstalować jak zwykły pakiet, możemy też odinstalować. Co więcej, jeżeli utworzy nam się pakiet kernela mamy pewność że kompilacja przebiegła prawidłowo i przy instalacji nie powinno być niespodzianek.
Opis kompilacji jądra jest na naszej stronie DUG-a:

http://dug.net.pl/faq/index.php?kat=6&id=79

Aby kompilacja metodą Debiana była możliwa proszę o zainstalowanie następujących paczek:

kernel-package
binutils
bzip2
fileutils
libc-dev
gcc
make
libncurses-dev
bin86

Większość z nich najprawdopodobniej już masz w systemie - najważniejsza jest kernel-package.
Teraz wykonujemy następujące polecenia:

make-kpkg clean
make-kpkg --revision=kernelMoj.1 kernel_image

Proszę zwrócić uwgę że w nazwie występują duże i małe litery, znak kropki i cyfra. Polecenie to przeprowadza nam całą kompilację jądra, a na koniec tworzy paczkę .deb której nazwa jest połączeniem wersji jądra i nazwy nadanej przez nas - przykładowo: kernel-image-2.4.28_kernelMoj.1_i386.deb

Ważne!!
Jeżeli wersja jądra której paczkę chcemy zainstalować jest inna od posiadanej przez nas w systemie - możemy od razu przejść do instalacji świeżo utworzonego pakietu.
Jeżeli wersja jest taka sama, musimy przejść do katalogu /lib/modules i usunąć lub zmienić nazwę katalogu z modułami, którego nazwa jest taka jak wersji jądra.
Po tych zabiegach instalujemy nowe jądro:

dpkg -i kernel-image-2.4.28_kernelMoj.1_i386.deb

lub przy pomocy mc - w katalogu /usr/src jest świeżo utworzony pakiet
kernel-image-2.4.28_kernelMoj.1_i386.deb
podświetlamy go -> enter -> INSTALL -> enter
Na komunikaty instalatora klikamy 2x enter
Na koniec otrzymujemy komunikat o sukcesie instalacji nowego kernela.
Należy jeszcze zaktualizować lilo - w tym celu wydajemy polecenie:

lilo

Możemy wykonać reboot systemu
Sprawdzamy czy wprowadzone zmiany odniosły skutek - a jestem pewine że tak, czyli system automatycznie się nam zamyka.

Autor: Bodzio