Hrvatska akademska i istraživačka mreža
  NASLOVNICA MAPA WEBA TRAŽILICA KONTAKTI CARNET WEB
Hrvatska akademska i istraživačka mreža
 
menu 4
Sigurnost
menu 4
Distribucija
menu 4
Pomoć
menu 4
Dokumenti
menu 4
menu 4

 

 

27-09-04 12:31
Migracija na kernel 2.6 s verzije 2.4

piše MIROSLAV MAZUREK

Kuharica je za korisnike koji izrađuju/prilagođavaju svoju vlastitu verziju kernela, bilo za poslužitelje ili stolne sustave. Nadogradnja CARNet-ovih poslužitelja vjerojatno će ići standardnim apt sustavom.

Nakon skidanja (aptanja) najnovijeg izvornog koda kernela, prvi je korak njegovo podešavanje tj. konfiguracija kernela.

Za konfiguraciju kernela moguće je koristiti neki od sljedećih alata:

make config - komandnolinijsko sučelje

make oldconfig - komandnolinijsko sučelje koje daje konfiguracijske varijable koje postoje u sourceu novog kernela a ne postoje u postojećem konfiguracijskom fajlu

make menuconfig - sučelje za konfiguraciju kernela u tekstualnom modu

make xconfig - (novo) grafičko sučelje za konfiguraciju (pored X-a zahtijeva tk i wish pakete)

make gconfig - grafičko sučelje za konfiguraciju (pored X-a zahtijeva odrđene GTK2 pakete)

make defconfig - kreira konfiguracijski fajl koristeći default vrijednosti za konfiguracijske varijable

 

Nakon konfiguracije kernela potrebno je izvršiti naredbe:

make

make install

make modules_install

 

U svakom trenutku, naredba "make help" ispisat će sve dostupne izbore za izgradnju 2.6 kernela.

Poznato je da je pojedine drivere moguće ukompajlirati direktno u kernel tako da su uvijek dostupni ili ih izvesti kao module koje će kernel pozivati i aktivirati prema potrebi (loadable kernel modules). U sekciji konfiguracije kernela "Loadable module support" dvije su korisne varijable: "Automatic kernel module loading" i "Module unloading". Članci (moduli) su obično smješteni u nekom od poddirektorija od /lib/modules/ i imaju novu ekstenziju ".ko" (kernel object) za razliku od prijašnje ".o". U 2.6 kernelu uvedena je nova organizacija drivera koji u potpunosti podržavaju PnP i Power Management te novi sysfs filesystem u kojemu su hijerarhijski organizirani siostemski uređaji i koji doprinosi rasterećenju /proc filesystema.

Prije same konfiguracije i implementacije novog kernela potrebno je provjeriti da li su pojedini programski paketi nadograđeni do potrebne verzije. Naime, promjene u kernelu na razini drivera i sistemskih programa, zahtijevaju i promjenu pojedinih administrativnih programa. Naravno, u Debianu se o tome brine apt sustav a za ostale tu je popis:

 

Paket Minimalna verzija Naredba za provjeru

binutils 2.12 ld -v

e2fsprogs 1.29 tune2fs

gcc 2.95.3 gcc --version

make 3.78 make --version

module-init-tools 0.9.10 depmod -V

procps 3.1.13 ps --version

util-linux 2.10o fdformat --version

 

Ako se koriste i druge nove mogućnosti kernela 2.6 potrebno je i prateće administrativne alate podići na odgovarajuću verziju (npr. JFS, XFS, OpenAFS ...). U kernelu 2.6 osnovni zvučni podsustav je ALSA i preporuča se prije prelaska na novi kernel još pod starim kernelom pokrenuti i ispravno podesiti ALSA zvučni podsustav.

Posebnu pozornost treba dati paketu module-init-tools ukoliko želimo još neko vrijeme imati dual-boot starog 2.4 i novog 2.6 kernela (što se preporuča). Paket module-init-tools sadrži sistemske programe za manipulaciju modulima: insmod, modprobe (učitavanje), rmmod (uklanjanje), lsmod (izlistavanje) te depmod (analiza međuovisnosti modula). Zbog promjena u načinu imenovanja modula i mehanizma učitavanja, nije moguće samo prepisati postojeće programe i konfiguracijske fajlove; pod tim okolnostima ne mogu se više ispravno koristiti moduli kernela 2.4. Dio procesa nadogradnje ovoga paketa je i preimenovanje programa prethodne verzije u neki_program.old. Ako su module-init-tools kompajlirani s podrškom za prethodne verzije (što je default), pri učitavanju kernela 2.4 automatski će se koristiti i odgovarajući programi za upravljanje modulima pogodni za verziju kernela 2.4. Završni korak pri instaliranju ovoga paketa je pokretanje skripte generate-modprobe.conf koja konvertira postavke starog konfiguracijskog fajla za module /etc/modules.conf i generira novi konfiguracijski fajl /etc/modprobe.conf (generate-modprobe.conf /etc/modules.conf).

Također, potrebno je preraditi i pojedine sistemske startup skripte. Za korisnike večine modernih distribucija to će automatski učiniti pojedine instalacijske skripte novih paketa tako da je potrebno samo provjeriti sljedeće promjene:

 

- provjeriti i uvjetno postaviti mount/umount sysfs (Debian /etc/init.d/mountvirtfs, /etc/init.d/umountfs)

- provjeriti i uvjetno postaviti reference na /proc/kallsyms umjesto /proc/ksyms

- provjeriti i uvjetno postaviti reference na /sys/bus/usb/devices umjesto /proc/bus/usb/devices

 

Napomena za programere: u 2.6 kernelu default threading model postaje NPTL (Native POSIX Threading Library) umjesto linuxthreads pa će pojedine aplikacije koje koriste dretve trebati manje promjene i ponovno kompajliranje. Provjera verzije:

getconf GNU_LIBPTHREAD_VERSION





[Lista]
Ovu uslugu CARNeta realizira Sveučilišni računski centar Sveučilišta u Zagrebu
  Copyright ©2005. CARNet. Sva prava zadržana. Impressum.
Mail to
sys-portal@CARNet.hr