Kernel

Fórumok

Sziasztok,

Asus eee-m kernelét mostanában herélgetem.
Problémám a következő: néha amikor kiveszek olyat a kernelből amitől nem bootol be a gép, és visszatérek egy régebbi konfigra, beforgatom, szintén nem indul az oprendszer.
Mintha valamit megjegyezne minden újraforgatáskor, annak ellenére hogy már régebben kivettem.
Mindenképpen én vagyok tudatlan barom, mert ez régebben is így (legalábbis jó ideje, rosszul) ment :)
Van valami a kernelben ami azt eredményezi hogy ne kelljen minden módosításkor mindent újraforgatni? Nem ez ellen van a make clean?
Furcsa .. :) Remélem érthető voltam és köszi a segítséget :)
Így forgatok: make menuconfig; ...; make clean; make; make modules; és átmásolom.

Hozzászólások

A make clean pont hogy ledaralja a mar leforgatott dolgokat.. bennevan hogy "tisztit" (ugymond).

Hát elméletileg igen - de pont ezt látszik megcáfolni hosszútávú tapasztalatom.
Például:

Csinálok egy 3-as verziószámot, tökéletes.
A konfigján kicsit állítok, 4-es verzió tökéletesen fut.
Majd ebből a 4-esből csinálok egy 5-öst, amivel nem indul az oprendszer.
Rendben, visszatérek a 4-es verzió konfigjához, amit lefordítok, és az oprendszer szintén nem indul el!
Minden lépésnél van make clean .. valakinek van ötlete miért lehet ez?

Szerintem rossz a sorrend.

make clean;make menuconfig;make;make modules_install; make install?

De szerintem kell a kernel .config support is, hogy tutira az aktuális beállításaiddal forduljon.

Debian - Still in development (sid)

Van .config support, minden menuconfig után változik a mérete.
Szerintem make clean sorrendje mindegy, az csak a kernel fordítását befolyásolja, nem a kernel beállítását.
(make menuconfig a .config-ot tölti be, make clean pedig kitörli a lefordított korábbi tartalmakat)
Egyébként úgy térek vissza korábbi configra, hogy visszamásolom a kernel könyvtárába és átnevezem .config-ra. Ez elméletileg helyes.

+azért is jó a sorrend, mert emlékszem, 10 évvel ezelőtt (:D) a gentoo-hoz így kellett fogatni a kernelt menuconfig után:
make dep clean bzImage modules
(még kézzel kellett a dependency-ket ellenőrizni :))

Hát a gentoo telepítése alig, szinte egyáltalán nem változott 10 év alatt .. és a kernel fordításnál is csak ez a depclean a különbség .. és a kernel, nem pedig a gentoo miatt :)

Összegezve a problémámat, hátha nem volt világos: Valami kényelmi funkció hatására a kernel megjegyez bizonyos dolgokat a régi változatából (természetesen ugyanaz a kernel verzió) és új kernelnél pl. működik a kézzel modulként forgatott wireless, aminek nem kéne. Ezt szeretném kikapcsolni, mert nem működik, hibás, rossz, gányolt. És én nem találom :)

"De szerintem kell a kernel .config support is, hogy tutira az aktuális beállításaiddal forduljon."
Ennek ami írtál, semmi köze a valósághoz. A kernel .config alapján fordul mindenképpen, az az opció teljesen másra jó.

Nem osztok észttanácsokat mert nem vagyok kernelfordító profi (ugyanis az esetek többségében ez csak fölösleges epenis++), de a context helpet legalább el tudom olvasni...............

make mrproper biztosabban torol, a .config ot is.

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

Most olyan szinten hegyezem a kernelt, hogy tényleg csak azt hagyom benne, ami szükséges az oprendszer indításához. Ilyenkor mindig egy verziószámmal jelzett configot is másolok a boot-ba, szóval nem hagyom el :)

Egyébként érdekes, régebben (2.6-os kernelt!) kb. másfél éve sikerült 800 kB-ra csupaszítanom.. a mostani már elég foghíjas, és még mindig 2 MB.
(-Os-sel forgatja a gcc, ez egy kernel beállítás, nem csak a make.conf)

Egyébként nem azt várom hogy így a 900 MHz-es kütyü lenyomjon egy dual core-t.. csak szeretem tudni hogy mi történik, ha nincs tele minden log file szeméttel, és gyorsan bootol a gép.

Egyébként turul16 tanácsa nagyon hasznos volt, csak azt nem értem, ez miért nincs http://www.gentoo.org/doc/en/kernel-upgrade.xml ebben a doksiban? :)

En ezt millioszor eljatszottam magammal, a megoldas: nincs mountolva a /boot =D

Upgrade -t szeretnék 2.6.32-es kernelre, a VT1608S hang chipem miatt.

Kiadva a parancsot:
# emerge -pv -update gentoo-sources
Így fejeződik be pirossal:
[blocks B ] <sys-libs/e2fsprogs-libs-1.41.8 ("<sys-libs/e2fsprogs-libs-1.41.8" is blocking sys-apps/util-linux-2.16.1)
[blocks B ] sys-fs/device-mapper ("sys-fs/device-mapper" is blocking sys-fs/udev-146-r1)
[blocks B ] <sys-fs/e2fsprogs-1.41.8 ("<sys-fs/e2fsprogs-1.41.8" is blocking sys-apps/util-linux-2.16.1)

Total: 105 packages (19 upgrades, 3 new, 1 in new slot, 82 reinstalls), Size of downloads: 142,021 kB
Conflict: 3 blocks (3 unsatisfied)
Portage tree and overlays:
[0] /usr/portage
[?] indicates that the source repository could not be determined

* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.

Fel lehetne oldani valahogy ezt a blokkolást úgy, hogy ne omoljon össze a rendszer?
Nagyon létszükségesnek látom a blokkoló cuccokat, nem merek unmerge -t használni egyikre sem.

Van valakinek ötlete?

Skystar2 rev2.8A Magad uram, ha szolgád nincs!

A teljes rendszert frissítsd. Akkor a portage automatikusan feloldja a blokkoló csomagokat. Ez az esetek nagy részében működik.

-> emerge -avuDN world

Vagy csak próbáld elsőnek csak az util-linux, vagy e2fsprogs csomagot frissíteni.

--
\\-- blog --//

Köszi!

Megkísérltem, hátha megy.

>USE="extras" emerge -avupDN world
Ez a válasz:
[blocks B ] sys-fs/device-mapper ("sys-fs/device-mapper" is blocking sys-fs/udev-146-r1)

Ez már haladás, csak egy blokk eset van, az előbbiek feloldódtak.

Ezek közül már el lehetne távolítani valamelyiket, hogy menjen?

Skystar2 rev2.8A Magad uram, ha szolgád nincs!

Igen, ezt feloldhatod így...

emerge -avC device-mapper
emerge -avuDN world

Az utóbbi parancs majd újra telepíteni fogja, immáron a frissített verziót belőle. De ezt te is ellenőrizheted, mielőtt "Yes"-t nyomsz a kimenetére.

+1 észrevétel:

Az "-a (ask)" és "-p (pretend)" kapcsolók ütik egymást. Gond nem lesz belőle, de azért az emerge "szólni" fog.

--
\\-- blog --//

Sikerült az e2fsprogs frissítése, ekkor vsak apró kékkel írta ki a blokkot, de rendben lefutott.
Most már az emerge -uDN gentoo-sources -re csak az előbb írt device-mapper blokkal válaszol.

A -p és -v kapcsolókra szólt. Nem baj, okosan van megcsinálva,

Köszi a segítséget, megpróbálom, remélem menni fog.
El fog tartani egy kis ideig ez az update world.....

Egyébként életemben ez a negyedik telepített Gentoo rendszerem, te ebben vagy otthon én inkább az UHU -ban. Nem is akarnék kernelt frissíteni, de hát ennek a nyomorult VIA VTA1708S hda_snd_intelnek a jack bemenetei ezzel a 2.6.31-es kernellel még némák, az alsa fejlesztők meg már javítottak rajta, amit beleraktak a 2.6.32 -be. A 2.6.33 -ban meg már biztos jó lesz. Akkorra már bele kel jönnöm az upgrade -ba. A 2.6.34 meg mire kijön, berobban majd az UHU 2.2 64 bittel és újra UHU-zok majd a gentoo mellett.

Skystar2 rev2.8A Magad uram, ha szolgád nincs!

Nem is akarnék kernelt frissíteni, de hát ennek a nyomorult VIA VTA1708S hda_snd_intelnek a jack bemenetei ezzel a 2.6.31-es kernellel még némák, az alsa fejlesztők meg már javítottak rajta, amit beleraktak a 2.6.32 -be.
Ilyenkor én régebben az media-sound/alsa-drivers csomagot használtam.
Már ezt akartam ajánlani de most nézem hogy ez ki van herélve! Tehát csak a kernelben lévő driver van (mik vannak?:).

Próbáltam már unmaszkolni ezt az alsa cuccost egy hete, de rengeteg baja van, inkább lemondtam róla. Túlságosan betelepült az alsa szekció már a kernelbe. Most, hogy már be van portolva a 2.32, inkább a frissítésnél döntöttem.
Most leszedtem a device-mapper -t, már megy is a háttérben a teljes upgrade.
Azért kicsit izgulok, elmegyek veszek egy üveg sört, míg fordít.
Remélem tudok még válaszolni a frissített rendszerből és nem kell előlről kezdenem...

Kösz a segítséget, nagy vagy balage !

Skystar2 rev2.8A Magad uram, ha szolgád nincs!

az nem fordulhat elő, hogy nem is a kernel fordítással van a bajod, hanem suspend image-ból akar magához térni a gép és nem az új kerneleddel?

Félreértesz!
Nincs itt semmi suspend.img.
Élő teljesen komplett rendszer alatt vagyok. kb 2 hete faragtam készre, most is alóla írok.

Csupán frissíteni szeretnék 2.6.32 -re, de be kellene emergelni az új kernel forrását, hogy le tudjam fordítani. "Magyarul" upgrade a célom, de nem akarom a kezdetektől újra rakni az egészet a minimal CD-ről.

Skystar2 rev2.8A Magad uram, ha szolgád nincs!

Öszintén nagyon köszönöm.

Biztos van rá megoldás, de nem tudom, hogy küzdjek meg vele.
Ez a gentoo csupa fordításból áll, már ezen arendszeren is a 6. kernel fordításnál tartok, mert mindig elfelejtettem valamit beleforgatni a kernelbe.
A skystar2 cuccát, ext2 ismeretet és még egy pár apróságot, mint framebuffer support -ot az apróbetüs bootoláshoz, stb. Az elsőnél csodálkoztam, hogy nem tudtam felmountolni a boot partíciómat a grub bejegyzés módosításához, mert kihagytam a kernel configjánál az ext2 fs-t.

Most a 2.6.32 -őt szeretném és még a forrását sem tudom feltelepíteni a blokkolások miatt.

Skystar2 rev2.8A Magad uram, ha szolgád nincs!