Kernel fordítási gond

10 bejegyzés megtekintése - 1-10 / 19
  • Szerző
    Bejegyzés
  • #1927422
    fellow
    Felhasználó

      //szubjektiv
      „Egyébként próbáltam 2.4.22-21-es kernellel is, ugyanezt csinálja. A másik dolog: amikor a make menuconfigot csináltam, a Sound opció alatt ha be akartam lépni az ALSA beállításaihoz, akkor kilépett a következõ hibaüzenettel: menuconfig Error 1 (mindkét kernelnél). Ez miért van?”
      ez biztos, hogy vmi patchelt kernel, probald meg a vanillat (kernel.org);
      es a 2.95-os gcct (at kell irni a Makefile-t);

      ugye igy foditasz?
      make clean
      make xconfig / menuconfig / …
      make dep
      make bzImage
      make modules
      make modules_install

      initrd bizots, hogy kell?

      „A suliban éppen a kernel fordítás a tananyag (…)”
      hoppa! ez milyen iskola, ha szabad ilyen szemelyes kerdest?

      #1927423
      TiaN
      Felhasználó

        Leírom lépésrõl lépésre, hogy hogyan csinálom:

        Elõször ugyebár a forrást felpakolom a Mandrake szoftvertelepítõjével (mert így a függõ csomagokat biztos hogy jó sorrendben pakolom fel, nem kell vele veszõdni). Utána ami a bootban van config fájl a jelenlegi kernelhez, azt átmásolom az /usr/src/linux-2.4.22-xx könyvtárba .config néven. Aztán make menuconfig ebben a könyvtárban, kiszedegetem ami nem kell (mint mondtam, pl az Alsa-s cuccokból kidob), amirõl még a Help elolvasása után sem tudom eldönteni, hogy kell-e nekem, azt inkább nem bántom. Ha kész, lementem, aztán:

        make dep
        make clean
        make bzImage
        make modules
        make modules_install

        Ha ez kész, akkor a bzImage-et átrakom a boot-ba (így a lilo.confban egyszerûbb hivatkozni rá). Utána a boot könyvtárban kiadom a mkinitrd initrd_akarmi.img 2.4.22-xxmdkcustom parancsot. (Az initrd-t az elején bennehagytam a kernelben). Utána a lilo.confban csinálok az új kernelnek egy bejegyzést (a régi kernelét copy-paste-zom a vegere, a szükseges dolgokat átírom: a bzImage helyét meg az initrd helyét, és a labelt. Lilo parancs, aztán reboot, és az új kernel mûködik. Persze csak a suliban, itthon ezt a csúnyaságot csinálja, mint amit leírtam. A hanggal van valami baja, meg az USB-vel, ha jól vettem ki a hibaüzenetekbõl, csak azt nem tudom, mi. Eléggé kezdõ vagyok még a témában (de ez gondolom kiderült).
        Egyébként a Jászberényi Alternatív Szakképzõ Iskolába járok felsõfokú rendszerinformatika szakra (ilyen OKJ-s képzés), a tanár egy irtó jó fej csóka, és bár a tananyag szerint csak két hálózati rendszer ismeretét kellene elsajátítanunk, mi tanulunk Linuxot, Win 2000-et, meg Novellt is. Idén egész évben Linux lesz, bár még csak szagolgatjuk, bonyolultabb konfigurálásba még nem szaladtunk bele. Tegnap elkezdtünk 2.6-os kernelt fordítani, annál például már nem csináltunk initrd-t. Lehet, hogy itthon is azt kellene megpróbálnom?

        #1927424
        badur
        Felhasználó

          Szia!

          Nekem is hasonlót csinált a 2.4.24 de az az i2c-vel.
          A megoldás az volt, hogy kernelbe fordítás helyett modulba tettem, úgy
          lefordult.

          #1927425
          TiaN
          Felhasználó

            Mit tettél modulba?

            #1927426
            badur
            Felhasználó
              #1927427
              admin
              Adminisztrátor

                Ciao!

                Ez az initrd-s dolog mihez kell án ezt soha nem csináltam. Minden rendben ment enélkül is…

                #1927428
                badur
                Felhasználó
                  #1927429
                  TiaN
                  Felhasználó

                    Initial RAM disk (initrd) support:
                    Ezzel a funkcióval lehetõvé válik, hogy a rendszerbetöltõ program (lilo, loadin vagy grub) bootolásnál RAM lemezt hozzon létre és root fájlrendszerként csatolja fel azt. Ez jó példa arra, hogy a kernel modulokat legyen hova betölteni mielõtt a tényleges root fájlrendszerhez hozzáférnénk. Ahhoz, hogy ezt a funkciót elérd a RAM disk támogatásnak a kernelben és nem modulban kell lennie.

                    #1927430
                    TiaN
                    Felhasználó

                      fellow:

                      Egyébként a 9.2-es Mandrake disztriben 3.3.1-2-es gcc van, szóval a 2.95-ös csak a rendszer szétbarmolását eredményezni. Nem Debiant használok mint mondtam…

                      badur:

                      Kösz a tippet!!!

                      Egyébként sikerült megoldanom a problémát, nagy a gyanúm, hogy az az Alsas bug kavart be. Ugyanis az USB-s cuccokat kiszedtem, viszont az Alsaban voltak USB-s audio cuccokkra vonatkozó bejegyzések, amikhez kellett volna az USB. De mivel az Alsa-s dolgokba nem tudtam bemenni ezeket nem is tudtam kivenni, így a modules_installnál összekakálta magát a rendszer, kereste az usb-audio.o-t ami nem létezett természetesen. A 2.4.22-26-os kernelbõl szerencsére már kimaradt ez a hiba, így az alsa-s usb-s dolgokat is ki tudtam gyomlálni, így sikerült!!! Szóval probléma megoldva. Már csak a 2.6-os kerneles kérdésemre várnék választ valami okos embertõl…. 😆

                      #1927431
                      fellow
                      Felhasználó

                        TiaN:
                        1. ha nem muszaly, ne a disztohoz adott forrast forgasd, hanem a vanilla (erdeti kernel.org-os) valtozatot, mert az utobbi kevesbe van szetpatchelve (jobb stabilitas); bar a 2.4-es ag mar „veszett fejsze nyele”;

                        2. a dep utan foloslges clean, mert meg nem fordult le semmi, csak a .depend allomanyok keszultek el (aki nem hiszi jarjon utanna: konfig, du -s ./, dep, du -s ./, clean, du -s ./); imho minden forgatas elott nyomok egy mrpropert (a .configot elotte kimentve), mert jobb biztora menni; tehat: mrproprt, config, dep, bzImage, …;

                        3. „amirõl még a Help elolvasása után sem tudom eldönteni, hogy kell-e nekem, azt inkább nem bántom”
                        az a gond, hogy a disztokhoz felkonfiguralt kernelekbe szinte mindent beforgatnak a legszelesebbkoru kompatiblitas erdekeben, ezert az atlagfelhasznalo szamara rengeteg felesleges dolgot tartalmaznak; jobb lenne egy tiszta .configrol kezdeni, par forgatas alatt meg lehet tanulni, hogy mi kell es mi nem (a gyari kernelnel nyomott lsmod sokat segit, illetve a kudzu);

                        4. initrd: http://tldp.fsf.hu/HOWTO/Kernel-HOWTO-hu/c…ate_initrd.html
                        initrdre olyan specialis esetben van szukseg, ha pld az alaplapi chipsetet nem tamogatja az alap kernel es a kulso modulokat nem lehet rapatchelni a kernelre es igy statikusan beleforgatni; vagy ha vki modularis idet akar csinalni;

                        5. ha nem muszaly ne forgass semmit modulba, a memsporolas merteke egy mai tobbszazmegas gepen elhanyagolhato, de gond annal tobb van vele;

                        6. a gcc hasznalata nem disztrofuggo, a vanilla kernelt 2.95.3-re irjak, ujabb verzioval is fordulhat, de nem garantalt; jobb biztosra menni;
                        debian sidben most 3.3.2 gcc is van, de a crypto resznel internal compiler error …

                        badur:
                        „Nekem is hasonlót csinált a 2.4.24 de az az i2c-vel.
                        A megoldás az volt, hogy kernelbe fordítás helyett modulba tettem, úgy
                        lefordult.”
                        ennek erdekelne a hibauzenet, ha lehetseges;

                      10 bejegyzés megtekintése - 1-10 / 19
                      • Be kell jelentkezni a hozzászóláshoz.