# 1. Spustíme si terminál a nainstalujeme veškeré potřebné závislosti ke kompilaci
sudo apt-get install build-essential bin86 kernel-package gcc gcc-3.4 libncurses5 libncurses5-dev fakeroot
# Pokud budeme využívat grafickou konfiguraci v GTK2, tak
sudo apt-get install libglade2-dev
# Pokud budeme využívat QT konfigurátor, tak
sudo apt-get install libqt3-headers libqt3-mt-dev
# 2. Přejdeme do /usr/src a změníme se na roota:
cd /usr/src && sudo -s
# 3. Stáhneme si aktuální stabilní verzi kernelu a tu rozbalíme.
wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.2.tar.bz2 && tar -xvjf linux-2.6.33.2.tar.bz2
# 4. Odstraníme starý link k linux adresáři a vytvoříme nový, pak se přesuneme do linux adresáře.
rm -rf linux && ln -s linux-2.6.33.2 linux && cd linux
# 5. Aplikujeme patche, které budeme potřebovat.
# Pokud je patch nekomprimovaný, aplikujeme ho takhle
cat soubor.patch | patch -p1 --dry-run # Simulace aplikace patche
cat soubor.patch | patch -p1 # Aplikace patche
# b) Pokud je patch ve formátu .bz2, tak takhle:
bzcat soubor.bz2 | patch -p1 --dry-run # Simulace aplikace patche
bzcat soubor.bz2 | patch -p1 # Aplikace patche
# 6. Zkopírujeme si naše aktuální kernel nastavení a použijeme je:
cp /boot/config-`uname -r` .config && make oldconfig
# 7. Nakonfigurujeme kernel.
# a) pomocí menu v příkazové řádce
make menuconfig
# b) pomocí GTK2 konfigurátoru
make gconfig
# c) pomocí QT3 konfigurátoru
make xconfig
# 8. V General Setup sekci si dopište za Local Version slovo -generic, -lowlatecy, -mujkernel atd.
# Pak se bude váš kernel jmenovat 2.6.33.2-lowlatency nebo podle vašeho jména a ovlivní to i moduly,
# takže bude moct váš kernel běžet vedle jiného 2.6.33.2.
# Pokud nechcete, aby kernel měl 40MB a moduly 700MB, vypněte Kernel Debugging v sekci Kernel Hacking.
# 9. Zkompilujeme kernel. Musíte mít plný root přístup!
make-kpkg clean
make-kpkg --initrd --stem linux --revision=mujkernel.1.0 kernel_image kernel_headers
# Slovo za --revision nahraďte čímkoliv, co má v sobě čísla. Narozdíl od Local Version v konfiguraci ovlivňuje pouze verzi balíku.
# Parametr --initrd není nutný, kernel je schopný běžet i bez ramdisku, ale je doporučeno initrd povolit.
# 10. Nainstalujeme kernel.
cd ..
dpkg -i linux*.deb
# 11. Vygenerujeme initrd (nevím proč, ale novější make-kpkg dělá balíčky, které jej neudělají)
mkinitramfs -o /boot/initrd.img-2.6.33.2-LOCALVERSION 2.6.33.2-LOCALVERSION
# tzn. já dal localversion -lowlt, tak jsem dal mkinitramfs -o /boot/initrd.img-2.6.33-lowlt 2.6.33-lowlt
# 12. Aktualizujeme zavaděč. Po vygenerování initrd je to nutné.
update-grub
Begin: Waiting for root file system...
Stále se mi nedaří vyrobit jádro, ve kterém funguje FireWire. Ani když jej vyrobím ze současného aktuálního zdroje 2.6.24. Použiju config 2.6.24-19-generic. Jinak vše mi funguje jak má. Dokonce na MacBooku jsem aktivoval kameru pokud použiju zdroj git intrepit. Podařilo se vůbec někomu vyrobit jádro ve kterém ten FireWire funguje správně?
Za každý nápad děkuji.
...<< pokud nejni ochota cist logy (a zabyvat se tim, njn. kompilaci kernelu a placem, ze to nejde bych nezaplnoval ubunti forum), tak doporucuju pouzit jadro z distribuce ;D
NTZ, má to nějaké výhody, nebo jen kvůli podpoře HW, která např. v mém Linuxu není?<< jiste .. novejsi verze neznamena, ze to na konkretnim hw chodi lip (a obcas taky *vubec).. me napriklad moje wifina chodi nejlepe na konkretni konkretni verzi madwifi driveru rok a pul stare (na co pouzivat ndiswrapper), stejne jako na novem powernow_k8 mi vubec nefungujou governory pro cpu, takze jsem to neresil nijak vic, nez ze si pamatuju, ze v 2.6.20 je powernow_k8, na kterem to bezi bez problemu a vzdy s distro-updatem kernelu rucne dokompiluju minimalne tyhle dva moduly a nahradim jima vyssi verze tech samych v kernelu ..
PS: Jak se ti daří v TC:Elite? :)<< stridave zatazeno s prehankama .. spis me hosi drti .. jsou mladi a maji neco nastrileno
takhle nějak? :)<< no, heh. radost pohledet. :D alespon Te to ty aktivisto popudi k dalsim badanim, abys tam mel co doplnit, a co jsme Ti ukradli na predchozim usporadani doplnis co do objemu popisem dalsich veci..
ntz: já nepláču ani nechci tímto plnit forum. Pouze píšu na co jsem přišel. Zkrátka nelze se řídit se pravidlem, že vezmu source nakopíruji do něj config z aktuálně běžícího jádra a provést další procedury (make oldconfig) nevede ke zdárnému konci právě proto, že ten config, který je v /boot není ten ze kterého to jádro, aktuálně běžící, vývojář vytvořil. Toto mi vadí. Ověřil jsem si to testem jednoduše tak, že jsem nakonec vzal source posledního aktuálního jádra Hardyho strčil do něj jeho config a provedl kompilaci s výsledkem, o kterém jsem již psal výše. Jádro bylo po bootu potichu a FW nechodil jak má. Ty moduly tam zkrátka nebyly zvoleny u zvuku a u FW se musí ještě přidat kromě nastavení modulů pro FW. A podle mně bych měl vyrobit identické jádro.Jádro by identické mělo být, nicméně moduly můžou být dokompilovány pomocí např. "module-assistant"
Jinak děkuji za link, podívám se na to. Přeci jenom nemám takové zkušenosti jako ty ;)
dmesg | grep intel:
[ 0.000000] Linux version 2.6.27-rc4-intelfly (root@IntelFLy) (gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)) #1 SMP PREEMPT Sun Aug 24 17:41:48 CEST 2008 (Ubuntu 2.6.26-rc4-intelfly-24.08.2008)
[ 0.000000] Kernel command line: root=UUID=a9568493-bd8f-495c-9b1f-3de76812d5d1 ro video=intelfb:mode=1280x1024-32@60,fixed splash vga=795 resume=/dev/sda5
[ 1.619003] agpgart-intel 0000:00:00.0: Intel 965G Chipset
[ 1.619255] agpgart-intel 0000:00:00.0: detected 7676K stolen memory
[ 1.631251] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xc0000000
[ 1.631251] intelfb: Framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets
[ 1.631251] intelfb: Version 0.9.5
[ 1.631251] intelfb 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 1.631251] intelfb: 00:02.0: Intel(R) 965G, aperture size 256MB, stolen memory 7932kB
[ 1.635321] intelfb: Initial video mode is 1280x1024-32@60.
[ 25.625251] intelfb 0000:00:02.0: setting latency timer to 64
Nové jádro pracuje již bez červených terčů v lshw s korektně nataženými správnými moduly. Takže oba splashe, jak botovací tak shutdown jedou krásně, ale konzole už ne. Zatím netuším jak to opravit.Nettezzaumana s tebou je sranda, ale já chci umět, aby to bylo přenositelné. Pokud víš kde jsem udělal chybu, co mám dělat jinak a jak, pokloním se až k zemi ;) Samozřejmě, že tuším pokud to udělám na tom samém, že to nejspíše pojede. Tak co? Poradíš?<< zacal bych treba alespon spekulovat o duvodu, proc to nejde. ;)
Kdybys nekecal... máš napsat že nevíš když to nevíš ;DDrivery nVidia a ATI na 2.6.28
Zatím nefunkční.
update návodu: vyšel kernel 2.6.28 jako stable
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms
run-parts: executing /etc/kernel/postinst.d/nvidia-common
run-parts: /etc/kernel/postinst.d/nvidia-common exited with return code 20
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.27.9.postinst line 1181.
dpkg: error processing linux-image-2.6.27.9 (--install):
subprocess post-installation script returned error exit status 2
Errors were encountered while processing:
linux-image-2.6.27.9
Vyšel kernel 2.6.29
Ovladače ATi nejsou zkompilovat (Catalyst 9-2)
Zdravim, mam problem s tým ze mi vobec nejde nainstalovat ati driver (zo stranky ati). jadro 2.6.27. Mam monolitický kernel, miniaturny, len pre moj notebook. neviem ci mi tam nieco chýba nastavene pri kompilácii kernelu. pomozte. Dikyboze .. staci se zamyslet :D
Ked pouzijem prikaz cp /boot/config-`uname -r` .config && make oldconfig tak mi vypise toto:<<takže:
sudo cp /boot/config-`uname -r` .config && '
HOSTLD scripts/kconfig/conf
/usr/bin/ld: cannot open output file scripts/kconfig/conf: Permission denied
collect2: ld returned 1 exit status
make[1]: *** [scripts/kconfig/conf] Chyba 1
make: *** [oldconfig] Chyba 2
Neviete niekto co s tym?
potreboval by som este vediet,ktoru verziu si mam skompilovat 2.6.29 alebo tie 2.6.29 rc x.
CONFIG_LOCALVERSION="-KoLiiiikk"
Není jendodušší nainstalovat jeden DEB balíček a fičet? :)???
Není jendodušší nainstalovat jeden DEB balíček a fičet? :)???
Není jendodušší nainstalovat jeden DEB balíček a fičet? :)
... udělat si jej low-latency atd..Prosímtě, co tento termín znamená? Občas se s ním setkávám.
Není jendodušší nainstalovat jeden DEB balíček a fičet? :)
téma se zabývá kompilací nejnovějšího Vanilla kernelu jak pod Ubuntu, tak pod Debianem, tak pod všemi deriváty.. všude, kde je dostupné make-kpkg. Kompilace ti třeba dává možnost si kernel nastavit podle svýho, udělat si jej low-latency atd..
... udělat si jej low-latency atd..Prosímtě, co tento termín znamená? Občas se s ním setkávám.
Asi jsem natvrdlej. 8) Pořád to nechápu. Hlavně já raději němčinu než angličtinu. ;D
Ahoj, zkousel jsem podle tohoto navodu zkompilovat kernel 2.6.33.2 ale pri samotne kompilaci mi to vyhodi chybu nize. Nevite nekdo co s tim? Ted mam jadro 2.6.31 a nedari se mi zprovoznit USB wifi modul s atheos chipsetem, kompilace compat-wireless mi taky skonci chybou...
make[1]: Entering directory `/usr/src/linux-2.6.33.2'
====== making target debian/stamp/install/linux-image-2.6.33.2 [new prereqs: ]======
This is kernel package version 11.015.
echo "The UTS Release version in include/linux/version.h"; echo " \"\" "; echo "does not match current version:"; echo " \"2.6.33.2\" "; echo "Please correct this."; exit 2
The UTS Release version in include/linux/version.h
""
does not match current version:
"2.6.33.2"
Please correct this.
make[1]: *** [debian/stamp/install/linux-image-2.6.33.2] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.33.2'
make: *** [kernel_image] Error 2
Ahoj, zkousel jsem podle tohoto navodu zkompilovat kernel 2.6.33.2 ale pri samotne kompilaci mi to vyhodi chybu nize. Nevite nekdo co s tim? Ted mam jadro 2.6.31 a nedari se mi zprovoznit USB wifi modul s atheos chipsetem, kompilace compat-wireless mi taky skonci chybou...
make[1]: Entering directory `/usr/src/linux-2.6.33.2'
====== making target debian/stamp/install/linux-image-2.6.33.2 [new prereqs: ]======
This is kernel package version 11.015.
echo "The UTS Release version in include/linux/version.h"; echo " \"\" "; echo "does not match current version:"; echo " \"2.6.33.2\" "; echo "Please correct this."; exit 2
The UTS Release version in include/linux/version.h
""
does not match current version:
"2.6.33.2"
Please correct this.
make[1]: *** [debian/stamp/install/linux-image-2.6.33.2] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.33.2'
make: *** [kernel_image] Error 2
je to chyba v make-kpkg, měl jsem ji taky, bylo potřeba nainstalovat aktualizaci pro kernel-package. Pokud používáš nějakou starou verzi distribuce, nainstaluj balík z novější.
Ahoj, zkousel jsem podle tohoto navodu zkompilovat kernel 2.6.33.2 ale pri samotne kompilaci mi to vyhodi chybu nize. Nevite nekdo co s tim? Ted mam jadro 2.6.31 a nedari se mi zprovoznit USB wifi modul s atheos chipsetem, kompilace compat-wireless mi taky skonci chybou...
make[1]: Entering directory `/usr/src/linux-2.6.33.2'
====== making target debian/stamp/install/linux-image-2.6.33.2 [new prereqs: ]======
This is kernel package version 11.015.
echo "The UTS Release version in include/linux/version.h"; echo " \"\" "; echo "does not match current version:"; echo " \"2.6.33.2\" "; echo "Please correct this."; exit 2
The UTS Release version in include/linux/version.h
""
does not match current version:
"2.6.33.2"
Please correct this.
make[1]: *** [debian/stamp/install/linux-image-2.6.33.2] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.33.2'
make: *** [kernel_image] Error 2
je to chyba v make-kpkg, měl jsem ji taky, bylo potřeba nainstalovat aktualizaci pro kernel-package. Pokud používáš nějakou starou verzi distribuce, nainstaluj balík z novější.
tak jsem zkusil aktualizovat kernel-package a uz mam nejnovejsi
kernel-package je již nejnovější verze.
Následující balíky byly nainstalovány automaticky a již nejsou potřeba:
kdelibs4c2a ndiswrapper-common nvidia-settings nvidia-185-libvdpau
nvidia-185-kernel-source kdelibs-data liblualib50 python-urwid
libavahi-qt3-1 sim-data libqt3-mt liblua50 ndiswrapper-utils-1.9
Pro jejich odstranění použijte „apt-get autoremove“.
0 aktualizováno, 0 nově instalováno, 0 k odstranění a 0 neaktualizováno.
nejake dalsi napady co s tim?
Zkousel jsem jadro aktualizovat pres kernelcheck, ale ten nefunguje jak ma. Sekne se mi na obrazovce retrieving information from kernel.org
# 11. Vygenerujeme initrd (nevím proč, ale novější make-kpkg dělá balíčky, které jej neudělají)
mkinitramfs -o /boot/initrd.img-2.6.33.2-LOCALVERSION 2.6.33.2-LOCALVERSION
# tzn. já dal localversion -lowlt, tak jsem dal mkinitramfs -o /boot/initrd.img-2.6.33-lowlt 2.6.33-lowlt
sudo make-kpkg --initrd --revision=vlastni.1.0 kernel_image kernel_headers
dkms: WARNING: linux headers are missing, which may explain the above failures.
please install the linux-headers-2.6.37.3 package to fix this.
run-parts: executing /etc/kernel/header_postinst.d/nvidia-common 2.6.37.3 /boot/vmlinuz-2.6.37.3
run-parts: /etc/kernel/header_postinst.d/nvidia-common exited with return code 10
Failed to process /etc/kernel/header_postinst.d at /var/lib/dpkg/info/linux-headers-2.6.37.3.postinst line 140.
dpkg: chyba při zpracovávání linux-headers-2.6.37.3 (--configure):
podproces instalovaný post-installation skript vrátil chybový status 1
Při zpracování nastaly chyby:
linux-image-2.6.37.3
linux-headers-2.6.37.3
E: Sub-process /usr/bin/dpkg returned an error code (1)
$ dpkg --get-selections | grep linux-headers
linux-headers-2.6.35-24 install
linux-headers-2.6.35-24-generic install
linux-headers-2.6.37.3 install
Takže: Asi už nebudu schopen spravovat tento thread, protože nejsem na Linuxu; kdyby se toho někdo ujal, bylo by to dobrýV dohledné době návod zaktualizuji.
Nyní k dispozici jádra pro 14.04 (http://ubuntu-kernels.topolany.net/)Tato jádra důrazně nedoporučuji používat:
Nyní k dispozici jádra pro 14.04 (http://ubuntu-kernels.topolany.net/)Tato jádra důrazně nedoporučuji používat:
*nejsou k nim dostupné zdrojové kódy - bezpečnost takovýchto kernelů je přinejmenším zpochybnitelná
*neprochází testováním a v Ubuntu nemusejí fungovat správně
... zde předkládám distribuční jádra překompilovaná z jediného důvodu a tou je optimalizace pro konkrétní procesor.to znamená že: