2004.06_Zarządzanie energią w Linuksie, część pierwsza_[Sprzet].pdf
(
524 KB
)
Pobierz
439126099 UNPDF
sprzęt
Zarządzanie
energią w Linuksie,
część pierwsza
Piotr Wolny
swoich wersji wspiera techno-
logie zarządzania energią (ang.
power management)
. Określenie
"zarządzanie energią" może być jednak
nieco mylące, gdyż współcześnie rozwi-
jana technologia ACPI umożliwia znacz-
nie więcej niż tylko oszczędzanie energii
elektrycznej. Dzięki wsparciu w Linuk-
sie dla ACPI możliwy jest również dostęp
z poziomu systemu operacyjnego do kon-
iguracji i odczytywania stanu niektó-
rych urządzeń komputera. W szczególno-
ści dotyczy to stanu zasilania (baterie lub
sieć), poziomu naładowania baterii czy
temperatury procesora. Możliwe jest rów-
nież zmniejszenie ilości zużywanej przez
komputer energii elektrycznej poprzez
wprowadzenie go w stan „uśpienia”,
a nawet „hibernacji”, czyli wyłączenia go
w trakcie pracy z nagraniem całej pamię-
ci na dysku, tak aby było możliwe ponow-
ne uruchomienie go w tym samym stanie.
Właśnie tymi zagadnieniami zajmiemy się
w tym miesiącu.
ACPI oraz pozostały kod służący „usy-
pianiu” komputera w Linuksie rozwija się
bardzo szybko. W ostatnich miesiącach
każda wersja jądra zawierała tysiące zmie-
nionych i dopisanych linii kodu odpowie-
dzialnego za tę funkcjonalność. Pomimo
tego, kod ten jest wciąż daleki od dosko-
nałości. Wielu użytkowników doświad-
cza bardzo dziwnych i nieprzewidywal-
nych problemów po uaktywnieniu ACPI,
np. z nie działającymi modemami itp.
Z tego powodu twórcy dystrybucji Linuk-
sa często domyślnie wyłączają obsługę
ACPI w jądrze. Warto również zabawę
z ACPI zaczynać na najnowszej wersji
jądra i to z serii 2.6.x.
Usypianie komputera przydaje się nie
tylko na maszynach zasilanych z baterii.
Na komputerze stacjonarnym jest to dobra
metoda na przyśpieszenie startu systemu
poprzez np. załadowanie obrazu pamię-
ci z dysku, które trwa znacznie krócej
niż cały proces normalnego startu. Tryb
S4 może się przydać nawet na serwerach
czy ruterach. Dzięki niemu można szybko
wyłączyć komputer z sieci, aby np. włożyć
nowy dysk i uruchomić go w dokładnie
takim samym stanie, jak przed zamknię-
ciem. Jeśli zrobimy to szybko, możemy
nawet nie zerwać połączeń TCP/IP.
Usypianie w praktyce
Jeśli dysponujemy Linuksem z nowym
jądrem z serii 2.6.x, mamy do wyboru
Na płycie CD/DVD
Na płycie CD/DVD znajdują
się pliki źródłowe najnowszych
jąder Linux, jak również łatki na
jądro związane z zarządzaniem
energią.
O autorze
Autor jest politologiem i pracuje
dla www.wzz.org.pl. Linuksem
zajmuje się mniej więcej od
czasów jądra 2.0.20. Kontakt
z autorem:
autorzy@linux.com.pl.
Rysunek 1.
Strona domowa projektu
Swsusp2
, dostarczającego łatki na jądra
Linuksa z funkcjonalnością hibernowania
komputera
50
czerwiec 2004
L
inux od niemal pierwszych
acpi
sprzęt
Hibernacja i usypianie
W teorii, czyli w specyikacji ACPI, wystę-
puje aż pięć trybów uśpienia komputera:
W kolejnych wersjach jądra najpraw-
dopodobniej zostanie tylko jedno z tych
rozwiązań – to, które zostanie lepiej oce-
nione przez deweloperów i użytkow-
ników. Nam nie zaszkodzi zaznaczyć
obydwu z nich i przetestować, aby wybrać
to, które będzie lepiej działać na naszym
sprzęcie.
Pod adresem
http://swsusp.sf.net/
możemy znaleźć najbardziej rozwinięte
rozwiązanie, tyle że rozwijanie niezależ-
nie od jądra, nazywane
Swsusp2
. Pozwa-
la ono wyłącznie na używanie trybu "
Su-
spend to disk"
, a jego instalacja jest znacz-
nie trudniejsza, więc przyjrzymy się jej
później.
go.
Zamiast niego możemy wpisać
appen-
d="acpi=on apm=off"
(jeśli prawidłowo
samodzielnie skonigurowaliśmy jądro,
nie jest to niezbędne).
• S1 - odpowiednik znanego z MS Win-
dows
standby
. W tym stanie zasi-
lanie procesora jest utrzymywane,
jednak procesor nie wykonuje żad-
nych instrukcji;
• S2 - aktualnienie używany, w teorii
podobny do S3, jednak z utrzyma-
niem zasilania niektórych urządzeń;
• S3 - "
Suspend to RAM
"
-
zasila-
nie procesora jest odcięte, zasilanie
pamięci ograniczone jest jedynie do
samo-odświeżania, które gwarantuje
utrzymanie jej zawartości. Technicz-
nie jest to najtrudniejszy do uzyska-
nia stan, gdyż wymaga współpracy
procesora, chipsetu, urządzeń i ich
sterowników oraz systemu operacyj-
nego;
• S4 - "
Suspend to Disk
" - najcie-
kawszy z tych trybów, równocze-
śnie działający najstabilniej. W tym
trybie cała zawartość pamięci jest
nagrywana na dysk (na ogół na par-
tycję
swap
) i komputer może zostać
zupełnie wyłączony bądź używany
do innych celów (np. możemy uru-
chomić inny system operacyjny, pod
warunkiem, że nie korzysta on z tej
samej partycji swap);
• S5 - "
Soft Off
" - system jest zamyka-
ny, jednak utrzymywane jest zasila-
nie niektórych urządzeń, które mogą
spowodować "obudzenie" syste-
mu, np. karta sieciowa czy kontroler
USB.
Swsusp
Przetestujmy najpierw tradycyjną
metodę usypiania, czyli
Swsusp
. Testo-
wanie dobrze jest rozpocząć od trybu
działającego najstabilniej, czyli "
suspend
to disk
". Pierwszym krokiem musi być
poinformowanie jądra, gdzie jest party-
cja wymiany (swap), na którą ma zostać
nagrany zrzut pamięci przy "zasypia-
niu". Musimy to zrobić dodając odpowied-
nią linię, np.
append="resume=/dev/hda9",
do
/etc/lilo.conf
, np. pod linią określają-
cą położenie jądra naszego Linuksa. Jeśli
w tej sekcji
lilo.conf
, opisującej jądro
naszego Linuksa, jest już linia
append,
to
resume=...
dopisujemy do istniejących
opcji, wewnątrz cudzysłowu. Jeśli używa-
my
GRUB-a
, to opcje przekazywane do
jądra znajdują się w tej samej linii, co nazwa
pliku z jądrem. Również wtedy musimy
dopisać odpowiednią opcję, np.
"resume=
/dev/hda9".
Pamiętajmy oczywiście o zamia-
nie przykładowego
hda9
na właści-
we oznaczenie partycji
swap.
Po dopi-
saniu opcji i uruchomieniu komendy
lilo
lub
grub
, musimy zrestartować
Linuksa.
Nadszedł czas na decydującą próbę
(najlepiej zapiszmy wszystkie ważne
dane) – wydajemy magiczne polecenie
echo 4 >/proc/acpi/sleep
. W ten sposób
posłaliśmy komputer spać, a konkretnie
w czwarty tryb uśpienia, ale najpierw
jeszcze przez kilkanaście do kilku-
dziesięciu sekund oglądamy komunikaty
o wyłączaniu poszczególnych urządzeń.
Jeśli jakieś urządzenie sprawia problemy,
to właśnie teraz można o tym przeczytać.
Na koniec tego procesu komputer oczy-
Swsusp i Pmdisk
Do pierwszych testów "usypiania" kompu-
tera zaopatrzmy się w nowe jądro z serii
2.6.x i skompilujmy je ze wsparciem dla
Software Suspend, Suspend-to-disk support
oraz
ACPI
.
Przy wyborze opcji dotyczących ACPI
kompiluję wszystkie na stałe, nie jako
moduły. Nie zaszkodzi, jeśli wybierzemy
wszystkie dostępne w tym dziale opcje,
chociaż w przypadku komputerów sta-
cjonarnych większość z nich raczej nam
się nie przyda. Zawsze warto zaznaczyć
przynajmniej "
Button
". Przy koniguracji
jądra nie zaznaczamy opcji dotyczących
APM
, gdyż te dwa rozwiązania nie dzia-
łają równocześnie.
Poza skompilowanym i zainstalowa-
nym jądrem będziemy również potrzebo-
wać partycji wymiany (
swap
) na tyle dużej,
aby zmieściła się na niej cała pamięć uży-
wana przez system operacyjny i aplika-
cje. Na ogół przyjmuje się, że wystarczy
do tego celu partycja wymiany o rozmia-
rze 130% pamięci izycznej. Jeśli jednak
uruchamiamy bardzo wiele aplikacji rów-
nocześnie, ta wartość może okazać się za
mała.
Po uruchomieniu nowego jądra
sprawdźmy, czy wszystko działa –
w naszym systemie powinien być katalog
/proc/acpi/
oraz plik
/sys/power/state.
Jeśli
nie mamy
/proc/acpi
/, sprawdźmy, czy
ACPI zostało uaktywnione w BIOS-ie
komputera. Jeśli jądro przy starcie nic nie
wspomina o ACPI (
dmesg | grep -i acpi
nie pokazuje żadnej linii), oznacza to, że
nasze jądro nie zostało skompilowane ze
wsparciem dla ACPI. Możemy również
sprawdzić, czy w
lilo.conf
lub
grub.conf
nie
ma linii
acpi=off
lub
acpi=ht -
jeśli taki wpis
tam się znajduje, oczywiście usuwamy
trzy implementacje mechanizmu usypia-
nia komputera.
Starsze rozwiązanie, nazywane
Swsusp
przy koniguracji jądra, znaj-
dziemy w dziale
Power management
options->Software Suspend (Experimen-
tal).
Musimy je zaznaczyć, podobnie
jak znajdujące się poniżej opcje ACPI.
Ponadto nie powinniśmy zaznaczać
APM, natomiast koniecznie potrzebu-
jemy wsparcia w jądrze dla partycji
wymiany.
Nowsze rozwiązanie, nazywane
Pmdisk
, znajdziemy również w dziale
Power management options
pod nazwą
Suspend-to-disk support.
Od starszego różni
się ono m.in. tym, że nie wymaga zazna-
czania opcji ACPI – działa niezależnie od
tego systemu.
Rysunek 2.
Strona domowa projektu ACPI
dla Linuksa
www.lpmagazine.org
51
sprzęt
Rysunek 3.
Jądra z serii 2.6.x oryginalnie
dostarczają dwie metody usypiania
komputerów, ale po nałożeniu łatek mamy
do wyboru trzy
Źródła jądra
Centralny punkt rozpowszechniania źródeł
Linuksa znajdziemy pod adresem
www.ker-
nel.org
. Zanim zdecydujemy się cokolwiek
stamtąd ściągnąć, znajdźmy jakiś serwer
lustrzany (ang.
mirror
) bliżej nas. W ten
sposób pomożemy sobie (skracając czas
ściągania kilkudziesięciomegabajtowego
pliku) oraz administratorom głównego ser-
wera, zmniejszając na nim obciążenie.
Strona
www.kernel.org
dobrze nadaje się do
zorientowania, jaka jest najnowsza dostęp-
na wersja jądra. No i właśnie: którą wybrać?
Na
www.kernel.org
dostajemy następują-
cy wybór:
dostarczanych przez naszą dystrybucję.
Są one z reguły nieco zmodyikowane
w stosunku do oryginalnych, najczęściej
poprzez nałożenie różnych nowych łatek,
które nie były jeszcze „oicjalnie” przyję-
te. Zawierają one również gotowy plik kon-
iguracyjny, dostosowany do naszej dys-
trybucji. Jest to więc najlepszy wybór dla
początkującego użytkownika. Źródła jądra
znajdziemy wśród pakietów binarnych (!)
naszej dystrybucji. Będzie to pakiet zawie-
rający w nazwie
kernel source
, np.
kernel-
source-2.4.20-20.9.i386.rpm
. Jeśli nasza
dystrybucja zawiera kilka wersji źródeł
jądra, wybieramy tę, której aktualnie uży-
wamy – możemy to sprawdzić poleceniem
cat /proc/version
. Wybrany pakiet instaluje-
my jak każdy inny, np. poleceniem
rpm -i
[nazwa pliku]
.
Wybór źródeł dostarczanych przez
naszą dystrybucję, oprócz zalet, ma też
swoje wady. Pierwszą z nich jest fakt, iż
z reguły
www.kernel.org
zawiera nowszą
wersję źródeł niż nasza dystrybucja. Ma
to jednak znaczenie tylko wtedy, gdy ta
nowa wersja przynosi jakieś istotne dla
nas zmiany. Druga wada może ujawnić
się wtedy, gdy jakieś oprogramowanie
wymaga nałożenia łatek na źródła jądra
i ponowną jego kompilację (np.
lm_sensors
).
Niestety, twórcy różnych programów, które
wymagają „łatania” jądra, z reguły zakła-
dają, że korzystamy z „oryginalnych” jąder
z
www.kernel.org
i ich łatki mogą nie nało-
żyć się lub nie działać na jądrach zmody-
ikowanych przez twórców różnych dystry-
bucji. Jeśli jednak nie zamierzamy w przy-
szłości „łatać” naszego jądra, nie będzie
nam to przeszkadzać.
Po zainstalowaniu pakietu ze źródła-
mi jądra, w systemie znajdziemy katalog
/usr/src/linux
, a w nim kilkadziesiąt (w przy-
padku jąder 2.4.x) do prawie dwustu (jądra
2.6.x) megabajtów kodu. Jeśli ściągamy plik
z jądrem samodzielnie, powinniśmy umieścić
go w katalogu
/usr/src/
, rozpakować np. pole-
ceniem
tar jxfvp linux-2.4.26.tar.bz2
,
a następnie utworzyć dowiązanie sym-
boliczne nowopowstałego katalogu do
/usr/src/linux,
np.
ln -s linux-2.4.26
linux
. Źródła jądra możemy umieścić
w innym katalogu, jednakże może to spowo-
dować problemy w przyszłości, przy kompi-
lacji niektórych programów, które domyślnie
zakładają, że źródła te znajdują się właśnie
w
/usr/src/linux
.
wiście wyłącza się. Przy ponownym uru-
chomieniu trzeba odczekać kilka sekund
na zwykłe uruchomienie BIOS-a, a także
Lilo/GRUB-a, gdzie po wybraniu wcze-
śniej uśpionego Linuksa musimy zacze-
kać jeszcze kilka sekund na uruchomienie
się jądra systemu. Jądro jednak, zamiast
jak zwykle uruchamiać
Inita
, przystę-
puje do odzyskiwania wcześniej nagra-
nego stanu i po kolejnych 15 sekundach
system jest całkowicie przywrócony. Nie
ma nawet potrzeby zapisywania danych
w edytorze tekstu – wszystko samo
wraca do dokładnie takiego samego
stanu jak przed uśpieniem. W ten sposób
start Linuksa, wraz z KDE, Open-
Ofice.org i kilkunastoma innymi pro-
gramami, zabiera ok. 30 sekund.
Zdarza się jednak, że komputer nie
chce zasnąć (wtedy możemy spróbować
innych rozwiązań, o których dalej) lub
nie chce się obudzić. W tym przypad-
ku zaś musimy uruchomić jądro z para-
metrem
noresume
. Można to zrobić wpi-
sując np.
linux noresume
po znaku zachę-
ty
Lilo
(jeśli Lilo uruchamia się z graicz-
nym menu musimy najpierw nacisnąć kla-
wisz [
Tab
]).
Pozostałe stany uśpienia możemy
przetestować podobnie. Komenda
cat
/proc/acpi/sleep
pokaże nam tryby obsłu-
giwane przez nasz system, np.
S0 S1 S4 S5.
Możemy wydać komendę
echo 1 >/proc/
acpi/sleep
, aby przejść do trybu S1 itp.
• jądra z serii 2.6.x - oznaczone są jako
„najnowsze stabilne”, ale wybieramy
je tylko, gdy nasza dystrybucja orygi-
nalnie jest dostarczana z jądrem 2.6.x
(np.
Mandrake 10
i nowsze,
Fedora
Core 2
) lub przynajmniej została przy-
stosowana do pracy z jądrami z tej serii,
jak np.
Mandrake 9
. Jeśli już koniecz-
nie chcemy ściągać jądro ze strony
www.kernel.org
, musimy kliknąć na
odnośnik oznaczony literą „F”;
• jądra z serii 2.4.x - są to bardziej sta-
bilne jądra o nieco mniejszych możli-
wościach, które są podstawą budowa-
nia większości dzisiejszych dystrybucji,
np.
Aurox Linux 9.4
. Podobnie jak wyżej,
w celu ściągnięcia źródeł musimy klik-
nąć na „F”;
• jądra z serii 2.2.x oraz 2.0.x - starsze
wersje jąder i nieco przestarzałe, aby
używać je na dzisiejszym sprzęcie;
mogą przydać się jedynie przy „specjal-
nych” zastosowaniach, jak. np. budowa
prostego rutera.
Dodatkowo, dla bardziej zaawansowa-
nych użytkowników, strona
www.kernel.org
zapewnia różne łatki (ang.
patches
) na
źródła jądra, w tym wersje jądra
pre
, które po
pewnym okresie testów i poprawek stają się
kolejnymi wersjami stabilnymi, wersje
snap-
shot
, zawierające uaktualniany codziennie
zapis pracy deweloperów jądra, oraz łatki
-
mm
, czyli
Andrew Mortona
, zawierające
najnowszy i najmniej przetestowany kod.
Zapewne niedługo na
www.kernel.org
zna-
jdziemy również jądra z kolejnej serii „eks-
perymentalnej”, czyli 2.7.x.
Jeśli decydujemy się na kompilację
jądra po raz pierwszy, najlepiej nie korzy-
stajmy z
www.kernel.org
, a użyjmy źródeł
Pmdisk
Niezależnie od tego, czy testy
Swsusp
prze-
biegły pomyślnie, czy też nie, przetestuj-
my teraz nowszą metodę usypiania, czyli
Pmdisk
. Działa ona identycznie, ale różni
się wydawanymi poleceniami. Zamiast
resume=/dev/hda9
w koniguracji
lilo/GRUB
musimy wpisać
pmdisk=/dev/hda9
.
52
czerwiec 2004
acpi
sprzęt
Listing 1:
Przykładowy skrypt
„usypiający” komputer
blemy z tym trybem na różnym innym
sprzęcie, w tym na komputerach przeno-
śnych, jednak mimo to u większości użyt-
kowników powinien on działać.
Problemy również występują u mnie
z trybem S1. Po komendzie
echo -n mem
> /sys/power/state
najpierw komputer
co prawda przechodził do niego, jednak
natychmiast budził się. Po zmianie usta-
wień w BIOS-ie (wyłączeniu tam zda-
rzeń "budzących" komputer), udało się go
uśpić, jednak po przebudzeniu nie dzia-
łały prawidłowo klawiatura i myszka
PS/2. Komenda
echo 3 >/proc/acpi/sleep
działa dobrze z jednym wyjątkiem – nie
wyłącza monitora. Wszystkie te proble-
my dotyczą jednak maszyny wyposażo-
nej w bardzo wiele różnych kart PCI, nie-
koniecznie wykonanych przez renomowa-
nych producentów.
• możliwość kompresji "w locie" zapisy-
wanego obrazu pamięci;
• teoretyczna możliwość zapisywa-
nia obrazu pamięci nie tylko na par-
tycję wymiany, ale również do pliku
wymiany (
swap ile
) – w momencie
pisania tego artykułu (kwiecień 2004),
obsługa
swap ile
nie działała;
•
Swsup2
jest rozwijany również
w wersji dla jąder z serii 2.4.x.
#!/bin/sh
rmmod usblp usb-storage hid;
rmmod ohci-hcd;
rmmod usbcore;
# Suspend to RAM
echo -n "mem" > /sys/power/state;
modprobe usbcore;
modprobe ohci-hcd;
modprobe usblp usb-storage hid;
exit 0;
Instalacja
Swsusp2
nie jest trudna, gdy
potraimy samodzielnie skompilować
jądro Linuksa. Można ją przeprowadzić
następująco:
Nie zapomnijmy oczywiście o zrestar-
towaniu komputera.
Listę wspieranych
trybów uśpienia uzyskamy komendą
cat
/sys/power/state
– będą to np.
standby
mem disk
, które są równoważne z odpo-
wiednio
S1, S3 i S4
(jeśli ustawienia BIOS-
u komputera nie modyikują tej zasady).
Magiczne polecenie usypiające naszą
maszynę będzie wyglądało np. tak:
echo
-n disk > /sys/power/state
. Zwróćmy
uwagę na opcję
-n
polecenia
echo
– bez niej
na pewno nie zadziała. Podobnie testuje-
my pozostałe dostępne tryby. W przypad-
ku problemów z uruchomieniem kom-
putera, zamiast
linux noresume
po znaku
zachęty LILO, używamy
linux pmdisk=off
.
Niestety nie wszystkie tryby działa-
ją dobrze na każdym sprzęcie. Na moim
komputerze, gdzie brak już wolnych
slotów PCI ani gniazd USB czy portów sze-
regowych, w pełni dobrze działało polece-
nie
echo -n disk > /sys/power/state
,
czyli usypianie "na dysk". Po wydaniu
odpowiedniej komendy, system potrze-
buje ok. 15 sekund na zapisanie swojego
stanu (przy 512 MB pamięci). Po wyda-
niu polecenia
echo 4 >/proc/acpi/sleep
system "zasypiał" dłużej i zdarzały się pro-
blemy z działaniem myszki po jego obu-
dzeniu.
Po przywróceniu systemu z dysku,
trzeba zawsze poprawić systemowy
czas i datę, ponieważ system "budzi" się
z datą i czasem zapamiętanym przy "za-
sypianiu". Aby zsynchronizować czas
systemowy do czasu z zegara na płycie
głównej, wydajemy polecenie
hwclock
--hctosys
.
Nie działa za to u mnie tryb S3
– "
Suspend to RAM
". Spowodowane to jest
posiadanym przeze mnie kontrolerem
SATA SiI3112, którego linuksowy sterow-
nik nie obsługuje "usypiania". Inni użyt-
kownicy również często zgłaszają pro-
• Ściągamy z
http://swsusp.sourceforge.
net/
najnowsze łaty dla jąder 2.6.x.
Gdy pisałem ten artykuł, były to
pliki
software-suspend-linux-2.6.2-
rev1-whole.bz2
oraz
software-suspend-
core-2.0-whole.bz2.
Pierwszy z tych
plików zawiera zmiany specyiczne
dla konkretnej wersji jądra, dlatego
jego nowsze wersje pojawiają się czę-
ściej (choć z pewnym opóźnieniem
w stosunku do samych jąder), drugi
zaś jest uaktualniany rzadziej. Ścią-
gamy również jądro w tej samej
wersji, którą oznaczona jest pierw-
sza z łatek – w tym przypadku 2.6.2.
Instalacja dla jąder z serii 2.4.x wyglą-
da analogicznie.
• Rozpakowujemy łatki (
bunzip2 [nazwa
pliku]
) oraz jądro (
tar jxfvp linux-
Swsusp2
Dwa opisane powyżej mechanizmy usy-
piania komputera są zawarte w stan-
dardowym jądrze. Trzecie z nich, czyli
swsup2
, wymaga nałożenia łatek na źródła
jądra. W zamian za to oferuje znacznie
więcej możliwości. Spośród najważniej-
szych trzeba wymienić:
• wygodny plik koniguracyjny oraz
gotowy zaawansowany skrypt do
usypiania systemu, dzięki którym
możemy ominąć problemy z niekom-
patybilnym sprzętem i programami;
Rysunek 4.
W jądrach z serii 2.4.x również znajdziemy obsługę APM oraz ACPI
www.lpmagazine.org
53
sprzęt
Koniguracja źródeł jądra
• Ze strony
http://swsusp.sourceforge.
net/
ściągnijmy plik
suspend.sh
,
nadajmy mu prawa do wyko-
nywania (
chmod a+x suspend.sh
)
i wykonajmy polecenie
./suspend.sh
--install
. Wtedy utworzony zostanie
plik koniguracyjny
/etc/suspend.conf
oraz skrypt pomocny przy "usy-
pianiu" systemu –
/usr/local/sbin/
hibernate.
• Magiczne polecenie usypiające nasz
system to
/usr/local/sbin/hibernate
. Po
jego wydaniu w ciągu kilku sekund
nasz system powinien "zasnąć".
W razie problemów mamy jednak
spore możliwości modyikacji proce-
su "usypiania" poprzez edycję pliku
/etc/suspend.conf.
Jeśli występuje pro-
blem z obudzeniem systemu po
zamknięciu, po znaku zachęty LILO
wpisujemy
Linux noresume2
.
Ten etap wielu użytkownikom wydaje się
skomplikowany, choć wcale nie musi taki
być. Konigurację w praktyce przeprowa-
dzamy przechodząc do katalogu
/usr/src/
linux
i wydając jedno z poniższych pole-
ceń:
Jeśli nasze jądro pochodzi jednak
z innego źródła niż nasza dystrybu-
cja, możemy prawidłowo włączyć/wyłą-
czyć obsługę poszczególnych urządzeń,
korzystając z własnej wiedzy o naszym
komputerze, która niewątpliwie przy
okazji kompilacji jądra stanie się szersza
i głębsza. Gdy jednak nie mamy pewności
co do własnych wyborów, wciąż możemy
skorzystać z koniguracji wykonanej wcze-
śniej przez autorów naszej dystrybucji. W
tym celu musimy „wyciągnąć” ze źródeł
jądra w pakiecie
rpm
lub
deb
plik
.conig
i skopiować go do
/usr/src/linux
. Pamię-
tajmy jednak, że samo skopiowanie nie
wystarczy. Po skopiowaniu tego pliku
musimy koniecznie uruchomić
make menu-
config
lub którąś z wcześniej wspomnia-
nych komend koniguracyjnych.
Przy koniguracji jądra, zwłaszcza cał-
kowicie samodzielnej, bez użycia pliku
.conig
z dystrybucji, można popełnić wiele
błędów. Niektóre z nich mogą doprowadzić
nawet do tego, że system nie będzie się
w stanie uruchomić. Nie możemy zapo-
mnieć, że w naszym jądrze na pewno
przyda się:
•
make menuconfig
- ukaże się nam tek-
stowe menu, które do działania wymaga
bibliotek
Ncurses
(również pakietów
–dev(el)
). Jeśli po wydaniu tego polece-
nia zobaczymy błąd, musimy doinstalo-
wać te biblioteki z płyty z naszą dystry-
bucją. Ta metoda nie wymaga
X Window
i możemy ją przeprowadzać również
zdalnie, np. przez
ssh.
•
make xconfig
- ukaże się nam menu
w okienkach
X Window
. Ta metoda
wymaga zainstalowanych bibliotek
Tcl/Tk
(w przypadku jąder 2.4.x) lub
QT
(w przypadku jąder 2.6.x). Aby
okienka mogły pojawić się na ekranie
w niektórych dystrybucjach, koniecz-
ne jest wcześniejsze wydanie komen-
dy
xhost +
z konta tego użytkownika,
który pracuje w
X Window
.
•
make bconfig
- działa tylko w jądrach
z serii 2.6.x i wymaga bibliotek
GNOME.
Budzenie na czas
Przed wysłaniem komputera w któryś
z trybów uśpienia, możemy zdeinio-
wać czas, gdy sam się obudzi. W tym
celu wydajemy komendę w formacie
echo yyyy-mm-dd hh:mm:ss > /proc/
acpi/alarm
. Przykładowo,
echo 2004-
05-01 13:01:00 > /proc/acpi/alarm
,
aby spowodować obudzenie się kompu-
tera 1 maja tego roku, o godzinie trzy-
nastej jeden. Budzenie powinno działać
z trybów S1, S2 i S3.
•
VGA text console
- w przeciwnym razie
z komputerem można będzie pracować
wyłącznie przez sieć lub w
X Window
;
• obsługa urządzenia, do którego pod-
pięty jest dysk z głównym systemem
plików (IDE/SCSI);
• obsługa systemu plików, w którym
została sformatowana nasza główna
partycja (
ext2/ext3);
• jeśli kompilujemy jądro przez sieć, nie
zapomnijmy o karcie sieciowej, przez
którą jesteśmy połączeni z tym kompu-
terem.
Niezależnie od tego, który z tych interfejsów
uruchomiliśmy, przy rozpoczęciu swojej
pracy przeczyta on ustawienia zapisane
w pliku o nazwie
/usr/src/linux/.conig
. Dobrze
jest, jeśli plik
.conig
pochodzi z pakietu
z naszej dystrybucji, gdyż wtedy wiadomo na
pewno, że zawiera on prawidłowe ustawie-
nia. W takim przypadku możemy po urucho-
mieniu np.
make xconfig
skoncentrować
się na wykonaniu tylko tych zmian w koni-
guracji jądra, które są nam teraz potrzebne,
np. włączenia obsługi ACPI.
Problemy z zaśnięciem
Najtrudniejszym do uzyskania trybem
"uśpienia" komputera jest S3, czyli "
Su-
spend to RAM".
Równocześnie, zwłasz-
cza dla posiadaczy komputerów prze-
nośnych, jest to tryb najbardziej pożą-
dany, gdyż oferuje on najszybsze
"uśpienie" i przywrócenie systemu.
Dodatkowo, w przypadku "
Suspend
to RAM"
komputer do zaśnięcia
nie potrzebuje dodatkowej energii,
2.6.2.tar.bz2
) i nakładamy łatki.
Ważne, aby w pierwszej kolejności
nałożyć łatkę specyiczną dla wersji
jądra:
cd linux-2.6.2; patch -p1
<../software-suspend-linux-2.6.2-
rev1-whole; patch -p1 <../ softwa-
re-suspend-core-2.0-whole
.
• Przy koniguracji "łatanego" jądra,
w dziale
Power management options
wybieramy
Software Suspend 2
i dalej
swap writer
. To jest niezbędne mini-
mum. Możemy zaznaczyć jeszcze
któryś
Page transformers
- ja używam
LZF. Jest to naprawdę bardzo szybki
algorytm kompresji.
• W pliku /etc/
lilo.conf
, podobnie jak
w opisanych wcześniej przykładach,
dodajemy opcję przekazywaną do
jądra, określającą położenie naszej
partycji wymiany. Powinna ona mieć
postać
append "resume2=swap:/dev/
hda9"
. Oczywiście, zamieniamy
hda9
na urządzenie właściwe dla nasze-
go systemu. Teraz możemy przeła-
dować system, uruchamiając go na
nowo-skompilowanym jądrze.
Kompilacja jądra
To zadanie jest przeznaczone bardziej
dla naszego procesora niż dla nas.
W przypadku jąder z serii 2.4.x wystar-
czy polecenie
make bzImage
(wielkość
liter ma znaczenie!), a po zakończeniu
jego działania – polecenie
make modules
.
W jądrach z serii 2.6.x wszystko co
potrzebujemy to polecenie
make
, oczywi-
ście wydane w katalogu
/usr/src/linux
.
54
czerwiec 2004
Plik z chomika:
SOLARIX33
Inne pliki z tego folderu:
2006.09_LIRC – zdalne sterowanie w Linuksie_[Sprzet].pdf
(4689 KB)
2006.09_Telefon komórkowy i Linux_[Sprzet].pdf
(1314 KB)
2006.08_Odzyskiwanie danych_[Sprzet].pdf
(3336 KB)
2006.08_Procesory dwurdzeniowe w Linuksie_[Sprzet].pdf
(1682 KB)
2006.07_Linux na ekranie telewizora_[Sprzet].pdf
(1574 KB)
Inne foldery tego chomika:
Administracja
Aktualnosci
Audio
Bazy Danych
Bezpieczenstwo
Zgłoś jeśli
naruszono regulamin