Kirjoittaja Aihe: mga_vid, kernelin? kääntäminen ja keskeneräisen käännön siivoaminen  (Luettu 2041 kertaa)

humhum

  • Käyttäjä
  • Viestejä: 10
    • Profiili
Hei! Olen ihan newbie vielä linuxin kanssa. Ajattelin nyt selittää tässä mitä olen tehnyt, niin että joku ystävällinen guru sieltä ehkä vastaisi minulle, että missä tilassa tämä tietokoneeni nyt sitten on ja olenko tehnyt jotain vakavaakin väärin...

Eli olen tässä nyt jo jonkin aikaa tuskaillut tämän mga_vid ajurin toiminta kuntoon laittamista...
Ensin asensin mplayerin Synapticista, mikä onnistuikin miltei ongelmitta. Mplayer käynnistyy ja videot pyörii, mutta kuvan kokoa ei saa jostain syystä muutettua. Etsiskelin englannin kielisiltä Ubuntu foorumeilta tietoa tästä ja pian selvisikin, että jokin video ajuri täytyi vaihtaa toiseen.

Lainaus
mplayer -vo help
Available video output drivers:
        xmga    Matrox G200/G4x0/G550 overlay in X11 window (using /dev/mga_vid)
        mga     Matrox G200/G4x0/G550 overlay (/dev/mga_vid)
        3dfx    3dfx (/dev/3dfx)
        tdfxfb  3Dfx Banshee/Voodoo3/Voodoo5
        xv      X11/Xv
        x11     X11 ( XImage/Shm )
        xover   General X11 driver for overlay capable video output drivers
        gl      X11 (OpenGL)
        gl2     X11 (OpenGL) - multiple textures version
        dga     DGA ( Direct Graphic Access V2.0 )
        sdl     SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
        ggi     General Graphics Interface (GGI) output
        fbdev   Framebuffer Device
        fbdev2  Framebuffer Device
        svga    SVGAlib
        aa      AAlib
        caca    libcaca
        vesa    VESA VBE 2.0 video output
        directfb        Direct Framebuffer Device
        dfbmga  DirectFB / Matrox G200/G400/G450/G550
        xvidix  X11 (VIDIX)
        cvidix  console VIDIX
        null    Null video output
        mpegpes Mpeg-PES to DVB card
        yuv4mpeg        yuv4mpeg output for mjpegtools
        png     PNG file
        jpeg    JPEG file
        gif89a  animated GIF output
        tga     Targa output
        pnm     PPM/PGM/PGMYUV file
        md5sum  md5sum of each frame

Ookei. Englannin kielisen foorumin mukaan -vx:llä pitäisi alkaa toimimaan, mutta tässä vaiheessa huomasin, että matroxin korteille on olemassa oma ajuri. Koitin käynnistää mplayerin sillä:

Lainaus
mplayer -vo xmga video.avi
.
.
.
open: No such file or directory
vo_mga: Couldn't open /dev/mga_vid
Error opening/initializing the selected video_out (-vo) device.


Exiting... (End of file)

No koitin etsiä tuota mga ajuria Synapticista, ja sieltä se löytyikin mga-vid-source paketista. Paketin ohjeissa luki, että jos sinulla on matroxin näytöohjain haluat ehdottomasti asentaa tämän ajurin. Ja minä halusin. Paketin lopussa vielä tällainen teksti:

Lainaus
This package just contain the sources needed to build the kernel module.
To actually use it, you'll have to compile it to match your installed
kernel. Refer to /usr/share/doc/mga-vid-source/README.Debian for
information on how to do this.

Eli ajuri pitäisi kääntää kerneliin, jos ymmärrän oikein. Seuraavaksi katsoinkin /usr/share/doc/mga-vid-source/README.Debian teksti tiedostoa:

Lainaus
mga-vid-source for Debian
-------------------------

You can compile the module by untarring the mga-vid.tar.gz tarball you'll
find in /usr/src , and then entering the top-level kernel source directory
of the kernel you want to compile the module for, and issue the command:

 # fakeroot make-kpkg modules_image

You should end up with a mga-vid-*.deb file in the parent directory, which
you can install as usual with 'dpkg -i'.
.
.
.

Purkasin Synapticilla haetun paketin /usr/src/ kansiossa, jolloin paketin sisältö meni alikansioon /usr/src/modules/
ja aloin miettiä mikä ihme on top-level kernel source directory? SItten googletin ja löytyi tällaista:
http://lists.debian.org/debian-amd64/2006/01/msg00024.html
Ja aikani pyörittyä ja hyörittyä löysin itseni tällaisesta threadistä englannin kielisillä foorumeilla:
http://ubuntuforums.org/showthread.php?t=85064

