Portál AbcLinuxu, 30. dubna 2025 13:06
Tak jsem se rozhodl trochu oprášit "stařečka" Woodyho na mém routeru a dát mu trochu novější jádro. Přeci jenom od vydání verze 2.4.24 nějaká ta voda uplynula a trochu mě trápí WiFi ovladače. Nebylo to složité, ale ani úplně triviální, zabralo to jedeno odpoledne a večer. Občas jsem byl vystaven nemilému překvapení. A jestli se to povedlo, uvidím, až dopíši tento příspěvek - nechci, aby mi předtím lehla síť ;)
Co bylo potřeba si připravit? Nejdříve nějaké povinné čtivo - Návod k upgradu na kernel 2.6. Nové jádro: Měl jsem z dřívějška staženo 2.6.8.1 plus patche na 2.6.9 a 2.6.10, takže celkem aktuální.
/* poznámka: komentáře jsou v /* */, $ značí příkazy jako uživatel a # jako root. */ # cd /usr/src # tar -xjf linux-2.6.8.1.tar.bz2 # bzip2 patch-2.6.9.bz2 | patch -p1 /* patch sám nepřejmenuje adresář s jádrem na novější verzi */ # mv linux-2.6.8.1 linux-2.6.9 # bzip2 patch-2.6.10.bz2 | patch -p1 # mv linux-2.6.9 linux-2.6.10 /* ještě obecný odkaz na aktuální zdrojáky */ # ln -s linux-2.9.10 linux
Tak jádro by bylo připraveno. Teď ještě WiFi ovladače na mou ZCOM XI-626ku. Používám HostAP, tak jsem sáhnul po nejnovější stabilní verzi - 0.2.6 - já tu mám na starém jádře nějakou prehistorii - 0.0.2 CVS, či co ;) Snad by mohlo jít nějak rozumně ladění výstupního výkonu (txpower) a taky by mi to mohlo ukazovat opravdovou úroveň signálu a šumu, ne nějaké blbosti. K tomu potřebujeme ještě Wireless Tools - nyní ve verzi 27.
# cd /usr/src # tar -xzf hostap-driver-0.2.6.tar.gz # tar -xzf hostap-utils-0.2.6.tar.gz /* moduly HostAPu strčíme de jádra */ # cp hostap-driver-0.2.6/drivers/modules/*.[ch] /usr/linux/drivers/net/wireless /* HostAP potřebuje patchnout kousek jádra, nejvhodnější patch bude asi ten pro 2.6.2 */ # cd /usr/src/linux/ # patch -p1 < ../hostap-drivers-0.2.6/kernel-patches/hostap-linux-2.6.2.patch /* Readme sice radí po kompilovat zde: make; make install nicméně kompilace jádra 2.6.x, to očividně zvládne sama - pokud máme sprvně nastaveno: CONFIG_NET_RADIO=y, CONFIG_HOSTAP=m, CONFIG_HOSTAP_PCI=m */
Dále to chce aktualizovat utility: procps (min. 2.0.9), vyměnit modutils za module-init-tools (možná, že mohou existovat pospolu, ale já jsem na to nepřišel, a ani to nepotřebuji). Nainstalovat libncurses5-dev (kvůli make menuconfig) se mi nakonec nepodařilo - síť moc nešla, apt-get update se tak uloudalo k connection timeout, tak jsem si řekl, že to přece musí jít i pomocí make oldconfig + vi .config (několikrát opakovat). A nakonec to šlo.
Readme radilo, vše kompilovat na svém písečku a nedělat bordel ve zdrojácích, tak jsem kompiloval doma:$ cd /usr/src/linux $ make O=/home/bohous/build/kernel /* počkat tak hodinu a půl a navečeřet se - co taky chtít od P200/64M RAM, disk taky historie */ $ su -c "make O=/home/bohous/build/kernel modules_install"
Make install jsem raději nepokoušel a tak jsem si jádro + system.map raději do /boot zkopíroval ručně. A lilo také nastavil ručně.
# /home/bohous/build/kernel/ # cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.10-bz-1 # cp System.map /boot/System.map-2.6.10-bz-1 /* /etc/lilo.conf: pro jistotu nechám ještě původní jádro */ image=/boot/vmlinuz-2.6.10-bz-1 label=Linux read-only image=/boot/vmlinuz-2.4.24jtv label=Linux24 read-only /* A pak otestovat nastavní lila: */ # lilo -t -v -v /* A pak naostro: */ # lilo -v -v
Zbývají už jen Wireless Tools. Rozbalit... Readme radí: # make install, ovšem to na mě vyhrkne, že mu chybí hlavičkový soubor linux/version.h. Koukám do jádra a on tam fakt není. Říkám si, že by byl v nějaké dřívější verzi přejmenován nebo odstraněn. Asi ne, když tohle jsou nové Wireless Tools. Verze se ale generuje až při konfiguraci, takže se vytvář automaticky. Musí tedy být u mě doma, kde jsem komplilovat (a také konfiguroval). Jak ho ale dostat do include path, aby překladač natáhl automaticky? Man gcc praví: "Použij parametr -I/cesta/k/include souborům/". OK. Tenhle parametr je použit pouze v Makefile, tak tam přidáme můj domeček s jádrem, nebo raději symbolický odkaz z aktuálního adresáře:
# cd /usr/src/wireless_tools.27 # ln -s /home/bohous/build/kernel/include build /* Makefile: */ /* na konec doplníme: -Ibuild*/ CFLAGS=-Os -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow \ -Wpointer-arith -Wcast-qual -Winline -I. -Ibuild # make install /* hurá */
Pokud chceme nebo potřebujeme, můžeme dokompilovat hostap-utils, ale jinak snad ani jsou moc životně důležité - já jsem je alespoň nikdy nepotřeboval.
Takže to by asi tak bylo. Uvidíme, jestli nové jádro poběží... Držte mi palce ;) BTW: Tohle byl jen takový rychlý orientační náčrt a zápis poznámek, jak asi takový upgrade jádra na novější větev ještě k tomu na ne zas tak nové systému probíhá. Rozhodně zde není popsáno, co kolikrát jsem mezitím použil google, man, vi a jiné základní věci, bez nichž bych to asi dal do kupy jen horko těžko. Bylo to psáno horkou jehlou, takže jazykovou přesnost zde nehledejte. Nečiní si žádné ani nároky na přesnost, ani není vyčerpávající. Od toho jsou howto, články, readme a jiné podobné dokumenty...
nové jádro ... a teď budu mít zas na nějaký ten rok vystaráno ;)
Tiskni
Sdílej:
Linux maelgwn 2.4.26 #6 Mon Jun 14 19:07:27 PDT 2004 i686 unknown unknown GNU/LinuxNo, nebudu to upgradovat jen proto, že existuje novější verze. Nedávno jsem u něj po náročné operaci nasadil LVM na disky (/ jsem nechal). To vyčerpalo chuť něco měnit na měsíc dopředu
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.