Почетак › Форуми › Линукс дистрибуције › OpenSuSE › SuSE 9.3 – kompajliranje kernela [sređeno]
- This topic has 11 одговора, 4 гласа, and was last updated 21 years раније by
jboban.
-
АуторЧланци
-
25. мај 2005. у 2:16 am #5432
jboban
УчесникVeć dva puta sam pokušao da kompajliram kernel, sve prošlo korektno, ali SuSE posle toga ne može da se startuje. Problem lako rešim Repair procedurom sa CD-a, ali me zanima gde je greška.
Uradio sam sledeće (po sećanju):
– iz KDE startovao konzolu i kao root otišao u /usr/src/Linux
– kucao make oldconfig i dobio .config fajl
– kucao make xconfig i editovao ga
– samo promenio CPU tip sa Generic x86 na Athlon i snimio
– kucao make clean
– make bzImage
– make modules
– INSTALL_PATH=/boot make install
– make modules_install
– na kraju rucno iskopiram Symbols.map u /boot
– resetujem i više ne mogu startovati Linux. Dobijam poruke tipa:[code]Loading kernel /drivers/ide/ide-core.ko
ide_core: version magic ‘2.6.11.4-20a-default 586 REGPARM gcc-3.3’ should be ‘2.6.11.4-20a-default K7 REGPARM gcc-3.3’
[/code]
Rekao bih da i drajveri moraju biti kompajlirani za isti CPU tip (ovde K7), ali zar to nije uradjeno sa make modules?
Koji je uopšte najjednostavniji način da se uradi rebuild kernela, eventualno nešto promeni, izbaci suvišno i sl.?
Nadam se da mi niko neće postaviti čuveno filozofsko pitanje: A čemu sve to? 🙄25. мај 2005. у 7:07 am #28881mtm76
Учесникkoliko se ja sjecam, to je poruka kada koristis stari initrd za novi kernel… orkucaj mkinitrd, koji ce ti napraviti sa svaki kernel posebno, pa onda stavi to sve u konfiguracijsku datoteku za grub… ako si ukljucio podrsku za filesystem direktno u kernel… onda pojma nemam sta je u pitanju…
25. мај 2005. у 11:02 am #28882jboban
Учесникkoliko se ja sjecam, to je poruka kada koristis stari initrd za novi kernel… orkucaj mkinitrd
Ništa od toga nisam menjao. Kako je bilo, tako je ostalo. Sad i ne mogu to da probam jer ne mogu ni da startujem Linux. Moram da ponovim Repair proceduru pa onda, ali bih voleo da budem sigurniji da će sve proći.
ako si ukljucio podrsku za filesystem direktno u kernel… onda pojma nemam sta je u pitanju…
Ništa osim CPU tipa nije promenjeno. Umesto x86 (586) stavio sam Athlon (K7).
25. мај 2005. у 11:25 am #28883kmilos
Учесник“make oldconfig” hoce malo da zeza, a i mislim da se bas ne izvrsava tako (vec mora da postoji .config fajl, ne pravi ga on)… u stvari mi nije bas jasan jer nisam nikad dobio ocekivane rezultate…
Mislim da ti je pouzdanije da samo pokrenes “make xconfig” (ili qconfig) i onda ides na ucitavanje konfiguracije, i ucitas konfig. fajl originalnog SUSE kernela, koji se uvek nalazi u /boot/config-*, pa ga dalje menjas po volji.
I da, na kraju ipak mislim da treba napraviti initrd uz novi kernel i ubaciti ga u grub liniju.
Originalni kernel, system.map, i initrd naravno nije trebalo da sklanjas da ne bi stalno morao da dizes sistem sa CD-a.
A ipak cu da te pitam cemu sve to? Ne verujem da ces osetiti ni 1% razlike menjanjem ciljnog procesora samo kod kernela. Kada bi sve prekompajlirao (glibc, X, itd.) mozda bi cak osetio i 2% 😆 (Salim se, verovatno malo vise, ali nije vredno truda, bolje onda da si odmah uzeo da se zanimas sa Gentoo-om.)
25. мај 2005. у 12:27 pm #28884jboban
Учесник”make oldconfig” hoce malo da zeza, a i mislim da se bas ne izvrsava tako (vec mora da postoji .config fajl, ne pravi ga on)…
Ne. Baš on ga pravi. Pre toga ga nije bilo, a posle se pojavio.
Kako napraviti initrd i ubaciti?Originalni kernel, system.map, i initrd naravno nije trebalo da sklanjas da ne bi stalno morao da dizes sistem sa CD-a.
Bio sam siguran u sebe. Bio… 😕 A sad je jedino u šta se pouzdam boot CD 😆
A ipak cu da te pitam cemu sve to?
Želim da to naučim. Promena CPU tipa nije zbog neke značajnije promene brzine, nego sam računao da to neće ništa drugo poremetiti. Osim toga, hoću da izbacim sve što se tiče prenosnih računara, egzotičnih fajl sistema, ograničim količinu RAM memorije na 1GB (sad je na 4GB) i sl.
Imam utisak da je ovo rasturanje na sastavne delove Linux-a njegovo dobro upoznavanje. Sad, cena je višenoćno kompajliranje kernel-a, sutra boot CD, Repair, forum, dokumentacija, pa ponovo… Ko izgura do kraja pričaće na forumu… 😉25. мај 2005. у 1:04 pm #28885kmilos
УчесникNe. Baš on ga pravi. Pre toga ga nije bilo, a posle se pojavio.
Pa napravi on neki .config ako ga nema, ali to ne znaci da ti napravi dobru pocetnu konfiguraciju, tj. istu onu sa kojom je isporuceni SUSE kernel kompajliran. Po meni bi trebalo ovako, neka me neko ispravi ako gresim:
# cp /boot/confg-blabla /usr/src/linux-bla/.config (ili neki drugi pocetni config fajl, pogledaj npr. i /usr/src/linux-bla/i386/default/.config)
# make oldconfigi onda dalje…
Kako napraviti initrd i ubaciti?
Komandom mkinitrd, pogledaj man stranicu. Zatim ga prekopiras u /boot (mada ce verovatno tamo i da ga napravi) i onda ubacis u /boot/grub/menu.lst slicno kao sto je i originalna stavka. (Pretrazi forum, vec je bilo o initrd-u.)
25. мај 2005. у 1:10 pm #28886mtm76
УчесникNišta osim CPU tipa nije promenjeno. Umesto x86 (586) stavio sam Athlon (K7).
ti ti i kažem… ne može stari initrd ako je bilo šta promijenjeno… a podrška za filesystem nije uključena direktno u kernel po default-u… ovo znam jer mi se nekad ranije isti problem desio…
25. мај 2005. у 5:20 pm #28887zAkiLi
УчесникPogledaj ovo:
http://forums.suselinuxsupport.de/index.php?showtopic=13704prilicno detaljno uputstvo za naprednije konfigurisanje kernela i kompajliranje bas za suse, mada se u globalu moze primeniti na bilo kojoj distribuciji.
26. мај 2005. у 12:25 am #28888jboban
Учесникprilicno detaljno uputstvo za naprednije konfigurisanje kernela i kompajliranje bas za suse
Ovo je odlično, detaljno i napredno 😉
Inače, uspeo sam! 😆
Hvala svima na pomoći, a posebno milosk-u koji mi je dao ideju za mkinitrd. To je bila jedina karika koja je nedostajala…23. август 2005. у 5:47 pm #28889jboban
УчесникSad primetih još jedan problem… 🙁
Posle kompajliranja kernela, startovao sam mkinitrd i primetio da se koristi novi kernel, ali moduli iz starog 😮Kernel image: /boot/vmlinuz-2.6.12.2-default
Initrd image: /boot/initrd-2.6.12.2-default
Shared libs: lib/ld-2.3.4.so lib/libblkid.so.1.0 lib/libc.so.6 lib/libselinux.so.1 lib/libuuid.so.1.2Driver modules:
lib/modules/2.6.11.4-20a-default/kernel/drivers/ide/ide-core.ko
…
Filesystem modules:
lib/modules/2.6.11.4-20a-default/kernel/fs/reiserfs/reiserfs.ko
…
Including: klibc initramfs udev fsck.reiserfs
Bootsplash: SuSE (1024×768)
6977 blocksKako namestiti da se koriste moduli tekućeg kernela, kod kompajliranja ili posle?
-
АуторЧланци
Мораш бити пријављен да би поставио коментар у овој теми.