Ubuntu - rekompilacja jądra / dodanie modułu - ?!?

Zaczęty przez Szopler, 16 Maj 2010, 22:20

Szopler

Po zakupieniu UPS'a do mojego domowego serwerka okazało się, że komenda shutdown -P now tudzież shutdown -h now zatrzymuje system, ale nie wyłącza maszyny... dodanie do parametrów uruchomieniowych ACPI=force / off itp. też nic nie dają!
Okazało się przy tym, że domyślnie nie mam w jądrze wkompilowanej obsługi APM [Advanced Power Management] - przez modconfa nie da się dodać bo wypisuje wyraźnie, że w kernelu brak.


Jak przekompilować istniejące jądro zachowując wszystkie dotychczasowe ustawienia i dodać / skonfigurować tylko ten jeden moduł ?!

apohawk

W kernelu można włączyć opcję, żeby konfiguracja kernela była dostępna jako /proc/config.gz
Sprawdź, czy jest tak w Ubuntowym kernelu. Jak nie, to niefajnie.
Ściągnij źródła kernela (całe źródła, nie tylko headers) w dokładnie tej wersji i rewizji, którą masz uruchomioną. Rozpakuj /proc/config.gz jako .config do folderu ze źródłami. Uruchom make menuconfig, czy co tam lubisz co konfiguracji kernela. Znajdź swoją opcję, wybierz jako moduł (m w menuconfig), jeśli się da. Jeśli jest to opcja jakiegoś modułu, to możesz oznaczyć jako do wbudowania (y w menuconfig, oznaczane jako *), potem przekompilować tylko moduły i może zadziała. Jeśli nie jest to opcja modułu i nie da się zaznaczyć jako moduł, to będziesz musiał wkompilować w kernela (y w menuconfig, oznaczane jako *) i skompilować kernel, moduły, zainstalować i zrestartować.
Nie znam się na tyle na Ubuntu, więc nie mam pewności, czy tak skompilowany moduł zadziała w dystrybuowanym kernelu. Raczej powinno zadziałać.
Przy podmianie kernela, na Ubuntu będzie pewnie trzeba przebudować initrd, też pewności nie mam, bo na Gentoo nie potrzebuję initrd, więc nie mam z tym problemów ;P

Dobra, jak już masz konfigurację kernela, to jako root robisz
make modules
make modules_install
modprobe (nazwa modułu)
i powodzenia.
No good deed goes unpunished.

Troll81


buninek

Szopler korzystasz z jakiś starych poradników. Moduł o którym wspominasz prawdopodobnie w nowych kernelach nie istnieje.
Tobie chodzi o opcję APM_REAL_MODE_POWER_OFF
http://dl.dropbox.com/u/349831/screen_2010-05-17_00%3A02%3A57.png
http://dl.dropbox.com/u/349831/screen_2010-05-17_00%3A04%3A13.png

W starych jajkach 2.2-2.4 i do którejś z wersji 2.6.1[2]? był.
Przed chwilą sprawdzałem w 2.6.27 (akurat takim z nowszych!? dysponuję ;D)  i nie ma, a jak widzisz w 2.6.16 jak najbardziej jest.

Został zastąpiony? Z tym że to już trzeba szukać w necie szczegółowych informacji co się zmieniło.

Domyślny kernel na 100% byłby skompilowany z tym modułem.

Szopler

Mam płytę z Ubuntu Server 8.04 LTS Edition - oryginał. Z tego instalowałem system. APM'a nie ma w kernelu [2.6.24-19-server] :(.

Trollu:
Halt <> PowerOff

Resztę spróbuję po pracy...

Szopler


buninek

Każda dystrybucja zgodnie z wymogami GPL udostęnia pakiety źródłowe, a razem z nimi będziesz miał konfig kernela na bazie, którego zbudowano paczkę z danym kernelem. To chyba tylko w przypadku gentoo nie będzie żadnego domyślnego konfigu.

krzyszp

Cytat: 5z0pl3r w 16 Maj 2010, 22:20
Po zakupieniu UPS'a do mojego domowego serwerka okazało się, że komenda shutdown -P now tudzież shutdown -h now zatrzymuje system, ale nie wyłącza maszyny... dodanie do parametrów uruchomieniowych ACPI=force / off itp. też nic nie dają!
Okazało się przy tym, że domyślnie nie mam w jądrze wkompilowanej obsługi APM [Advanced Power Management] - przez modconfa nie da się dodać bo wypisuje wyraźnie, że w kernelu brak.


Jak przekompilować istniejące jądro zachowując wszystkie dotychczasowe ustawienia i dodać / skonfigurować tylko ten jeden moduł ?!

Heh, ja zawsze używam shutdown -r now

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka

Troll81

ale to akurat restart kompa :D a chodzi o zatrzymanie systemu...

krzyszp

Cytat: Troll81 w 19 Maj 2010, 12:37
ale to akurat restart kompa :D a chodzi o zatrzymanie systemu...
Racja, ja zresztą żadko wyłączam komputery :)

Fajne zegarki :)
Należę do drużyny BOINC@Poland
 Moja wizytówka