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ä.
Miten tehdä ajuri?
10
<50
Vastaukset
- 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
Ehkä tossa sulle ohje asentaa se.
https://linuxhint.com/install-make-ubuntu/ - 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
Voitasko leikkiä jotain tunnisteleikkiä?
Tietäisi ketä täällä käy kaipaamassa.. kerro jotain mikä liittyy sinuun ja häneen eikä muut tiedä. Vastaan itsekin kohta781805Tietysti jokainen ansaitsee
Hän varmasti ansaitsee vain parasta ja sopivinta tietenkin, suon sen onnen hänelle enemmän kuin mielelläni. Aika on nyt181689- 161504
50+ naiset kyl
Lemottaa sillille mut myös niitte kaka lemottaa pahlle ku kävin naiste veskis nuuhiin191193En voi sille mitään
Tulen niin pahalle tuulelle tästä paikasta nykyisin. Nähnyt ja lukenut jo kaiken ja teidän juttu on samaa illasta toisee121184Välitän sinusta mies
Kaikki mitä yritin kertoa tänään ei mennyt ihan putkeen..Joka jäi jälkeenpäin ajateltuna suoraan sanottuna harmittaa aiv61172hieman diabetes...
Kävin eilen kaverin kanssa keskusapteekissa kun on muutama kuukausi sitten tullut suomesta ja oli diabetes insuliinit lo121136Annetaanko olla vaan
Siinä se, tavallaan kysymys ja toteamuskin. Niin turhaa, niin rikkovaa. On niin äärettömän tärkeä, ja rakas olo.. N291121Miten joku voi käyttää koko elämänsä
siihen että nostelee täällä vanhoja ketjuja ja troIIaa niihin jotain linkkiä mitä kukaan ei avaa? Ihmisellä ei ole mitää61119Pakkoruotsi on leikkikieli, jota ei ole tarkoituskaan osata
Pakkoruotsi on leikkikieli. Ennen leikkikieltä sanottiin siansaksaksi, sitten keksittiin tilalle pakkoruotsi. Pakkoruot71104