Miten tehdä ajuri?

Anonyymi

Minulla on eräs laite jonka mukana tuli kansio jossa .c ja .h ja Makefile tiedostot. Ohjeena :

2. make all // make a new driver.

Ilmeisesti ajurin saisi käännettyä noiden tiedostojen avulla mutta en tiedä käskyjä.

10

238

    Vastaukset 10

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Mielestäni parempi lähestymistapa olisi kertoa, mistä laitteesta on kyse. Eli löytyiskö sille jo valmiit jakeluun sopivat ajurit.
      Varsin hyvät ohjeet ohjelmien tai ajureiden kääntämiseksi:
      https://www.linux.fi/wiki/Kääntäminen

      • Anonyymi

        Ei Linuxiin koodata ajureita, ydin tukee tuen ja ohjelma käyttää.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei Linuxiin koodata ajureita, ydin tukee tuen ja ohjelma käyttää.

        Vaan jos ytimessä ei ole tukea?


    • Anonyymi

      aika rajottatuneelta vaikuttaa toiminee vain yhdessä ja ainoassa kernel vesiossaa.... ja niitä kun tuhansia niin ei onnaa.
      Joutuu kirjoittaan itse ajurin haluamalleen kernel versiolle.
      Aika hankala hommma.

      • Anonyymi

        Itse asiassa näin huono tilanne ei ole: Ajuri käännetään kerneliä vasten ja riippuu mitä kernelin ominaisuuksia ajuri käyttää minkä verran joutuu tekemään lisätyötä että tämä onnistuu.
        Yleensä kernelin rajapinnoista pidetään kiinni kynsin ja hampain ja on täysin mahdollista, ettei muutoksia ajuriin juuri tule vaikka porttaisi kernelistä 2.6 kerneliin 5.x.
        Sen sijaan uudemmissa kerneleissä voi olla merkittynä rajapintoja deprekoiduiksi eli poistettaviksi. Tämä tarkoittaa sitä, että ajurin latauksen yhteydessä mm. kernel ilmoittaa ajurin olevan "deprecated" ja vaativan siis jatkossa toimia esim. rajapinnan vaihtamista uudempaan malliin. Tähän löytyy valmiita esimerkkejä kuinka homma tehdään pilvin pimein, koska ajureita on päivitetty uudelle rajapinnalle varmasti.
        Homman pihvi on kuitenkin tietoturva: Ajuri käännetään jokaiselle kernel-versiolle nimenomaan tästä syystä erikseen eli vaikka joku löytäisikin ajurista esim. puskurin ylivuoto-virheen, se vaikuttaa vain kyseiseen kerneliin, koska muissa kerneleissä on takuuvarmasti jotain muuta koodia ylivuodon kohdalla ja toiminta täten eri. Itse asiassa kerneli muodostaa nykyiselläänkin uuden lokaatio-taulun muistiin latauksen yhteydessä eli funktioiden paikat eivät säily muistissa - hyökkääjän pitäisi siis kirjoittaa koodinsa jokaisen bootin jälkeen uudestaan.


    • Anonyymi

      Kyllähän näitä tutoriaaleja löytyy, jos on kiinnostusta alkaa driveria kehittelemään:
      https://embetronicx.com/tutorials/linux/device-drivers/linux-device-driver-tutorial-programming/
      Tutustuisin useampaan esimerkkiin ja testailisin näitä esimerkkejä. Esim. DMA-siirto on kernelissä valmiiksi tuettuna ja sen käyttöönotto vaatii ymmärrystä ajurin toiminnasta ja tavasta, jolla kerneli ajuria suorittaa. Toinen paikka, joka voi aiheuttaa hankaluutta on timer-funktioiden käyttö eli asioiden ajastaminen tulevaisuuteen.

    • Anonyymi
    • Anonyymi

      no kirjoita se "make all" sillähähän tuo hoituu...

      • Anonyymi

        Tuo tosin vaatii, että koneelle on asennettu kehitystyökalut (kääntäjä, linkkeri yms). Ubuntussa tosin käsittääkseni on yleensä nuo asennettuna valmiiksi. Jos ei niiden asentamisen ei pitäisi olla vaikeaa.

        Hieman selitystä tuolle komennolle: lähdekoodimuodossa jaettavien pakettien mukana pitäisi olla tiedosto nimeltään Makefile, joka sisältää työkaluille (ne kääntäjä ja muut) ohjeet siitä, miten lähdekoodeista saadaan aikaan ajettava ohjelma, kirjasto tms. Tuo make-komento lukee Makefilen ja suorittaa sieltä annetun toiminnan (tässä tapauksessa siis all, joka kääntää ohjelman/ajurin).


    • Anonyymi

      Kaikenlaista kokeilin ja vaan virhettä pukkasi. Menin sitten windowsiin, tuplaklikkasin exeä ja ajuri oli asennettu. Laitekin toimii mainiosti. Ei tarvi enää vastailla.

    Ketjusta on poistettu 2 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Ampuminen kylpylässä

      Onko vornasen timbe käynyt hiukan kylpemässä vai mikä tämä ampumatapaus on kylpylässä? Tuntuu aika villi meno olevan naa
      Naantali
      91
      2116
    2. Kemijärvellä vesionnettomuus

      Pitkänsillan ja taiteilijanniemen välillä nähty henkilön painuvan veden alle. Mitä on tapahtunut? Onko vesihiisi taas as
      Kemijärvi
      39
      1373
    3. Hei, voitko kuunnella

      Voisitko auttaa minua selvittämään asioita? En halua ajaa sinua hulluuteen kanssani, en sitoa sinua, en esittää vaatimu
      Ikävä
      138
      1034
    4. Joku porukka lähtenyt täältä

      Ihmeen hiljainen on palsta nyt. Yleensä tänne tulvii aloituksia yms, mutta nyt on kyllä erikoisen hiljaista.
      Ikävä
      226
      991
    5. Miten yrität

      Vielä saada kaivattusi?
      Ikävä
      82
      856
    6. 95
      843
    7. Tuletko tänään

      Jos soitan? Niin... tuletko?🖤
      Ikävä
      79
      741
    8. Olipa yllätys

      Kuten hyvin moni tiesi/arvasi että valetta alusta loppuun toi *olemme ystäviä* satu. Instassaan käsi kädessä kuva kertoo
      Kotimaiset julkkisjuorut
      215
      734
    9. Se kun olit pitkästä aikaa silmieni edessä

      Oli kyllä sykähdyttävää. Tiedätkö, mikä laittaa minut ikävöimään sinua? Kun palautan mieleeni valtavan ihanan olemuksen,
      Ikävä
      53
      717
    10. Muutto auto hakee sut tänään!

      Tein sulle oman huoneen! mieheltä naiselle
      Ikävä
      92
      690
    11. On todella ikävää

      Todella ikävää, että asiat ovat menneet tällaisiksi. Tämä ei ollut missään vaiheessa tarkoitukseni. Olen tehnyt virheit
      Ikävä
      79
      638
    12. 46
      622
    13. Kiinni jäit

      Ei olisi uskonut sinusta
      Ikävä
      35
      611
    14. Ottanet yhteyttä

      Facebookissa,jos on jotain asiaa.Miehelle! T.M-nainen.
      Ikävä
      55
      517
    15. Oletteko koskaan torjuneet kaivattuanne?

      Minä olen, kun en silloin tajunnut vielä ihastuneeni. Yritin paikata tapahtunutta, mutta ei onnistunut enää.
      Ikävä
      27
      503
    16. Hämmentävä hetki: TTK:sta pudonnut Johanna Puhakka lataa pettyneenä: "Sitä ei voi kieltää"

      Johanna Puhakka ja Jurijs Jurza Trosenko tippuivat Tanssii Tähtien Kanssa -kisasta. Suositussa viihdeohjelmassa nähtiin
      Tanssii tähtien kanssa
      14
      470
    17. Nyt ei enää ole

      Mitään mikä pitäisi mut hiljaa, kaikesta. Tämä on muutamalle henkilölle täällä.
      Ikävä
      35
      464
    18. Kai sä mies ymmärrät..

      ..ettet jättänyt vaihtoahtoa. Tottakai toivon vielä, että pystyisit toimimaan niin että asiat korjaantuisivat. Vahvast
      Ikävä
      28
      462
    19. Jos kaivattusi olisi

      Vieressäsi niin mitä tekisit?
      Ikävä
      40
      437
    20. En tiedä mitä sanoa

      Siksi en vastannut😔
      Ikävä
      33
      433
    Aihe