Staticky zlinkovany kernel modul

Sekcia: Hardware a Drivery 08.05.2010 | 12:46
Avatar Pali   Používateľ
Kernelovsky modul ohci_hcd je na ubuntu staticky zlinkovany s kernelom.
Ja chcem pouzit moj vlastny opatchovany, ktory mam ako externy modul ohci-hcd.ko

Ako ho dokazem nahradit pocas behu? Je to vobec mozne (odstranit z jadra staticky zlinkovany modul)? v lsmod ani v /proc/modules sa nenachadza...

rmmod ohci_hcd
ERROR: Module ohci_hcd does not exist in /proc/modules


Ak chcem nacitat moj opatchovany a prekompilovany, dostavam nechutnu hlasku:

insmod ./ohci_hcd.ko
insmod: error inserting './ohci-hcd.ko': -1 Device or resource busy
[ 6858.349244] Error: Driver 'ohci_hcd' is already registered, aborting...

Mozem ho nejak deregistrovat? Je mozne nejake riesenie bez rekompilacie celeho jadra?
    • Re: Staticky zlinkovany kernel modul 08.05.2010 | 12:51
      Avatar borg Fedora  Administrátor
      musis prekompilovat kernel:
      1. bud zmenis config subor, aby ten modul nebol zlinkovany do jadra a budes loadovat svoj
      2. alebo opatchujes zdrojaky a pouzijes config z ubuntu a modul bude sucastou jadra (ale opatchovany)
      3. alebo zmenis config subor, aby modul nebol zlinkovany do jadra, opatchujes ho a skompilujes.
      • Re: Staticky zlinkovany kernel modul 25.05.2010 | 22:06
        Avatar Pali   Používateľ
        uspesne sa mi podarila 2. moznost (poslal som cely dsc balik s mojim patchom na kompilaciu do mojho PPA na launchpade) a kernel je funkcny podla mojich predstav...

        avsak zaujima ma, je mozne nahradit staticky zlinkovany modul za behu bez nutnosti kernel prekompilovat?
        • Re: Staticky zlinkovany kernel modul 26.05.2010 | 13:06
          peto   Návštevník
          existuje nieco, co sa vola ksplice.

          malo to uz byt v defualt kerneli - je patchovanie beziaceho kernelu v pamati...

          nevidim dovod preco by to nemalo ist...

          V tvojom pripade, ael
          aspon jeden krat musis kernel skompilovat so spavnym nastvenim.,
          aktualnu konfiguraciu kernelu by si mal najst
          v /proc/config.gz...


          Ak kompilujes to iste jadro s tym istym konfigom bude identicke...




          • Re: Staticky zlinkovany kernel modul 26.05.2010 | 14:01
            Avatar Pali   Používateľ
            ako ja by som chcel nejake taketo riesenie:

            budem pouzivat ubuntu kernel, ktory sa bude normalne updatovat cez apt-get a chcem nejak pouzit moj opatchovany modul.

            ako docasne riesenie, je to ze si vzdy ked ubuntu urobi upgrade kernelu (aj koli grafike, kms a nouveau mam kernel z xorg-edgers) stiahnem zdrojaky aplikujem patch a dam prekompilovat na launchad do mojho ppa, zkade potom spavim update cez apt-get

            keby vsak ubuntu davalo ten modul nie staticky, jednoducho da da pouzit dkms alebo module assistant na kompilaciu vzdy po update kernelu a zahrnut ho do systemu. avsak modul je staticky... je nejake riesenie aby to nejak takto slo? neviemci ten ksplice je v ubuntu kerneli... (mam verziu 2.6.34 z xorg-edgers repozitara)