[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Wie Modul-deb aus vollkommen fremden Sourcen bauen?



On Tue, Sep 06, 2005 at 08:45:20PM +0200, Helmut Wollmersdorfer wrote:
> >Kannst Du es in Kurzfassung dokumentieren? Gern auch per Mail,
> Lieber hier, denn wenn Pakete bauen hier nicht onT ist - was sonst?
> Ich hab mir die Sourcen von kernel-patch-vserver2 genommen, und den 
> Source mal deleted. Den Source vom vt1211 Patch reingestellt. 
> Directories passend umbenannt.

Vielleicht liegt an der späten Stunde, vielleicht auch an meiner
Allgemeinverfassung, aber das da oben ist schon verwirrend genug. Du
hast den Source erst genommen und dann mal deleted? Heh?
Kannst Du das auch mit einem "griffigeren" Beispiel erklären? In einem
Jahr werd ich drüber lachen (vllt. auch schon morgen), aber jetzt
momentan klinkt sich da was aus...

> auch nicht mit debhelper installiert, muss man extra. Um es komplett zu 
> behirnen, empfiehlt sich ein tieferer Blick in den Source von 
> dh_installkpatches.

??

> Gebaut hab ich dann mit
> $ dpkg-buildpackage -b -rfakeroot -tc -uc -D

> Das gebaute Paket installiert sich dann mit
> # dpkg -i kernel-patch-vt1211.deb
> in /usr/src/patches
> und lässt sich mit
> # make-kpkg [...] --added-patches [...],vt1211 [...]

So, da sind noch mehrere Fragen offen:
für welchen Kernel hast Du mit dpkg-buildpackage gebaut? Ich muss für
einen Kernel bauen, den ich mit --append-to-version gebaut habe, und
nicht für einen generischen. Und das mit dem make-kpkg hab ich auch
nicht kapiert, was soll denn dieser Schritt?

Ich erzähl mal, was ich vorgehabt habe (und was so nicht funktioniert
hat), vielleicht kannst Du es mir anhand dessen erklären, also
abstrahiert von Deinem Beispiel (Du kannst auch ein vollkommen fremdes
Kernelmodul nehmen, so gibt es z.B. für madwifi keine offiziellen
Pakete in irgendeiner Debian-Version):

http://www.cr0.net:8040/code/network/aircrack/#q180
etwas weiter unten, "installing the hostap driver"
Problem (für mich):
In Stable ist hostap-driver 0.3.7, in testing ist 0.4.1. Der Patch aus
der URL ist für 0.3.9, und in meinem Anfängerdenken bin ich davon
ausgegangen, daß ein patch nicht unbedingt für jede Version
funktionsfähig ist, sondern nur für die Source, für die er geschrieben
wurde. Praktischerweise wird dort auch gleich ein .tar.gz der
Treibersourcen angeboten. Nun, wenn ich so vorgehe, wie dort
beschrieben, so erhalte ich hinterher Treiber auf dem System, auf
welchem ich kompiliere, noch dazu nicht als .deb installiert, kriege
ich also nicht wieder sauber aus dem System.

Und da wollte ich ansetzen. Habe das .tar.gz entpackt,
den Patch drauf angewendet und wollte dann "einfach" dpkg-buildpackage
darauf anwenden (und vorher dh_make). Und _das_ hat nicht funktioniert,
wohingegen das für "normale" Software, also keine Kernelmodule, sehr
wohl funktioniert hat.
Meine zwei Probleme: ich brauche ein .deb der Kernelmodule
a) für einen anderen Rechner als den, auf dem ich baue, und
b) auch noch für eine andere Kernelversion, als die, mit der ich baue.
   Ich baue auf einem AMD64 im chroot, auf dem Zielrechner wird aber
   ein selbstkompilierter (aus testing) 2.6.11-k7 benutzt, dem ich zu
   allem Überfluss mit --append-to-version auch noch einen eigenen
   Versionsnamen gegeben habe. Dies muss ich dem .deb also auch noch
   übergeben.
 Obwohl, nein: Das .deb muss ja die source enthalten, und
 dann muss mit make-kpkg modules_image wiederum das .deb für den
 Zielrechner erstellt werden, eigentlich muss ich also zwei .deb bauen.
 Ich muss also nur wissen, wie ich aus Debian-fremden Modulsourcen ein
 Debian-Modulsource-.deb baue.

ciao, Dirk
-- 
|      Akkuschrauber Kaufberatung and AEG GSM stuff       |
|   Visit my homepage:   http://www.nutrimatic.ping.de/   |
| FIDO: Dirk Salva 2:244/6305.10 Internet: dsalvaATgmx.de |
|    The "Ruhrgebiet", best place to live in Germany!     |



Reply to: