Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Jak postupovat správně při kompilaci jádra a modulů?  (Přečteno 2902 krát)

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Jak postupovat správně při kompilaci jádra a modulů?
« kdy: 21 Listopadu 2007, 13:36:33 »
Podle návodu http://wiki.ubuntu.cz/Kompilace_kernelu jsem si chtěl zkompilovat jádro na míru mému hardware.
Návod je napsán buď pro kompilaci z vanilla nebo pomocí packages. Používám druhý postup, z balíků, protože bych rád měl distribuční jádro, ale upravené, tedy
Kód: [Vybrat]
apt-get install linux-source
cd /usr/src
tar -xvjf linux-source-2.6.22.tar.bz2
cd linux-source-2.6.22
apt-get install build-essential bin86 kernel-package libncurses5-dev fakeroot
Poté jsem si upravil konfiguraci pomocí make menuconfig, vytvořil balíček a nainstaloval jej. Po restartu systém naběhl ale vypisoval při startu hlášení $Loading AppArmor module: failed. Myslel jsem že jsem konfigurací odstranil nějakou součást kterou AppArmor potřebuje ke svému spuštění tak jsem zkusil použít původní konfiguraci se kterou se AppArmor korektně spouští:
Kód: [Vybrat]
make-kpkg clean
cp /boot/config-2.6.22-14-server .config
make oldconfig
make-kpkg --initrd --stem linux --revision=aafrika1.1.2 kernel_image
cd ..   
dpkg -i linux-image-2.6.22.9_aafrika1.1.2_i386.deb
shutdown -r now
Po restartu opět dostávám hlášení $Loading AppArmor module: failed
pomocí aptitude jsem odinstaloval a purge apparmor
Po restartu systém nabíhá již bez této hlášky a samozřejmě také bez apparmor
Opět pomocí aptitude jsem opět apparmor nainstaloval, poté restart
s zkompilovaným jádrem 2.6.22.9 stále stejná chyba
původní jádro 2.6.22-14-server - Loading AppArmor module: done
Zde http://forum.ubuntu.cz/index.php?topic=14235.msg102311 jsem nalezl jiný postup.
Stejný výsledek dostávám i při následujícím postupu kompilace(po nové instalaci ubuntu-server):
Kód: [Vybrat]
apt-get install build-essential bin86 kernel-package libncurses5-dev fakeroot
apt-get source linux-source-2.6.22
cd linux-source-2.6.22
make mrproper
cp /boot/config-2.6.22-14-server .config
make-kpkg --initrd --stem linux --revision=aafrika1.1.3 kernel_image
cd ..
dpkg -i linux-image-2.6.22.9_aafrika1.1.3_i386.deb
Poté jsem si nechal vypsat lsmod při nabootování do obou verzí jádra (původní i zkompilované) a porovnal je, v novém nebylo spuštěno cca 18 modulů
zkusil jsem nakopírovat celý folder /lib/modules/2.6.22-14-server/ubuntu do /lib/modules/2.6.22.9 ve kterém chyběl a poté jsem znovu spustil
Kód: [Vybrat]
make-kpkg --initrd --stem linux --revision=aafrika1.1.3 kernel_image
cd ..
dpkg -i linux-image-2.6.22.9_aafrika1.1.3_i386.deb
vypsalo to několik potvrzovacích dialogů, protože jsem zrovna tuto verzi jádra používal, po instalaci jsem ihned restartoval a apparmor běží stejně jako ostatní moduly.

Přestože vše vypadá že běží, mám pocit že jsem nepostupoval korektně a že bych zřejmě měl před kompilací jádra někde získat zdrojové kódy modulů (těch které které jsou po čisté instalaci z cd v /lib/modules/2.6.22-14-server/ubuntu) a nějak říci konfigurátoru ať je zahrne do procesu konfigurace a kompilace jádra.
Našel jsem balíček module-assistant, ten nabízí výběr nějakých zdrojových balíků, ale třeba zrovna AppArmor mezi nimi není.  Prohledal jsem fórum, wiki, abclinuxu, ubuntu.wz.cz, ale zřejmě mi něco podstatného stále uniká. Prostě se nemůžu dopátrat "jak na moduly".
Děkuji předem za každou radu.
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

MiBo

  • Stálý člen
  • **
  • Příspěvků: 750
  • hello world
Re: Jak postupovat správně při kompilaci jádra a modulů?
« Odpověď #1 kdy: 26 Listopadu 2007, 10:46:58 »
No ten modul co hledas je ve zdrojovem baliku k tomuto - http://packages.ubuntu.com/gutsy/base/linux-ubuntu-modules-2.6.22-14-generic neboli
apt-get source linux-ubuntu-modules-2.6.22-14-generic
dpkg-source -x linux-ubuntu-modules-....dsc
pripadne primo stahnout z toho odkazu, jinak jeste existuji restricted moduly a tam jsou ty uzavrene hnusy co sem tam nikdo take musime pouzivat.

 

Provoz zaštiťuje spolek OpenAlt.