[Ratkaisu] Km-moduulin kääntäminen ei onnistu

Lähtökohta
Näytönohjaimeni on Connect 3D:n valmistama, AGP-väylässä kiinni oleva Radeon 9600 -piirisarjalla varustettu All In Wonder. Kaappausta varten All In Wonder -näytönohjaimille on olemassa GATOS-projektin tuottama km-moduuli, jota ei ole saatavilla pakettivarastoista.
Linux-ytimestä käytössäni on versio 2.6.22-14-generic.
Pakettienhallinnassa linux-headers-generic ja cvs on asennettuna.
Ongelma
Jos lataan km:n sen www-sivuilta ja yritän kääntää lähdekoodia, kääntäminen epäonnistuu. Lisäksi lähdekoodissa ei ole Radeon 9600 -piirisarjan tunnistamiseen tarvittavia tietoja.
Ongelman syy
Km:n lähdekoodi on niin vanhaa ettei se ole yhteensopiva Linux-ytimeni kanssa eikä siinä ole huomioitu Radeon 9600 -piirisarjaa.
Ratkaisu
Lataan km:n lähdekoodin uusimman version CVS-versionhallintajärjestelmän avulla ja korjaan lähdekoodin toimivaksi.

  1. Lataan km:n lähdekoodin uusimman version seuraavalla komennolla:
    cvs -z3 \
    -d:pserver:anonymous@gatos.cvs.sourceforge.net:/cvsroot/gatos \
    co -P km
  2. Lataan korjaavan paikkaustiedoston seuraavalla komennolla:
    wget http://mummila.net/vuorovaikutus/files/2008/r9600-2_6_22.patch
  3. Sovellan paikkaustiedoston tiedot km:n lähdekoodiin seuraavalla komennolla:
    cd km && patch -p1 -i ../r9600-2_6_22.patch
  4. Nimeän 2.6-sarjan Linux-ytimelle sopivan Makefile-tiedoston niin että make-komento käyttää sitä:
     mv Makefile-2.6 Makefile</code

Kun tämän jälkeen käytän make-komentoa lähdekoodin kääntämiseen, sen suorittaminen onnistuu.

Huomautuksia