Tuoltain sain käsityksen, että minun pitäisi jostain ensin saada lähde koodi kernelilleni, että voisin kääntää tuon mga ajurin siihen...
Sitten aloinkin jatkamaan hommaa tuon ohjeen mukaan

Lainaus
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install kernel-package
sudo apt-get install gcc-3.4
sudo apt-get install libncurses5
sudo apt-get install libncurses5-dev
sudo apt-get install libqt3-mt-dev

eli hain kernelin lähdekoodin ohjeen mukaan ja se asentui /usr/src/ hakemistoon.. lisäksi asennettiin muitakin kääntämiseen liittyviä paketteja.

Sitten kerneli paketti purettiin ja se meni kansioon /usr/src/linux-source-2.6.12
Lainaus
cd /usr/src
sudo tar --bzip2 -xvf linux-source-2.6.12.tar.bz2

Sitten tehtiin jotain mystistä:

Lainaus
sudo ln -s /usr/src/linux-source-2.6.12 /usr/src/linux
cd /usr/src/linux

Ja lisää mystiikkaa:

Lainaus
sudo make oldconfig
sudo make menuconfig

menuconfigissa en muuttanut mitään säätöjä. Varmistin vain, että valikoissa oli oikea alusta valittuna i386. Lopuksi tallennettiin uusi konfiguraatio. Ja seuraavaksi ajettiin käskyjä:

Lainaus
su
CC=gcc-3.4
export CC
exit
CC=gcc-3.4
export CC

Ja sitten ryhdyttiin kääntämään ydintä:

Lainaus
cd /usr/src/linux
sudo make-kpkg clean
sudo make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers modules_image

MUTTA harmikseni tuo punainen osa tekstistä jäi kirjoittamatta! Joten käänsin ytimen ilman, että kone teki mitään noitten moduulejen asentamiseksi! Kääntäminen kesti n. 3-4 tuntia! Ja kaikki aivan turhaa.
Kääntämisen aikana tuli erilaisia varoituksia, joten en totta puhuen olisi uskaltanut tuota kerneliä asentaakkaan loppuun asti.

Ongelmana nyt on se, että en tiedä mitä kone todella teki ja kuinka pääsen takaisin lähtöruutuun? Ja uskallanko poistaa nuo tiedostot jota tuonne /usr/src/ kansioon on nyt kertynyt.

Noiden toimenpiteiden jälkeen olen vielä ajanut komennon

Lainaus
sudo make-kpkg clean

ja yrittänyt tuon jälkeen vielä tätä:

Lainaus
su
make-kpkg modules_image

jolloin tulee valitus, että
Lainaus
Please ignore the warning about overriding and ignoring targets above.
These are harmless. They are only invoked in a part of the process
that tries to snarf variable values for the conf.vars file.
echo done >  stamp-configure
The changelog says we are creating 2.6.12-custom, but I thought the version is 2.6.12
make: *** [modules_image] Error 1

Niin ja siis olisi mukavaa saada selvennystä joltain, ihan noista perus asioista, että mihin mikin liittyy ja miten olisin helpoiten asentanut tuon mga-vid-sources paketin?
Eli miksi joku yleensäkkään haluaa kääntää kernelin?
mitä siitä on hyötyä?
Itse ainakin kuvittelin niin, että tuo kerneli pitäisi kääntää ensin omaa käyttöjärjestelmääni vastaavaksi, että nuo ajurit voitaisiin asentaa tai jotain muuta sellaista...


 ???
Kiitos jos jaksoit lukea loppuun... ::)

mihatsu

  • Käyttäjä
  • Viestejä: 77
    • Profiili
No en nyt tuohon sun kääntöongelmaan ala sanomaan mitään mutta oletko nyt varma että sulla on zoomaus päällä siinä mplayerissä että se kuvan koon muutto edes on mahdollista? Eli sudo pico /etc/mplayer/mplayer.conf siellä ota kohdasta zoom se # merkki pois ja koklaa uusiksi.

Mika

humhum

  • Käyttäjä
  • Viestejä: 10
    • Profiili
no nyt videot suurenee :) kiitos vaan
Ihme kun ei tullut tollasta ehdotusta netistä vastaan...  :o